From 08a604aad1569499fcc448935d4e0c0cd320a968 Mon Sep 17 00:00:00 2001 From: William Candillon Date: Mon, 2 Apr 2012 10:01:52 +0200 Subject: [PATCH 1/3] Add live XQuery syntax checking. --- Makefile.dryice.js | 2 +- .../kitchen-sink/kitchen-sink-uncompressed.js | 382 +- build/kitchen-sink.html | 9 +- build/src/mode-xquery-noconflict.js | 2 +- .../mode-xquery-uncompressed-noconflict.js | 19 +- build/src/mode-xquery-uncompressed.js | 19 +- build/src/mode-xquery.js | 2 +- lib/ace/mode/xquery.js | 17 + lib/ace/mode/xquery/XQueryLexer.js | 9236 +++++ lib/ace/mode/xquery/XQueryParser.js | 30883 ++++++++++++++++ lib/ace/mode/xquery/antlr3-all.js | 5963 +++ lib/ace/mode/xquery/xquery.js | 51 + lib/ace/mode/xquery_worker.js | 100 + 13 files changed, 46306 insertions(+), 379 deletions(-) create mode 100644 lib/ace/mode/xquery/XQueryLexer.js create mode 100644 lib/ace/mode/xquery/XQueryParser.js create mode 100644 lib/ace/mode/xquery/antlr3-all.js create mode 100644 lib/ace/mode/xquery/xquery.js create mode 100644 lib/ace/mode/xquery_worker.js diff --git a/Makefile.dryice.js b/Makefile.dryice.js index b743a5b3..894af0ae 100755 --- a/Makefile.dryice.js +++ b/Makefile.dryice.js @@ -231,7 +231,7 @@ function buildAce(aceProject, options) { "tomorrow_night_blue", "tomorrow_night_bright", "tomorrow_night_eighties", "twilight", "vibrant_ink" ], - workers: ["javascript", "coffee", "css", "json"], + workers: ["javascript", "coffee", "css", "json", "xquery"], keybindings: ["vim", "emacs"] }; diff --git a/build/demo/kitchen-sink/kitchen-sink-uncompressed.js b/build/demo/kitchen-sink/kitchen-sink-uncompressed.js index 2ebdc902..669f05d7 100644 --- a/build/demo/kitchen-sink/kitchen-sink-uncompressed.js +++ b/build/demo/kitchen-sink/kitchen-sink-uncompressed.js @@ -244,11 +244,7 @@ exportAce(ACE_NAMESPACE); * ***** END LICENSE BLOCK ***** */ -<<<<<<< HEAD -define('kitchen-sink/demo', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/lib/net', 'ace/lib/event', 'ace/theme/textmate', 'ace/edit_session', 'ace/undomanager', 'ace/keyboard/keybinding/vim', 'ace/keyboard/keybinding/emacs', 'ace/keyboard/hash_handler', 'ace/mode/c_cpp', 'ace/mode/clojure', 'ace/mode/coffee', 'ace/mode/coldfusion', 'ace/mode/csharp', 'ace/mode/css', 'ace/mode/groovy', 'ace/mode/haxe', 'ace/mode/html', 'ace/mode/java', 'ace/mode/javascript', 'ace/mode/json', 'ace/mode/latex', 'ace/mode/lua', 'ace/mode/markdown', 'ace/mode/ocaml', 'ace/mode/perl', 'ace/mode/pgsql', 'ace/mode/php', 'ace/mode/powershell', 'ace/mode/python', 'ace/mode/scala', 'ace/mode/scss', 'ace/mode/ruby', 'ace/mode/sql', 'ace/mode/SVG', 'ace/mode/text', 'ace/mode/textile', 'ace/mode/xquery', 'ace/mode/xml', 'text!kitchen-sink/docs/plaintext.txt', 'text!kitchen-sink/docs/javascript.js', 'text!kitchen-sink/docs/coffeescript.coffee', 'text!kitchen-sink/docs/json.json', 'text!kitchen-sink/docs/css.css', 'text!kitchen-sink/docs/scss.scss', 'text!kitchen-sink/docs/html.html', 'text!kitchen-sink/docs/xml.xml', 'text!kitchen-sink/docs/svg.svg', 'text!kitchen-sink/docs/php.php', 'text!kitchen-sink/docs/coldfusion.cfm', 'text!kitchen-sink/docs/python.py', 'text!kitchen-sink/docs/ruby.rb', 'text!kitchen-sink/docs/perl.pl', 'text!kitchen-sink/docs/ocaml.ml', 'text!kitchen-sink/docs/lua.lua', 'text!kitchen-sink/docs/java.java', 'text!kitchen-sink/docs/clojure.clj', 'text!kitchen-sink/docs/groovy.groovy', 'text!kitchen-sink/docs/scala.scala', 'text!kitchen-sink/docs/csharp.cs', 'text!kitchen-sink/docs/powershell.ps1', 'text!kitchen-sink/docs/cpp.cpp', 'text!kitchen-sink/docs/Haxe.hx', 'text!kitchen-sink/docs/xquery.xq', 'text!kitchen-sink/docs/markdown.md', 'text!kitchen-sink/docs/textile.textile', 'text!kitchen-sink/docs/latex.tex', 'text!kitchen-sink/docs/sql.sql', 'text!kitchen-sink/docs/pgsql.pgsql', 'ace/split'], function(require, exports, module) { -======= -define('kitchen-sink/demo', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/config', 'ace/lib/event', 'ace/theme/textmate', 'ace/edit_session', 'ace/undomanager', 'ace/keyboard/keybinding/vim', 'ace/keyboard/keybinding/emacs', 'ace/keyboard/hash_handler', 'text!kitchen-sink/docs/plaintext.txt', 'text!kitchen-sink/docs/javascript.js', 'text!kitchen-sink/docs/coffeescript.coffee', 'text!kitchen-sink/docs/json.json', 'text!kitchen-sink/docs/css.css', 'text!kitchen-sink/docs/scss.scss', 'text!kitchen-sink/docs/html.html', 'text!kitchen-sink/docs/xml.xml', 'text!kitchen-sink/docs/svg.svg', 'text!kitchen-sink/docs/php.php', 'text!kitchen-sink/docs/coldfusion.cfm', 'text!kitchen-sink/docs/python.py', 'text!kitchen-sink/docs/ruby.rb', 'text!kitchen-sink/docs/perl.pl', 'text!kitchen-sink/docs/ocaml.ml', 'text!kitchen-sink/docs/lua.lua', 'text!kitchen-sink/docs/java.java', 'text!kitchen-sink/docs/clojure.clj', 'text!kitchen-sink/docs/groovy.groovy', 'text!kitchen-sink/docs/scala.scala', 'text!kitchen-sink/docs/csharp.cs', 'text!kitchen-sink/docs/powershell.ps1', 'text!kitchen-sink/docs/cpp.cpp', 'text!kitchen-sink/docs/Haxe.hx', 'text!kitchen-sink/docs/sh.sh', 'text!kitchen-sink/docs/markdown.md', 'text!kitchen-sink/docs/textile.textile', 'text!kitchen-sink/docs/latex.tex', 'text!kitchen-sink/docs/sql.sql', 'text!kitchen-sink/docs/pgsql.pgsql', 'ace/split'], function(require, exports, module) { ->>>>>>> 9b4f97565d0c02c561a2e275d567d8611b91465f +define('kitchen-sink/demo', ['require', 'exports', 'module' , 'ace/lib/fixoldbrowsers', 'ace/config', 'ace/lib/event', 'ace/theme/textmate', 'ace/edit_session', 'ace/undomanager', 'ace/keyboard/keybinding/vim', 'ace/keyboard/keybinding/emacs', 'ace/keyboard/hash_handler', 'text!kitchen-sink/docs/plaintext.txt', 'text!kitchen-sink/docs/javascript.js', 'text!kitchen-sink/docs/coffeescript.coffee', 'text!kitchen-sink/docs/json.json', 'text!kitchen-sink/docs/css.css', 'text!kitchen-sink/docs/scss.scss', 'text!kitchen-sink/docs/html.html', 'text!kitchen-sink/docs/xml.xml', 'text!kitchen-sink/docs/svg.svg', 'text!kitchen-sink/docs/php.php', 'text!kitchen-sink/docs/coldfusion.cfm', 'text!kitchen-sink/docs/python.py', 'text!kitchen-sink/docs/ruby.rb', 'text!kitchen-sink/docs/perl.pl', 'text!kitchen-sink/docs/ocaml.ml', 'text!kitchen-sink/docs/lua.lua', 'text!kitchen-sink/docs/java.java', 'text!kitchen-sink/docs/clojure.clj', 'text!kitchen-sink/docs/groovy.groovy', 'text!kitchen-sink/docs/scala.scala', 'text!kitchen-sink/docs/csharp.cs', 'text!kitchen-sink/docs/powershell.ps1', 'text!kitchen-sink/docs/cpp.cpp', 'text!kitchen-sink/docs/Haxe.hx', 'text!kitchen-sink/docs/sh.sh', 'text!kitchen-sink/docs/xquery.xq', 'text!kitchen-sink/docs/markdown.md', 'text!kitchen-sink/docs/textile.textile', 'text!kitchen-sink/docs/latex.tex', 'text!kitchen-sink/docs/sql.sql', 'text!kitchen-sink/docs/pgsql.pgsql', 'ace/split'], function(require, exports, module) { require("ace/lib/fixoldbrowsers"); require("ace/config").init(); @@ -294,38 +290,6 @@ Mode.prototype.supportsFile = function(filename) { }; var modes = [ -<<<<<<< HEAD - new Mode("c_cpp", "C/C++", require("ace/mode/c_cpp").Mode, ["c", "cpp", "cxx", "h", "hpp"]), - new Mode("clojure", "Clojure", require("ace/mode/clojure").Mode, ["clj"]), - new Mode("coffee", "CoffeeScript", require("ace/mode/coffee").Mode, ["coffee"]), - new Mode("coldfusion", "ColdFusion", require("ace/mode/coldfusion").Mode, ["cfm"]), - new Mode("csharp", "C#", require("ace/mode/csharp").Mode, ["cs"]), - new Mode("css", "CSS", require("ace/mode/css").Mode, ["css"]), - new Mode("groovy", "Groovy", require("ace/mode/groovy").Mode, ["groovy"]), - new Mode("haxe", "haXe", require("ace/mode/haxe").Mode, ["hx"]), - new Mode("html", "HTML", require("ace/mode/html").Mode, ["html", "htm"]), - new Mode("java", "Java", require("ace/mode/java").Mode, ["java"]), - new Mode("javascript", "JavaScript", require("ace/mode/javascript").Mode, ["js"]), - new Mode("json", "JSON", require("ace/mode/json").Mode, ["json"]), - new Mode("latex", "LaTeX", require("ace/mode/latex").Mode, ["tex"]), - new Mode("lua", "Lua", require("ace/mode/lua").Mode, ["lua"]), - new Mode("markdown", "Markdown", require("ace/mode/markdown").Mode, ["md", "markdown"]), - new Mode("ocaml", "OCaml", require("ace/mode/ocaml").Mode, ["ml", "mli"]), - new Mode("perl", "Perl", require("ace/mode/perl").Mode, ["pl", "pm"]), - new Mode("pgsql", "pgSQL",require("ace/mode/pgsql").Mode, ["pgsql", "sql"]), - new Mode("php", "PHP",require("ace/mode/php").Mode, ["php"]), - new Mode("powershell", "Powershell", require("ace/mode/powershell").Mode, ["ps1"]), - new Mode("python", "Python", require("ace/mode/python").Mode, ["py"]), - new Mode("scala", "Scala", require("ace/mode/scala").Mode, ["scala"]), - new Mode("scss", "SCSS", require("ace/mode/scss").Mode, ["scss"]), - new Mode("ruby", "Ruby", require("ace/mode/ruby").Mode, ["rb"]), - new Mode("sql", "SQL", require("ace/mode/sql").Mode, ["sql"]), - new Mode("svg", "SVG", require("ace/mode/SVG").Mode, ["svg"]), - new Mode("text", "Text", require("ace/mode/text").Mode, ["txt"]), - new Mode("textile", "Textile", require("ace/mode/textile").Mode, ["textile"]), - new Mode("xquery", "XQuery", require("ace/mode/xquery").Mode, ["xq"]), - new Mode("xml", "XML", require("ace/mode/xml").Mode, ["xml"]) -======= new Mode("c_cpp", "C/C++", ["c", "cpp", "cxx", "h", "hpp"]), new Mode("clojure", "Clojure", ["clj"]), new Mode("coffee", "CoffeeScript", ["coffee"]), @@ -355,8 +319,8 @@ var modes = [ new Mode("text", "Text", ["txt"]), new Mode("textile", "Textile", ["textile"]), new Mode("xml", "XML", ["xml"]), - new Mode("sh", "SH", ["sh"]) ->>>>>>> 9b4f97565d0c02c561a2e275d567d8611b91465f + new Mode("sh", "SH", ["sh"]), + new Mode("xquery", "XQuery", ["xq"]) ]; modesByName = {}; @@ -464,13 +428,12 @@ var docs = [ require("text!./docs/Haxe.hx") ), new Doc( -<<<<<<< HEAD - "xquery", "XQuery", - require("text!./docs/xquery.xq") -======= "sh", "SH", require("text!./docs/sh.sh") ->>>>>>> 9b4f97565d0c02c561a2e275d567d8611b91465f + ), + new Doc( + "xquery", "XQuery", + require("text!./docs/xquery.xq") ), new WrappedDoc( "markdown", "Markdown", @@ -9835,321 +9798,6 @@ function HashHandler(config) { exports.HashHandler = HashHandler; }); -/* - * eXide - web-based XQuery IDE - * - * Copyright (C) 2011 Wolfgang Meier - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) { -"use strict"; - -var oop = require("../lib/oop"); -var TextMode = require("./text").Mode; -var Tokenizer = require("../tokenizer").Tokenizer; -var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules; -var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour; -var Range = require("../range").Range; - -var Mode = function(parent) { - this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules()); - this.$behaviour = new XQueryBehaviour(parent); -}; - -oop.inherits(Mode, TextMode); - -(function() { - - this.getNextLineIndent = function(state, line, tab) { - var indent = this.$getIndent(line); - var match = line.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/); - if (match) - indent += tab; - return indent; - }; - - this.checkOutdent = function(state, line, input) { - if (! /^\s+$/.test(line)) - return false; - - return /^\s*[\}\)]/.test(input); - }; - - this.autoOutdent = function(state, doc, row) { - var line = doc.getLine(row); - var match = line.match(/^(\s*[\}\)])/); - - if (!match) return 0; - - var column = match[1].length; - var openBracePos = doc.findMatchingBracket({row: row, column: column}); - - if (!openBracePos || openBracePos.row == row) return 0; - - var indent = this.$getIndent(doc.getLine(openBracePos.row)); - doc.replace(new Range(row, 0, row, column-1), indent); - }; - - this.$getIndent = function(line) { - var match = line.match(/^(\s+)/); - if (match) { - return match[1]; - } - - return ""; - }; - - this.toggleCommentLines = function(state, doc, startRow, endRow) { - var i, line; - var outdent = true; - var re = /^\s*\(:(.*):\)/; - - for (i=startRow; i<= endRow; i++) { - if (!re.test(doc.getLine(i))) { - outdent = false; - break; - } - } - - var range = new Range(0, 0, 0, 0); - for (i=startRow; i<= endRow; i++) { - line = doc.getLine(i); - range.start.row = i; - range.end.row = i; - range.end.column = line.length; - - doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)"); - } - }; -}).call(Mode.prototype); - -exports.Mode = Mode; -}); -/* - * eXide - web-based XQuery IDE - * - * Copyright (C) 2011 Wolfgang Meier - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -define('ace/mode/xquery_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) { -"use strict"; - -var oop = require("../lib/oop"); -var lang = require("../lib/lang"); -var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; - -var XQueryHighlightRules = function() { - - var keywords = lang.arrayToMap( - ("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|" + - "switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|" + - "using|stemming|" + - "while|" + - "external|" + - "if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains").split("|") - ); - - // regexp must not have capturing parentheses - // regexps are ordered -> the first match is used - - this.$rules = { - start : [ { - token : "text", - regex : "<\\!\\[CDATA\\[", - next : "cdata" - }, { - token : "xml_pe", - regex : "<\\?.*?\\?>" - }, { - token : "comment", - regex : "<\\!--", - next : "comment" - }, { - token : "comment", - regex : "\\(:", - next : "comment" - }, { - token : "text", // opening tag - regex : "<\\/?", - next : "tag" - }, { - token : "constant", // number - regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" - }, { - token : "variable", // variable - regex : "\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b" - }, { - token: "string", - regex : '".*?"' - }, { - token: "string", - regex : "'.*?'" - }, { - token : "text", - regex : "\\s+" - }, { - token: "support.function", - regex: "\\w[\\w+_\\-:]+(?=\\()" - }, { - token : function(value) { - if (keywords[value]) - return "keyword"; - else - return "identifier"; - }, - regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" - }, { - token: "keyword.operator", - regex: "\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt" - }, { - token: "lparen", - regex: "[[({]" - }, { - token: "rparen", - regex: "[\\])}]" - } ], - - tag : [ { - token : "text", - regex : ">", - next : "start" - }, { - token : "meta.tag", - regex : "[-_a-zA-Z0-9:]+" - }, { - token : "text", - regex : "\\s+" - }, { - token : "string", - regex : '".*?"' - }, { - token : "string", - regex : "'.*?'" - } ], - - cdata : [ { - token : "text", - regex : "\\]\\]>", - next : "start" - }, { - token : "text", - regex : "\\s+" - }, { - token : "text", - regex : "(?:[^\\]]|\\](?!\\]>))+" - } ], - - comment : [ { - token : "comment", - regex : ".*?-->", - next : "start" - }, { - token: "comment", - regex : ".*:\\)", - next : "start" - }, { - token : "comment", - regex : ".+" - } ] - }; -}; - -oop.inherits(XQueryHighlightRules, TextHighlightRules); - -exports.XQueryHighlightRules = XQueryHighlightRules; -}); -/* -* eXide - web-based XQuery IDE -* -* Copyright (C) 2011 Wolfgang Meier -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ -define('ace/mode/behaviour/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/mode/behaviour/cstyle'], function(require, exports, module) { -"use strict"; - - var oop = require("../../lib/oop"); - var Behaviour = require('../behaviour').Behaviour; - var CstyleBehaviour = require('./cstyle').CstyleBehaviour; - - var XQueryBehaviour = function (parent) { - - this.inherit(CstyleBehaviour, ["braces", "parens", "string_dquotes"]); // Get string behaviour - this.parent = parent; - - this.add("brackets", "insertion", function (state, action, editor, session, text) { - if (text == "\n") { - var cursor = editor.getCursorPosition(); - var line = session.doc.getLine(cursor.row); - var rightChars = line.substring(cursor.column, cursor.column + 2); - if (rightChars == ' 0 && line.charAt(cursor.column - 1) == "<") { - line = line.substring(0, cursor.column) + "/" + line.substring(cursor.column); - var lines = session.doc.getAllLines(); - lines[cursor.row] = line; - // call mode helper to close the tag if possible - parent.exec("closeTag", lines.join(session.doc.getNewLineCharacter()), cursor.row); - } - } - return false; - }); - } - oop.inherits(XQueryBehaviour, Behaviour); - - exports.XQueryBehaviour = XQueryBehaviour; -}); define("text!kitchen-sink/docs/plaintext.txt", [], "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n" + "\n" + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\n" + @@ -10826,13 +10474,6 @@ define("text!kitchen-sink/docs/Haxe.hx", [], "class Haxe \n" + " }\n" + "}"); -<<<<<<< HEAD -define("text!kitchen-sink/docs/xquery.xq", [], "xquery version \"1.0\";\n" + - "let $message := \"Hello World!\"\n" + - "return \n" + - " {$message}\n" + - "\n" + -======= define("text!kitchen-sink/docs/sh.sh", [], "#!/bin/sh\n" + "\n" + "# Script to open a browser to current branch\n" + @@ -10871,7 +10512,14 @@ define("text!kitchen-sink/docs/sh.sh", [], "#!/bin/sh\n" + "else\n" + " exit 1\n" + "fi\n" + ->>>>>>> 9b4f97565d0c02c561a2e275d567d8611b91465f + ""); + +define("text!kitchen-sink/docs/xquery.xq", [], "xquery version \"1.0\";\n" + + "\n" + + "let $message := \"Hello World!\"\n" + + "return \n" + + " {$message}\n" + + "\n" + ""); define("text!kitchen-sink/docs/markdown.md", [], "Ace (Ajax.org Cloud9 Editor)\n" + diff --git a/build/kitchen-sink.html b/build/kitchen-sink.html index c8549603..99bf1ec3 100644 --- a/build/kitchen-sink.html +++ b/build/kitchen-sink.html @@ -10,13 +10,8 @@ diff --git a/build/src/mode-xquery-noconflict.js b/build/src/mode-xquery-noconflict.js index f9fae28b..888530ff 100644 --- a/build/src/mode-xquery-noconflict.js +++ b/build/src/mode-xquery-noconflict.js @@ -1 +1 @@ -ace.define("ace/mode/xquery",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xquery_highlight_rules","ace/mode/behaviour/xquery","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./xquery_highlight_rules").XQueryHighlightRules,h=a("./behaviour/xquery").XQueryBehaviour,i=a("../range").Range,j=function(a){this.$tokenizer=new f((new g).getRules()),this.$behaviour=new h(a)};d.inherits(j,e),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=b.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return e&&(d+=c),d},this.checkOutdent=function(a,b,c){return/^\s+$/.test(b)?/^\s*[\}\)]/.test(c):!1},this.autoOutdent=function(a,b,c){var d=b.getLine(c),e=d.match(/^(\s*[\}\)])/);if(!e)return 0;var f=e[1].length,g=b.findMatchingBracket({row:c,column:f});if(!g||g.row==c)return 0;var h=this.$getIndent(b.getLine(g.row));b.replace(new i(c,0,c,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""},this.toggleCommentLines=function(a,b,c,d){var e,f,g=!0,h=/^\s*\(:(.*):\)/;for(e=c;e<=d;e++)if(!h.test(b.getLine(e))){g=!1;break}var j=new i(0,0,0,0);for(e=c;e<=d;e++)f=b.getLine(e),j.start.row=e,j.end.row=e,j.end.column=f.length,b.replace(j,g?f.match(h)[1]:"(:"+f+":)")}}.call(j.prototype),b.Mode=j}),ace.define("ace/mode/xquery_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|using|stemming|while|external|if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains".split("|"));this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",regex:"<\\!--",next:"comment"},{token:"comment",regex:"\\(:",next:"comment"},{token:"text",regex:"<\\/?",next:"tag"},{token:"constant",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"variable",regex:"\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"text",regex:"\\s+"},{token:"support.function",regex:"\\w[\\w+_\\-:]+(?=\\()"},{token:function(b){return a[b]?"keyword":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"}],tag:[{token:"text",regex:">",next:"start"},{token:"meta.tag",regex:"[-_a-zA-Z0-9:]+"},{token:"text",regex:"\\s+"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",regex:".*:\\)",next:"start"},{token:"comment",regex:".+"}]}};d.inherits(g,f),b.XQueryHighlightRules=g}),ace.define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(a){this.inherit(f,["braces","parens","string_dquotes"]),this.parent=a,this.add("brackets","insertion",function(a,b,c,d,e){if(e=="\n"){var f=c.getCursorPosition(),g=d.doc.getLine(f.row),h=g.substring(f.column,f.column+2);if(h=="0&&h.charAt(g.column-1)=="<"){h=h.substring(0,g.column)+"/"+h.substring(g.column);var i=e.doc.getAllLines();i[g.row]=h,a.exec("closeTag",i.join(e.doc.getNewLineCharacter()),g.row)}}return!1})};d.inherits(g,e),b.XQueryBehaviour=g}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;of.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}) \ No newline at end of file +ace.define("ace/mode/xquery",["require","exports","module","ace/worker/worker_client","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xquery_highlight_rules","ace/mode/behaviour/xquery","ace/range"],function(a,b,c){"use strict";var d=a("../worker/worker_client").WorkerClient,e=a("../lib/oop"),f=a("./text").Mode,g=a("../tokenizer").Tokenizer,h=a("./xquery_highlight_rules").XQueryHighlightRules,i=a("./behaviour/xquery").XQueryBehaviour,j=a("../range").Range,k=function(a){this.$tokenizer=new g((new h).getRules()),this.$behaviour=new i(a)};e.inherits(k,f),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=b.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return e&&(d+=c),d},this.checkOutdent=function(a,b,c){return/^\s+$/.test(b)?/^\s*[\}\)]/.test(c):!1},this.autoOutdent=function(a,b,c){var d=b.getLine(c),e=d.match(/^(\s*[\}\)])/);if(!e)return 0;var f=e[1].length,g=b.findMatchingBracket({row:c,column:f});if(!g||g.row==c)return 0;var h=this.$getIndent(b.getLine(g.row));b.replace(new j(c,0,c,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""},this.toggleCommentLines=function(a,b,c,d){var e,f,g=!0,h=/^\s*\(:(.*):\)/;for(e=c;e<=d;e++)if(!h.test(b.getLine(e))){g=!1;break}var i=new j(0,0,0,0);for(e=c;e<=d;e++)f=b.getLine(e),i.start.row=e,i.end.row=e,i.end.column=f.length,b.replace(i,g?f.match(h)[1]:"(:"+f+":)")},this.createWorker=function(a){var b=new d(["ace"],"worker-xquery.js","ace/mode/xquery_worker","XQueryWorker");return b.attachToDocument(a.getDocument()),b.on("error",function(b){a.setAnnotations([b.data])}),b.on("ok",function(b){a.clearAnnotations()}),b}}.call(k.prototype),b.Mode=k}),ace.define("ace/mode/xquery_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|using|stemming|while|external|if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains".split("|"));this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",regex:"<\\!--",next:"comment"},{token:"comment",regex:"\\(:",next:"comment"},{token:"text",regex:"<\\/?",next:"tag"},{token:"constant",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"variable",regex:"\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"text",regex:"\\s+"},{token:"support.function",regex:"\\w[\\w+_\\-:]+(?=\\()"},{token:function(b){return a[b]?"keyword":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"}],tag:[{token:"text",regex:">",next:"start"},{token:"meta.tag",regex:"[-_a-zA-Z0-9:]+"},{token:"text",regex:"\\s+"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",regex:".*:\\)",next:"start"},{token:"comment",regex:".+"}]}};d.inherits(g,f),b.XQueryHighlightRules=g}),ace.define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(a){this.inherit(f,["braces","parens","string_dquotes"]),this.parent=a,this.add("brackets","insertion",function(a,b,c,d,e){if(e=="\n"){var f=c.getCursorPosition(),g=d.doc.getLine(f.row),h=g.substring(f.column,f.column+2);if(h=="0&&h.charAt(g.column-1)=="<"){h=h.substring(0,g.column)+"/"+h.substring(g.column);var i=e.doc.getAllLines();i[g.row]=h,a.exec("closeTag",i.join(e.doc.getNewLineCharacter()),g.row)}}return!1})};d.inherits(g,e),b.XQueryBehaviour=g}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;of.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}) \ No newline at end of file diff --git a/build/src/mode-xquery-uncompressed-noconflict.js b/build/src/mode-xquery-uncompressed-noconflict.js index 613ec8a7..0d587871 100644 --- a/build/src/mode-xquery-uncompressed-noconflict.js +++ b/build/src/mode-xquery-uncompressed-noconflict.js @@ -16,9 +16,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -ace.define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) { +ace.define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) { "use strict"; +var WorkerClient = require("../worker/worker_client").WorkerClient; var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var Tokenizer = require("../tokenizer").Tokenizer; @@ -96,6 +97,22 @@ oop.inherits(Mode, TextMode); doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)"); } }; + + this.createWorker = function(session) { + var worker = new WorkerClient(["ace"], "worker-xquery.js", "ace/mode/xquery_worker", "XQueryWorker"); + worker.attachToDocument(session.getDocument()); + + worker.on("error", function(e) { + session.setAnnotations([e.data]); + }); + + worker.on("ok", function(e) { + session.clearAnnotations(); + }); + + return worker; + }; + }).call(Mode.prototype); exports.Mode = Mode; diff --git a/build/src/mode-xquery-uncompressed.js b/build/src/mode-xquery-uncompressed.js index 66fee6ef..4cd08c5e 100644 --- a/build/src/mode-xquery-uncompressed.js +++ b/build/src/mode-xquery-uncompressed.js @@ -16,9 +16,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) { +define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) { "use strict"; +var WorkerClient = require("../worker/worker_client").WorkerClient; var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var Tokenizer = require("../tokenizer").Tokenizer; @@ -96,6 +97,22 @@ oop.inherits(Mode, TextMode); doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)"); } }; + + this.createWorker = function(session) { + var worker = new WorkerClient(["ace"], "worker-xquery.js", "ace/mode/xquery_worker", "XQueryWorker"); + worker.attachToDocument(session.getDocument()); + + worker.on("error", function(e) { + session.setAnnotations([e.data]); + }); + + worker.on("ok", function(e) { + session.clearAnnotations(); + }); + + return worker; + }; + }).call(Mode.prototype); exports.Mode = Mode; diff --git a/build/src/mode-xquery.js b/build/src/mode-xquery.js index ffa32527..221d33cf 100644 --- a/build/src/mode-xquery.js +++ b/build/src/mode-xquery.js @@ -1 +1 @@ -define("ace/mode/xquery",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xquery_highlight_rules","ace/mode/behaviour/xquery","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./xquery_highlight_rules").XQueryHighlightRules,h=a("./behaviour/xquery").XQueryBehaviour,i=a("../range").Range,j=function(a){this.$tokenizer=new f((new g).getRules()),this.$behaviour=new h(a)};d.inherits(j,e),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=b.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return e&&(d+=c),d},this.checkOutdent=function(a,b,c){return/^\s+$/.test(b)?/^\s*[\}\)]/.test(c):!1},this.autoOutdent=function(a,b,c){var d=b.getLine(c),e=d.match(/^(\s*[\}\)])/);if(!e)return 0;var f=e[1].length,g=b.findMatchingBracket({row:c,column:f});if(!g||g.row==c)return 0;var h=this.$getIndent(b.getLine(g.row));b.replace(new i(c,0,c,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""},this.toggleCommentLines=function(a,b,c,d){var e,f,g=!0,h=/^\s*\(:(.*):\)/;for(e=c;e<=d;e++)if(!h.test(b.getLine(e))){g=!1;break}var j=new i(0,0,0,0);for(e=c;e<=d;e++)f=b.getLine(e),j.start.row=e,j.end.row=e,j.end.column=f.length,b.replace(j,g?f.match(h)[1]:"(:"+f+":)")}}.call(j.prototype),b.Mode=j}),define("ace/mode/xquery_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|using|stemming|while|external|if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains".split("|"));this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",regex:"<\\!--",next:"comment"},{token:"comment",regex:"\\(:",next:"comment"},{token:"text",regex:"<\\/?",next:"tag"},{token:"constant",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"variable",regex:"\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"text",regex:"\\s+"},{token:"support.function",regex:"\\w[\\w+_\\-:]+(?=\\()"},{token:function(b){return a[b]?"keyword":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"}],tag:[{token:"text",regex:">",next:"start"},{token:"meta.tag",regex:"[-_a-zA-Z0-9:]+"},{token:"text",regex:"\\s+"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",regex:".*:\\)",next:"start"},{token:"comment",regex:".+"}]}};d.inherits(g,f),b.XQueryHighlightRules=g}),define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(a){this.inherit(f,["braces","parens","string_dquotes"]),this.parent=a,this.add("brackets","insertion",function(a,b,c,d,e){if(e=="\n"){var f=c.getCursorPosition(),g=d.doc.getLine(f.row),h=g.substring(f.column,f.column+2);if(h=="0&&h.charAt(g.column-1)=="<"){h=h.substring(0,g.column)+"/"+h.substring(g.column);var i=e.doc.getAllLines();i[g.row]=h,a.exec("closeTag",i.join(e.doc.getNewLineCharacter()),g.row)}}return!1})};d.inherits(g,e),b.XQueryBehaviour=g}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;of.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}) \ No newline at end of file +define("ace/mode/xquery",["require","exports","module","ace/worker/worker_client","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xquery_highlight_rules","ace/mode/behaviour/xquery","ace/range"],function(a,b,c){"use strict";var d=a("../worker/worker_client").WorkerClient,e=a("../lib/oop"),f=a("./text").Mode,g=a("../tokenizer").Tokenizer,h=a("./xquery_highlight_rules").XQueryHighlightRules,i=a("./behaviour/xquery").XQueryBehaviour,j=a("../range").Range,k=function(a){this.$tokenizer=new g((new h).getRules()),this.$behaviour=new i(a)};e.inherits(k,f),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=b.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return e&&(d+=c),d},this.checkOutdent=function(a,b,c){return/^\s+$/.test(b)?/^\s*[\}\)]/.test(c):!1},this.autoOutdent=function(a,b,c){var d=b.getLine(c),e=d.match(/^(\s*[\}\)])/);if(!e)return 0;var f=e[1].length,g=b.findMatchingBracket({row:c,column:f});if(!g||g.row==c)return 0;var h=this.$getIndent(b.getLine(g.row));b.replace(new j(c,0,c,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""},this.toggleCommentLines=function(a,b,c,d){var e,f,g=!0,h=/^\s*\(:(.*):\)/;for(e=c;e<=d;e++)if(!h.test(b.getLine(e))){g=!1;break}var i=new j(0,0,0,0);for(e=c;e<=d;e++)f=b.getLine(e),i.start.row=e,i.end.row=e,i.end.column=f.length,b.replace(i,g?f.match(h)[1]:"(:"+f+":)")},this.createWorker=function(a){var b=new d(["ace"],"worker-xquery.js","ace/mode/xquery_worker","XQueryWorker");return b.attachToDocument(a.getDocument()),b.on("error",function(b){a.setAnnotations([b.data])}),b.on("ok",function(b){a.clearAnnotations()}),b}}.call(k.prototype),b.Mode=k}),define("ace/mode/xquery_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|using|stemming|while|external|if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains".split("|"));this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",regex:"<\\!--",next:"comment"},{token:"comment",regex:"\\(:",next:"comment"},{token:"text",regex:"<\\/?",next:"tag"},{token:"constant",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"variable",regex:"\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"text",regex:"\\s+"},{token:"support.function",regex:"\\w[\\w+_\\-:]+(?=\\()"},{token:function(b){return a[b]?"keyword":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"}],tag:[{token:"text",regex:">",next:"start"},{token:"meta.tag",regex:"[-_a-zA-Z0-9:]+"},{token:"text",regex:"\\s+"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",regex:".*:\\)",next:"start"},{token:"comment",regex:".+"}]}};d.inherits(g,f),b.XQueryHighlightRules=g}),define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(a){this.inherit(f,["braces","parens","string_dquotes"]),this.parent=a,this.add("brackets","insertion",function(a,b,c,d,e){if(e=="\n"){var f=c.getCursorPosition(),g=d.doc.getLine(f.row),h=g.substring(f.column,f.column+2);if(h=="0&&h.charAt(g.column-1)=="<"){h=h.substring(0,g.column)+"/"+h.substring(g.column);var i=e.doc.getAllLines();i[g.row]=h,a.exec("closeTag",i.join(e.doc.getNewLineCharacter()),g.row)}}return!1})};d.inherits(g,e),b.XQueryBehaviour=g}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(g!=="")return{text:'"'+g+'"',selection:!1};var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column-1,h.column);if(j=="\\")return null;var k=d.getTokens(f.start.row,f.start.row)[0].tokens,l=0,m,n=-1;for(var o=0;of.start.column)break;l+=k[o].value.length}if(!m||n<0&&m.type!=="comment"&&(m.type!=="string"||f.start.column!==m.value.length+l-1&&m.value.lastIndexOf('"')===m.value.length-1))return{text:'""',selection:[1,1]};if(m&&m.type==="string"){var p=i.substring(h.column,h.column+1);if(p=='"')return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=='"'){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}) \ No newline at end of file diff --git a/lib/ace/mode/xquery.js b/lib/ace/mode/xquery.js index c9ab2d41..907524e0 100644 --- a/lib/ace/mode/xquery.js +++ b/lib/ace/mode/xquery.js @@ -19,6 +19,7 @@ define(function(require, exports, module) { "use strict"; +var WorkerClient = require("../worker/worker_client").WorkerClient; var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var Tokenizer = require("../tokenizer").Tokenizer; @@ -96,6 +97,22 @@ oop.inherits(Mode, TextMode); doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)"); } }; + + this.createWorker = function(session) { + var worker = new WorkerClient(["ace"], "worker-xquery.js", "ace/mode/xquery_worker", "XQueryWorker"); + worker.attachToDocument(session.getDocument()); + + worker.on("error", function(e) { + session.setAnnotations([e.data]); + }); + + worker.on("ok", function(e) { + session.clearAnnotations(); + }); + + return worker; + }; + }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/xquery/XQueryLexer.js b/lib/ace/mode/xquery/XQueryLexer.js new file mode 100644 index 00000000..a97f6bec --- /dev/null +++ b/lib/ace/mode/xquery/XQueryLexer.js @@ -0,0 +1,9236 @@ +// $ANTLR 3.3 Nov 30, 2010 12:50:56 XQueryLexer.g 2012-04-01 14:44:23 + +/******************************************************************************* + * Copyright (c) 2008, 2009 28msec Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Gabriel Petrovay (28msec) - initial API and implementation + * Sam Neth (Mark Logic) + *******************************************************************************/ + +define(function(require, exports, module) { + +var org = require("./antlr3-all").org; + +var XQueryLexer = exports.XQueryLexer = function(input, state) { +// alternate constructor @todo +// public XQueryLexer(CharStream input) +// public XQueryLexer(CharStream input, RecognizerSharedState state) { + if (!state) { + state = new org.antlr.runtime.RecognizerSharedState(); + } + + (function(){ + }).call(this); + + this.dfa19 = new XQueryLexer.DFA19(this); + XQueryLexer.superclass.constructor.call(this, input, state); + + +}; + +org.antlr.lang.augmentObject(XQueryLexer, { + EOF: -1, + L_QuotAttrContentChar: 4, + L_AposAttrContentChar: 5, + L_ElementContentChar: 6, + L_CDataSection: 7, + L_PredefinedEntityRef: 8, + L_CharRef: 9, + ESCAPE_LBRACKET: 10, + ESCAPE_RBRACKET: 11, + ESCAPE_APOS: 12, + ESCAPE_QUOT: 13, + CDATA_START: 14, + CDATA_END: 15, + ANCESTOR: 16, + ANCESTOR_OR_SELF: 17, + AND: 18, + AS: 19, + ASCENDING: 20, + AT: 21, + ATTRIBUTE: 22, + BASE_URI: 23, + BOUNDARY_SPACE: 24, + BY: 25, + CASE: 26, + CAST: 27, + CASTABLE: 28, + CHILD: 29, + COLLATION: 30, + COMMENT: 31, + CONSTRUCTION: 32, + COPY_NAMESPACES: 33, + DECLARE: 34, + DEFAULT: 35, + DESCENDANT: 36, + DESCENDANT_OR_SELF: 37, + DESCENDING: 38, + DIV: 39, + DOCUMENT: 40, + DOCUMENT_NODE: 41, + ELEMENT: 42, + ELSE: 43, + EMPTY: 44, + EMPTY_SEQUENCE: 45, + ENCODING: 46, + EQ: 47, + EVERY: 48, + EXCEPT: 49, + EXTERNAL: 50, + FOLLOWING: 51, + FOLLOWING_SIBLING: 52, + FOR: 53, + FUNCTION: 54, + GE: 55, + GREATEST: 56, + GT: 57, + IDIV: 58, + IF: 59, + IMPORT: 60, + IN: 61, + INHERIT: 62, + INSTANCE: 63, + INTERSECT: 64, + IS: 65, + ITEM: 66, + LAX: 67, + LE: 68, + LEAST: 69, + LET: 70, + LT: 71, + MOD: 72, + MODULE: 73, + NAMESPACE: 74, + NE: 75, + NO_INHERIT: 76, + NO_PRESERVE: 77, + NODE: 78, + OF: 79, + OPTION: 80, + OR: 81, + ORDER: 82, + ORDERED: 83, + ORDERING: 84, + PARENT: 85, + PRECEDING: 86, + PRECEDING_SIBLING: 87, + PRESERVE: 88, + PROCESSING_INSTRUCTION: 89, + RETURN: 90, + SATISFIES: 91, + SCHEMA: 92, + SCHEMA_ATTRIBUTE: 93, + SCHEMA_ELEMENT: 94, + SELF: 95, + SOME: 96, + STABLE: 97, + STRICT: 98, + STRIP: 99, + TEXT: 100, + THEN: 101, + TO: 102, + TREAT: 103, + TYPESWITCH: 104, + UNION: 105, + UNORDERED: 106, + VALIDATE: 107, + VARIABLE: 108, + VERSION: 109, + WHERE: 110, + XQUERY: 111, + CATCH: 112, + CONTEXT: 113, + COUNT: 114, + DECIMAL_FORMAT: 115, + DECIMAL_SEPARATOR: 116, + DIGIT: 117, + END: 118, + GROUP: 119, + GROUPING_SEPARATOR: 120, + INFINITY: 121, + MINUS_SIGN: 122, + NAMESPACE_NODE: 123, + NAN: 124, + NEXT: 125, + ONLY: 126, + OUTER: 127, + PATTERN_SEPARATOR: 128, + PERCENT: 129, + PER_MILLE: 130, + PREVIOUS: 131, + SLIDING: 132, + START: 133, + TRY: 134, + TUMBLING: 135, + WHEN: 136, + WINDOW: 137, + ZERO_DIGIT: 138, + AFTER: 139, + BEFORE: 140, + COPY: 141, + DELETE: 142, + FIRST: 143, + INSERT: 144, + INTO: 145, + LAST: 146, + MODIFY: 147, + NODES: 148, + RENAME: 149, + REPLACE: 150, + REVALIDATION: 151, + SKIP: 152, + UPDATING: 153, + VALUE: 154, + WITH: 155, + BLOCK: 156, + CONSTANT: 157, + EXIT: 158, + RETURNING: 159, + SEQUENTIAL: 160, + SET: 161, + SIMPLE: 162, + WHILE: 163, + EVAL: 164, + USING: 165, + APPEND_ONLY: 166, + AUTOMATICALLY: 167, + CHECK: 168, + COLLECTION: 169, + CONSTRAINT: 170, + CONST: 171, + EQUALITY: 172, + FOREACH: 173, + FOREIGN: 174, + FROM: 175, + INDEX: 176, + INTEGRITY: 177, + KEY: 178, + MAINTAINED: 179, + MANUALLY: 180, + MUTABLE: 181, + NON: 182, + ON: 183, + QUEUE: 184, + RANGE: 185, + READ_ONLY: 186, + UNIQUE: 187, + BINARY: 188, + PRIVATE: 189, + AMP_ER: 190, + APOS_ER: 191, + QUOT_ER: 192, + LPAREN: 193, + RPAREN: 194, + DOLLAR: 195, + LBRACKET: 196, + RBRACKET: 197, + LSQUARE: 198, + RSQUARE: 199, + EQUAL: 200, + BIND: 201, + NOTEQUAL: 202, + AMP: 203, + COMMA: 204, + QUESTION: 205, + STAR: 206, + PLUS: 207, + MINUS: 208, + SMALLER: 209, + GREATER: 210, + SMALLEREQ: 211, + GREATEREQ: 212, + SMALLER_SMALLER: 213, + GREATER_GREATER: 214, + SLASH: 215, + SLASH_SLASH: 216, + DOT: 217, + DOT_DOT: 218, + COLON: 219, + COLON_COLON: 220, + EMPTY_CLOSE_TAG: 221, + CLOSE_TAG: 222, + SEMICOLON: 223, + VBAR: 224, + PRAGMA_START: 225, + PRAGMA_END: 226, + XML_COMMENT_START: 227, + XML_COMMENT_END: 228, + PI_START: 229, + PI_END: 230, + ATTR_SIGN: 231, + CHARREF_DEC: 232, + CHARREF_HEX: 233, + APOS: 234, + QUOT: 235, + NCNameStartChar: 236, + NCNameChar: 237, + L_NCName: 238, + Letter: 239, + HexLetter: 240, + Digit: 241, + Digits: 242, + S: 243, + SU: 244, + L_Pragma: 245, + L_DirCommentConstructor: 246, + L_DirPIConstructor: 247, + L_IntegerLiteral: 248, + L_DecimalLiteral: 249, + L_DoubleLiteral: 250, + L_Comment: 251, + L_AnyChar: 252 +}); + +(function(){ +var HIDDEN = org.antlr.runtime.Token.HIDDEN_CHANNEL, + EOF = org.antlr.runtime.Token.EOF; +org.antlr.lang.extend(XQueryLexer, org.antlr.runtime.Lexer, { + EOF : -1, + L_QuotAttrContentChar : 4, + L_AposAttrContentChar : 5, + L_ElementContentChar : 6, + L_CDataSection : 7, + L_PredefinedEntityRef : 8, + L_CharRef : 9, + ESCAPE_LBRACKET : 10, + ESCAPE_RBRACKET : 11, + ESCAPE_APOS : 12, + ESCAPE_QUOT : 13, + CDATA_START : 14, + CDATA_END : 15, + ANCESTOR : 16, + ANCESTOR_OR_SELF : 17, + AND : 18, + AS : 19, + ASCENDING : 20, + AT : 21, + ATTRIBUTE : 22, + BASE_URI : 23, + BOUNDARY_SPACE : 24, + BY : 25, + CASE : 26, + CAST : 27, + CASTABLE : 28, + CHILD : 29, + COLLATION : 30, + COMMENT : 31, + CONSTRUCTION : 32, + COPY_NAMESPACES : 33, + DECLARE : 34, + DEFAULT : 35, + DESCENDANT : 36, + DESCENDANT_OR_SELF : 37, + DESCENDING : 38, + DIV : 39, + DOCUMENT : 40, + DOCUMENT_NODE : 41, + ELEMENT : 42, + ELSE : 43, + EMPTY : 44, + EMPTY_SEQUENCE : 45, + ENCODING : 46, + EQ : 47, + EVERY : 48, + EXCEPT : 49, + EXTERNAL : 50, + FOLLOWING : 51, + FOLLOWING_SIBLING : 52, + FOR : 53, + FUNCTION : 54, + GE : 55, + GREATEST : 56, + GT : 57, + IDIV : 58, + IF : 59, + IMPORT : 60, + IN : 61, + INHERIT : 62, + INSTANCE : 63, + INTERSECT : 64, + IS : 65, + ITEM : 66, + LAX : 67, + LE : 68, + LEAST : 69, + LET : 70, + LT : 71, + MOD : 72, + MODULE : 73, + NAMESPACE : 74, + NE : 75, + NO_INHERIT : 76, + NO_PRESERVE : 77, + NODE : 78, + OF : 79, + OPTION : 80, + OR : 81, + ORDER : 82, + ORDERED : 83, + ORDERING : 84, + PARENT : 85, + PRECEDING : 86, + PRECEDING_SIBLING : 87, + PRESERVE : 88, + PROCESSING_INSTRUCTION : 89, + RETURN : 90, + SATISFIES : 91, + SCHEMA : 92, + SCHEMA_ATTRIBUTE : 93, + SCHEMA_ELEMENT : 94, + SELF : 95, + SOME : 96, + STABLE : 97, + STRICT : 98, + STRIP : 99, + TEXT : 100, + THEN : 101, + TO : 102, + TREAT : 103, + TYPESWITCH : 104, + UNION : 105, + UNORDERED : 106, + VALIDATE : 107, + VARIABLE : 108, + VERSION : 109, + WHERE : 110, + XQUERY : 111, + CATCH : 112, + CONTEXT : 113, + COUNT : 114, + DECIMAL_FORMAT : 115, + DECIMAL_SEPARATOR : 116, + DIGIT : 117, + END : 118, + GROUP : 119, + GROUPING_SEPARATOR : 120, + INFINITY : 121, + MINUS_SIGN : 122, + NAMESPACE_NODE : 123, + NAN : 124, + NEXT : 125, + ONLY : 126, + OUTER : 127, + PATTERN_SEPARATOR : 128, + PERCENT : 129, + PER_MILLE : 130, + PREVIOUS : 131, + SLIDING : 132, + START : 133, + TRY : 134, + TUMBLING : 135, + WHEN : 136, + WINDOW : 137, + ZERO_DIGIT : 138, + AFTER : 139, + BEFORE : 140, + COPY : 141, + DELETE : 142, + FIRST : 143, + INSERT : 144, + INTO : 145, + LAST : 146, + MODIFY : 147, + NODES : 148, + RENAME : 149, + REPLACE : 150, + REVALIDATION : 151, + SKIP : 152, + UPDATING : 153, + VALUE : 154, + WITH : 155, + BLOCK : 156, + CONSTANT : 157, + EXIT : 158, + RETURNING : 159, + SEQUENTIAL : 160, + SET : 161, + SIMPLE : 162, + WHILE : 163, + EVAL : 164, + USING : 165, + APPEND_ONLY : 166, + AUTOMATICALLY : 167, + CHECK : 168, + COLLECTION : 169, + CONSTRAINT : 170, + CONST : 171, + EQUALITY : 172, + FOREACH : 173, + FOREIGN : 174, + FROM : 175, + INDEX : 176, + INTEGRITY : 177, + KEY : 178, + MAINTAINED : 179, + MANUALLY : 180, + MUTABLE : 181, + NON : 182, + ON : 183, + QUEUE : 184, + RANGE : 185, + READ_ONLY : 186, + UNIQUE : 187, + BINARY : 188, + PRIVATE : 189, + AMP_ER : 190, + APOS_ER : 191, + QUOT_ER : 192, + LPAREN : 193, + RPAREN : 194, + DOLLAR : 195, + LBRACKET : 196, + RBRACKET : 197, + LSQUARE : 198, + RSQUARE : 199, + EQUAL : 200, + BIND : 201, + NOTEQUAL : 202, + AMP : 203, + COMMA : 204, + QUESTION : 205, + STAR : 206, + PLUS : 207, + MINUS : 208, + SMALLER : 209, + GREATER : 210, + SMALLEREQ : 211, + GREATEREQ : 212, + SMALLER_SMALLER : 213, + GREATER_GREATER : 214, + SLASH : 215, + SLASH_SLASH : 216, + DOT : 217, + DOT_DOT : 218, + COLON : 219, + COLON_COLON : 220, + EMPTY_CLOSE_TAG : 221, + CLOSE_TAG : 222, + SEMICOLON : 223, + VBAR : 224, + PRAGMA_START : 225, + PRAGMA_END : 226, + XML_COMMENT_START : 227, + XML_COMMENT_END : 228, + PI_START : 229, + PI_END : 230, + ATTR_SIGN : 231, + CHARREF_DEC : 232, + CHARREF_HEX : 233, + APOS : 234, + QUOT : 235, + NCNameStartChar : 236, + NCNameChar : 237, + L_NCName : 238, + Letter : 239, + HexLetter : 240, + Digit : 241, + Digits : 242, + S : 243, + SU : 244, + L_Pragma : 245, + L_DirCommentConstructor : 246, + L_DirPIConstructor : 247, + L_IntegerLiteral : 248, + L_DecimalLiteral : 249, + L_DoubleLiteral : 250, + L_Comment : 251, + L_AnyChar : 252, + getGrammarFileName: function() { return "XQueryLexer.g"; } +}); +org.antlr.lang.augmentObject(XQueryLexer.prototype, { + // $ANTLR start ANCESTOR + mANCESTOR: function() { + try { + var _type = this.ANCESTOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:43:29: ( 'ancestor' ) + // XQueryLexer.g:43:31: 'ancestor' + this.match("ancestor"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ANCESTOR", + + // $ANTLR start ANCESTOR_OR_SELF + mANCESTOR_OR_SELF: function() { + try { + var _type = this.ANCESTOR_OR_SELF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:44:29: ( 'ancestor-or-self' ) + // XQueryLexer.g:44:31: 'ancestor-or-self' + this.match("ancestor-or-self"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ANCESTOR_OR_SELF", + + // $ANTLR start AND + mAND: function() { + try { + var _type = this.AND; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:45:29: ( 'and' ) + // XQueryLexer.g:45:31: 'and' + this.match("and"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AND", + + // $ANTLR start AS + mAS: function() { + try { + var _type = this.AS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:46:29: ( 'as' ) + // XQueryLexer.g:46:31: 'as' + this.match("as"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AS", + + // $ANTLR start ASCENDING + mASCENDING: function() { + try { + var _type = this.ASCENDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:47:29: ( 'ascending' ) + // XQueryLexer.g:47:31: 'ascending' + this.match("ascending"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ASCENDING", + + // $ANTLR start AT + mAT: function() { + try { + var _type = this.AT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:48:29: ( 'at' ) + // XQueryLexer.g:48:31: 'at' + this.match("at"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AT", + + // $ANTLR start ATTRIBUTE + mATTRIBUTE: function() { + try { + var _type = this.ATTRIBUTE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:49:29: ( 'attribute' ) + // XQueryLexer.g:49:31: 'attribute' + this.match("attribute"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ATTRIBUTE", + + // $ANTLR start BASE_URI + mBASE_URI: function() { + try { + var _type = this.BASE_URI; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:50:29: ( 'base-uri' ) + // XQueryLexer.g:50:31: 'base-uri' + this.match("base-uri"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BASE_URI", + + // $ANTLR start BOUNDARY_SPACE + mBOUNDARY_SPACE: function() { + try { + var _type = this.BOUNDARY_SPACE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:51:29: ( 'boundary-space' ) + // XQueryLexer.g:51:31: 'boundary-space' + this.match("boundary-space"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BOUNDARY_SPACE", + + // $ANTLR start BY + mBY: function() { + try { + var _type = this.BY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:52:29: ( 'by' ) + // XQueryLexer.g:52:31: 'by' + this.match("by"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BY", + + // $ANTLR start CASE + mCASE: function() { + try { + var _type = this.CASE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:53:29: ( 'case' ) + // XQueryLexer.g:53:31: 'case' + this.match("case"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CASE", + + // $ANTLR start CAST + mCAST: function() { + try { + var _type = this.CAST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:54:29: ( 'cast' ) + // XQueryLexer.g:54:31: 'cast' + this.match("cast"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CAST", + + // $ANTLR start CASTABLE + mCASTABLE: function() { + try { + var _type = this.CASTABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:55:29: ( 'castable' ) + // XQueryLexer.g:55:31: 'castable' + this.match("castable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CASTABLE", + + // $ANTLR start CHILD + mCHILD: function() { + try { + var _type = this.CHILD; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:56:29: ( 'child' ) + // XQueryLexer.g:56:31: 'child' + this.match("child"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHILD", + + // $ANTLR start COLLATION + mCOLLATION: function() { + try { + var _type = this.COLLATION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:57:29: ( 'collation' ) + // XQueryLexer.g:57:31: 'collation' + this.match("collation"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLLATION", + + // $ANTLR start COMMENT + mCOMMENT: function() { + try { + var _type = this.COMMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:58:29: ( 'comment' ) + // XQueryLexer.g:58:31: 'comment' + this.match("comment"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COMMENT", + + // $ANTLR start CONSTRUCTION + mCONSTRUCTION: function() { + try { + var _type = this.CONSTRUCTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:59:29: ( 'construction' ) + // XQueryLexer.g:59:31: 'construction' + this.match("construction"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONSTRUCTION", + + // $ANTLR start COPY_NAMESPACES + mCOPY_NAMESPACES: function() { + try { + var _type = this.COPY_NAMESPACES; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:60:29: ( 'copy-namespaces' ) + // XQueryLexer.g:60:31: 'copy-namespaces' + this.match("copy-namespaces"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COPY_NAMESPACES", + + // $ANTLR start DECLARE + mDECLARE: function() { + try { + var _type = this.DECLARE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:61:29: ( 'declare' ) + // XQueryLexer.g:61:31: 'declare' + this.match("declare"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DECLARE", + + // $ANTLR start DEFAULT + mDEFAULT: function() { + try { + var _type = this.DEFAULT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:62:29: ( 'default' ) + // XQueryLexer.g:62:31: 'default' + this.match("default"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DEFAULT", + + // $ANTLR start DESCENDANT + mDESCENDANT: function() { + try { + var _type = this.DESCENDANT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:63:29: ( 'descendant' ) + // XQueryLexer.g:63:31: 'descendant' + this.match("descendant"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DESCENDANT", + + // $ANTLR start DESCENDANT_OR_SELF + mDESCENDANT_OR_SELF: function() { + try { + var _type = this.DESCENDANT_OR_SELF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:64:29: ( 'descendant-or-self' ) + // XQueryLexer.g:64:31: 'descendant-or-self' + this.match("descendant-or-self"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DESCENDANT_OR_SELF", + + // $ANTLR start DESCENDING + mDESCENDING: function() { + try { + var _type = this.DESCENDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:65:29: ( 'descending' ) + // XQueryLexer.g:65:31: 'descending' + this.match("descending"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DESCENDING", + + // $ANTLR start DIV + mDIV: function() { + try { + var _type = this.DIV; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:66:29: ( 'div' ) + // XQueryLexer.g:66:31: 'div' + this.match("div"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DIV", + + // $ANTLR start DOCUMENT + mDOCUMENT: function() { + try { + var _type = this.DOCUMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:67:29: ( 'document' ) + // XQueryLexer.g:67:31: 'document' + this.match("document"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOCUMENT", + + // $ANTLR start DOCUMENT_NODE + mDOCUMENT_NODE: function() { + try { + var _type = this.DOCUMENT_NODE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:68:29: ( 'document-node' ) + // XQueryLexer.g:68:31: 'document-node' + this.match("document-node"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOCUMENT_NODE", + + // $ANTLR start ELEMENT + mELEMENT: function() { + try { + var _type = this.ELEMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:69:29: ( 'element' ) + // XQueryLexer.g:69:31: 'element' + this.match("element"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ELEMENT", + + // $ANTLR start ELSE + mELSE: function() { + try { + var _type = this.ELSE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:70:29: ( 'else' ) + // XQueryLexer.g:70:31: 'else' + this.match("else"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ELSE", + + // $ANTLR start EMPTY + mEMPTY: function() { + try { + var _type = this.EMPTY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:71:29: ( 'empty' ) + // XQueryLexer.g:71:31: 'empty' + this.match("empty"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EMPTY", + + // $ANTLR start EMPTY_SEQUENCE + mEMPTY_SEQUENCE: function() { + try { + var _type = this.EMPTY_SEQUENCE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:72:29: ( 'empty-sequence' ) + // XQueryLexer.g:72:31: 'empty-sequence' + this.match("empty-sequence"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EMPTY_SEQUENCE", + + // $ANTLR start ENCODING + mENCODING: function() { + try { + var _type = this.ENCODING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:73:29: ( 'encoding' ) + // XQueryLexer.g:73:31: 'encoding' + this.match("encoding"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ENCODING", + + // $ANTLR start EQ + mEQ: function() { + try { + var _type = this.EQ; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:74:29: ( 'eq' ) + // XQueryLexer.g:74:31: 'eq' + this.match("eq"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EQ", + + // $ANTLR start EVERY + mEVERY: function() { + try { + var _type = this.EVERY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:75:29: ( 'every' ) + // XQueryLexer.g:75:31: 'every' + this.match("every"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EVERY", + + // $ANTLR start EXCEPT + mEXCEPT: function() { + try { + var _type = this.EXCEPT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:76:29: ( 'except' ) + // XQueryLexer.g:76:31: 'except' + this.match("except"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EXCEPT", + + // $ANTLR start EXTERNAL + mEXTERNAL: function() { + try { + var _type = this.EXTERNAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:77:29: ( 'external' ) + // XQueryLexer.g:77:31: 'external' + this.match("external"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EXTERNAL", + + // $ANTLR start FOLLOWING + mFOLLOWING: function() { + try { + var _type = this.FOLLOWING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:78:29: ( 'following' ) + // XQueryLexer.g:78:31: 'following' + this.match("following"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOLLOWING", + + // $ANTLR start FOLLOWING_SIBLING + mFOLLOWING_SIBLING: function() { + try { + var _type = this.FOLLOWING_SIBLING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:79:29: ( 'following-sibling' ) + // XQueryLexer.g:79:31: 'following-sibling' + this.match("following-sibling"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOLLOWING_SIBLING", + + // $ANTLR start FOR + mFOR: function() { + try { + var _type = this.FOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:80:29: ( 'for' ) + // XQueryLexer.g:80:31: 'for' + this.match("for"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOR", + + // $ANTLR start FUNCTION + mFUNCTION: function() { + try { + var _type = this.FUNCTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:81:29: ( 'function' ) + // XQueryLexer.g:81:31: 'function' + this.match("function"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FUNCTION", + + // $ANTLR start GE + mGE: function() { + try { + var _type = this.GE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:82:29: ( 'ge' ) + // XQueryLexer.g:82:31: 'ge' + this.match("ge"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GE", + + // $ANTLR start GREATEST + mGREATEST: function() { + try { + var _type = this.GREATEST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:83:29: ( 'greatest' ) + // XQueryLexer.g:83:31: 'greatest' + this.match("greatest"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATEST", + + // $ANTLR start GT + mGT: function() { + try { + var _type = this.GT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:84:29: ( 'gt' ) + // XQueryLexer.g:84:31: 'gt' + this.match("gt"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GT", + + // $ANTLR start IDIV + mIDIV: function() { + try { + var _type = this.IDIV; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:85:29: ( 'idiv' ) + // XQueryLexer.g:85:31: 'idiv' + this.match("idiv"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IDIV", + + // $ANTLR start IF + mIF: function() { + try { + var _type = this.IF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:86:29: ( 'if' ) + // XQueryLexer.g:86:31: 'if' + this.match("if"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IF", + + // $ANTLR start IMPORT + mIMPORT: function() { + try { + var _type = this.IMPORT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:87:29: ( 'import' ) + // XQueryLexer.g:87:31: 'import' + this.match("import"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IMPORT", + + // $ANTLR start IN + mIN: function() { + try { + var _type = this.IN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:88:29: ( 'in' ) + // XQueryLexer.g:88:31: 'in' + this.match("in"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IN", + + // $ANTLR start INHERIT + mINHERIT: function() { + try { + var _type = this.INHERIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:89:29: ( 'inherit' ) + // XQueryLexer.g:89:31: 'inherit' + this.match("inherit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INHERIT", + + // $ANTLR start INSTANCE + mINSTANCE: function() { + try { + var _type = this.INSTANCE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:90:29: ( 'instance' ) + // XQueryLexer.g:90:31: 'instance' + this.match("instance"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INSTANCE", + + // $ANTLR start INTERSECT + mINTERSECT: function() { + try { + var _type = this.INTERSECT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:91:29: ( 'intersect' ) + // XQueryLexer.g:91:31: 'intersect' + this.match("intersect"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INTERSECT", + + // $ANTLR start IS + mIS: function() { + try { + var _type = this.IS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:92:29: ( 'is' ) + // XQueryLexer.g:92:31: 'is' + this.match("is"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IS", + + // $ANTLR start ITEM + mITEM: function() { + try { + var _type = this.ITEM; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:93:29: ( 'item' ) + // XQueryLexer.g:93:31: 'item' + this.match("item"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ITEM", + + // $ANTLR start LAX + mLAX: function() { + try { + var _type = this.LAX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:94:29: ( 'lax' ) + // XQueryLexer.g:94:31: 'lax' + this.match("lax"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LAX", + + // $ANTLR start LE + mLE: function() { + try { + var _type = this.LE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:95:29: ( 'le' ) + // XQueryLexer.g:95:31: 'le' + this.match("le"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LE", + + // $ANTLR start LEAST + mLEAST: function() { + try { + var _type = this.LEAST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:96:29: ( 'least' ) + // XQueryLexer.g:96:31: 'least' + this.match("least"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LEAST", + + // $ANTLR start LET + mLET: function() { + try { + var _type = this.LET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:97:29: ( 'let' ) + // XQueryLexer.g:97:31: 'let' + this.match("let"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LET", + + // $ANTLR start LT + mLT: function() { + try { + var _type = this.LT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:98:29: ( 'lt' ) + // XQueryLexer.g:98:31: 'lt' + this.match("lt"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LT", + + // $ANTLR start MOD + mMOD: function() { + try { + var _type = this.MOD; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:99:29: ( 'mod' ) + // XQueryLexer.g:99:31: 'mod' + this.match("mod"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MOD", + + // $ANTLR start MODULE + mMODULE: function() { + try { + var _type = this.MODULE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:100:29: ( 'module' ) + // XQueryLexer.g:100:31: 'module' + this.match("module"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MODULE", + + // $ANTLR start NAMESPACE + mNAMESPACE: function() { + try { + var _type = this.NAMESPACE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:101:29: ( 'namespace' ) + // XQueryLexer.g:101:31: 'namespace' + this.match("namespace"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NAMESPACE", + + // $ANTLR start NE + mNE: function() { + try { + var _type = this.NE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:102:29: ( 'ne' ) + // XQueryLexer.g:102:31: 'ne' + this.match("ne"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NE", + + // $ANTLR start NO_INHERIT + mNO_INHERIT: function() { + try { + var _type = this.NO_INHERIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:103:29: ( 'no-inherit' ) + // XQueryLexer.g:103:31: 'no-inherit' + this.match("no-inherit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NO_INHERIT", + + // $ANTLR start NO_PRESERVE + mNO_PRESERVE: function() { + try { + var _type = this.NO_PRESERVE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:104:29: ( 'no-preserve' ) + // XQueryLexer.g:104:31: 'no-preserve' + this.match("no-preserve"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NO_PRESERVE", + + // $ANTLR start NODE + mNODE: function() { + try { + var _type = this.NODE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:105:29: ( 'node' ) + // XQueryLexer.g:105:31: 'node' + this.match("node"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NODE", + + // $ANTLR start OF + mOF: function() { + try { + var _type = this.OF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:106:29: ( 'of' ) + // XQueryLexer.g:106:31: 'of' + this.match("of"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OF", + + // $ANTLR start OPTION + mOPTION: function() { + try { + var _type = this.OPTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:107:29: ( 'option' ) + // XQueryLexer.g:107:31: 'option' + this.match("option"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OPTION", + + // $ANTLR start OR + mOR: function() { + try { + var _type = this.OR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:108:29: ( 'or' ) + // XQueryLexer.g:108:31: 'or' + this.match("or"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OR", + + // $ANTLR start ORDER + mORDER: function() { + try { + var _type = this.ORDER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:109:29: ( 'order' ) + // XQueryLexer.g:109:31: 'order' + this.match("order"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ORDER", + + // $ANTLR start ORDERED + mORDERED: function() { + try { + var _type = this.ORDERED; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:110:29: ( 'ordered' ) + // XQueryLexer.g:110:31: 'ordered' + this.match("ordered"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ORDERED", + + // $ANTLR start ORDERING + mORDERING: function() { + try { + var _type = this.ORDERING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:111:29: ( 'ordering' ) + // XQueryLexer.g:111:31: 'ordering' + this.match("ordering"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ORDERING", + + // $ANTLR start PARENT + mPARENT: function() { + try { + var _type = this.PARENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:112:29: ( 'parent' ) + // XQueryLexer.g:112:31: 'parent' + this.match("parent"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PARENT", + + // $ANTLR start PRECEDING + mPRECEDING: function() { + try { + var _type = this.PRECEDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:113:29: ( 'preceding' ) + // XQueryLexer.g:113:31: 'preceding' + this.match("preceding"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRECEDING", + + // $ANTLR start PRECEDING_SIBLING + mPRECEDING_SIBLING: function() { + try { + var _type = this.PRECEDING_SIBLING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:114:29: ( 'preceding-sibling' ) + // XQueryLexer.g:114:31: 'preceding-sibling' + this.match("preceding-sibling"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRECEDING_SIBLING", + + // $ANTLR start PRESERVE + mPRESERVE: function() { + try { + var _type = this.PRESERVE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:115:29: ( 'preserve' ) + // XQueryLexer.g:115:31: 'preserve' + this.match("preserve"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRESERVE", + + // $ANTLR start PROCESSING_INSTRUCTION + mPROCESSING_INSTRUCTION: function() { + try { + var _type = this.PROCESSING_INSTRUCTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:116:29: ( 'processing-instruction' ) + // XQueryLexer.g:116:31: 'processing-instruction' + this.match("processing-instruction"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PROCESSING_INSTRUCTION", + + // $ANTLR start RETURN + mRETURN: function() { + try { + var _type = this.RETURN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:117:29: ( 'return' ) + // XQueryLexer.g:117:31: 'return' + this.match("return"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RETURN", + + // $ANTLR start SATISFIES + mSATISFIES: function() { + try { + var _type = this.SATISFIES; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:118:29: ( 'satisfies' ) + // XQueryLexer.g:118:31: 'satisfies' + this.match("satisfies"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SATISFIES", + + // $ANTLR start SCHEMA + mSCHEMA: function() { + try { + var _type = this.SCHEMA; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:119:29: ( 'schema' ) + // XQueryLexer.g:119:31: 'schema' + this.match("schema"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SCHEMA", + + // $ANTLR start SCHEMA_ATTRIBUTE + mSCHEMA_ATTRIBUTE: function() { + try { + var _type = this.SCHEMA_ATTRIBUTE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:120:29: ( 'schema-attribute' ) + // XQueryLexer.g:120:31: 'schema-attribute' + this.match("schema-attribute"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SCHEMA_ATTRIBUTE", + + // $ANTLR start SCHEMA_ELEMENT + mSCHEMA_ELEMENT: function() { + try { + var _type = this.SCHEMA_ELEMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:121:29: ( 'schema-element' ) + // XQueryLexer.g:121:31: 'schema-element' + this.match("schema-element"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SCHEMA_ELEMENT", + + // $ANTLR start SELF + mSELF: function() { + try { + var _type = this.SELF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:122:29: ( 'self' ) + // XQueryLexer.g:122:31: 'self' + this.match("self"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SELF", + + // $ANTLR start SOME + mSOME: function() { + try { + var _type = this.SOME; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:123:29: ( 'some' ) + // XQueryLexer.g:123:31: 'some' + this.match("some"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SOME", + + // $ANTLR start STABLE + mSTABLE: function() { + try { + var _type = this.STABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:124:29: ( 'stable' ) + // XQueryLexer.g:124:31: 'stable' + this.match("stable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STABLE", + + // $ANTLR start STRICT + mSTRICT: function() { + try { + var _type = this.STRICT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:125:29: ( 'strict' ) + // XQueryLexer.g:125:31: 'strict' + this.match("strict"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STRICT", + + // $ANTLR start STRIP + mSTRIP: function() { + try { + var _type = this.STRIP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:126:29: ( 'strip' ) + // XQueryLexer.g:126:31: 'strip' + this.match("strip"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STRIP", + + // $ANTLR start TEXT + mTEXT: function() { + try { + var _type = this.TEXT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:127:29: ( 'text' ) + // XQueryLexer.g:127:31: 'text' + this.match("text"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TEXT", + + // $ANTLR start THEN + mTHEN: function() { + try { + var _type = this.THEN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:128:29: ( 'then' ) + // XQueryLexer.g:128:31: 'then' + this.match("then"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "THEN", + + // $ANTLR start TO + mTO: function() { + try { + var _type = this.TO; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:129:29: ( 'to' ) + // XQueryLexer.g:129:31: 'to' + this.match("to"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TO", + + // $ANTLR start TREAT + mTREAT: function() { + try { + var _type = this.TREAT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:130:29: ( 'treat' ) + // XQueryLexer.g:130:31: 'treat' + this.match("treat"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TREAT", + + // $ANTLR start TYPESWITCH + mTYPESWITCH: function() { + try { + var _type = this.TYPESWITCH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:131:29: ( 'typeswitch' ) + // XQueryLexer.g:131:31: 'typeswitch' + this.match("typeswitch"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TYPESWITCH", + + // $ANTLR start UNION + mUNION: function() { + try { + var _type = this.UNION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:132:29: ( 'union' ) + // XQueryLexer.g:132:31: 'union' + this.match("union"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UNION", + + // $ANTLR start UNORDERED + mUNORDERED: function() { + try { + var _type = this.UNORDERED; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:133:29: ( 'unordered' ) + // XQueryLexer.g:133:31: 'unordered' + this.match("unordered"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UNORDERED", + + // $ANTLR start VALIDATE + mVALIDATE: function() { + try { + var _type = this.VALIDATE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:134:29: ( 'validate' ) + // XQueryLexer.g:134:31: 'validate' + this.match("validate"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VALIDATE", + + // $ANTLR start VARIABLE + mVARIABLE: function() { + try { + var _type = this.VARIABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:135:29: ( 'variable' ) + // XQueryLexer.g:135:31: 'variable' + this.match("variable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VARIABLE", + + // $ANTLR start VERSION + mVERSION: function() { + try { + var _type = this.VERSION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:136:29: ( 'version' ) + // XQueryLexer.g:136:31: 'version' + this.match("version"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VERSION", + + // $ANTLR start WHERE + mWHERE: function() { + try { + var _type = this.WHERE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:137:29: ( 'where' ) + // XQueryLexer.g:137:31: 'where' + this.match("where"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WHERE", + + // $ANTLR start XQUERY + mXQUERY: function() { + try { + var _type = this.XQUERY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:138:29: ( 'xquery' ) + // XQueryLexer.g:138:31: 'xquery' + this.match("xquery"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "XQUERY", + + // $ANTLR start CATCH + mCATCH: function() { + try { + var _type = this.CATCH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:140:29: ( 'catch' ) + // XQueryLexer.g:140:31: 'catch' + this.match("catch"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CATCH", + + // $ANTLR start CONTEXT + mCONTEXT: function() { + try { + var _type = this.CONTEXT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:141:29: ( 'context' ) + // XQueryLexer.g:141:31: 'context' + this.match("context"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONTEXT", + + // $ANTLR start COUNT + mCOUNT: function() { + try { + var _type = this.COUNT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:142:29: ( 'count' ) + // XQueryLexer.g:142:31: 'count' + this.match("count"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COUNT", + + // $ANTLR start DECIMAL_FORMAT + mDECIMAL_FORMAT: function() { + try { + var _type = this.DECIMAL_FORMAT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:143:29: ( 'decimal-format' ) + // XQueryLexer.g:143:31: 'decimal-format' + this.match("decimal-format"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DECIMAL_FORMAT", + + // $ANTLR start DECIMAL_SEPARATOR + mDECIMAL_SEPARATOR: function() { + try { + var _type = this.DECIMAL_SEPARATOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:144:29: ( 'decimal-separator' ) + // XQueryLexer.g:144:31: 'decimal-separator' + this.match("decimal-separator"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DECIMAL_SEPARATOR", + + // $ANTLR start DIGIT + mDIGIT: function() { + try { + var _type = this.DIGIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:145:29: ( 'digit' ) + // XQueryLexer.g:145:31: 'digit' + this.match("digit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DIGIT", + + // $ANTLR start END + mEND: function() { + try { + var _type = this.END; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:146:29: ( 'end' ) + // XQueryLexer.g:146:31: 'end' + this.match("end"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "END", + + // $ANTLR start GROUP + mGROUP: function() { + try { + var _type = this.GROUP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:147:29: ( 'group' ) + // XQueryLexer.g:147:31: 'group' + this.match("group"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GROUP", + + // $ANTLR start GROUPING_SEPARATOR + mGROUPING_SEPARATOR: function() { + try { + var _type = this.GROUPING_SEPARATOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:148:29: ( 'grouping-separator' ) + // XQueryLexer.g:148:31: 'grouping-separator' + this.match("grouping-separator"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GROUPING_SEPARATOR", + + // $ANTLR start INFINITY + mINFINITY: function() { + try { + var _type = this.INFINITY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:149:29: ( 'infinity' ) + // XQueryLexer.g:149:31: 'infinity' + this.match("infinity"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INFINITY", + + // $ANTLR start MINUS_SIGN + mMINUS_SIGN: function() { + try { + var _type = this.MINUS_SIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:150:29: ( 'minus-sign' ) + // XQueryLexer.g:150:31: 'minus-sign' + this.match("minus-sign"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MINUS_SIGN", + + // $ANTLR start NAMESPACE_NODE + mNAMESPACE_NODE: function() { + try { + var _type = this.NAMESPACE_NODE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:151:29: ( 'namespace-node' ) + // XQueryLexer.g:151:31: 'namespace-node' + this.match("namespace-node"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NAMESPACE_NODE", + + // $ANTLR start NAN + mNAN: function() { + try { + var _type = this.NAN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:152:29: ( 'NaN' ) + // XQueryLexer.g:152:31: 'NaN' + this.match("NaN"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NAN", + + // $ANTLR start NEXT + mNEXT: function() { + try { + var _type = this.NEXT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:153:29: ( 'next' ) + // XQueryLexer.g:153:31: 'next' + this.match("next"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NEXT", + + // $ANTLR start ONLY + mONLY: function() { + try { + var _type = this.ONLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:154:29: ( 'only' ) + // XQueryLexer.g:154:31: 'only' + this.match("only"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ONLY", + + // $ANTLR start OUTER + mOUTER: function() { + try { + var _type = this.OUTER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:155:29: ( 'outer' ) + // XQueryLexer.g:155:31: 'outer' + this.match("outer"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OUTER", + + // $ANTLR start PATTERN_SEPARATOR + mPATTERN_SEPARATOR: function() { + try { + var _type = this.PATTERN_SEPARATOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:156:29: ( 'pattern-separator' ) + // XQueryLexer.g:156:31: 'pattern-separator' + this.match("pattern-separator"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PATTERN_SEPARATOR", + + // $ANTLR start PERCENT + mPERCENT: function() { + try { + var _type = this.PERCENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:157:29: ( 'percent' ) + // XQueryLexer.g:157:31: 'percent' + this.match("percent"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PERCENT", + + // $ANTLR start PER_MILLE + mPER_MILLE: function() { + try { + var _type = this.PER_MILLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:158:29: ( 'per-mille' ) + // XQueryLexer.g:158:31: 'per-mille' + this.match("per-mille"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PER_MILLE", + + // $ANTLR start PREVIOUS + mPREVIOUS: function() { + try { + var _type = this.PREVIOUS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:159:29: ( 'previous' ) + // XQueryLexer.g:159:31: 'previous' + this.match("previous"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PREVIOUS", + + // $ANTLR start SLIDING + mSLIDING: function() { + try { + var _type = this.SLIDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:160:29: ( 'sliding' ) + // XQueryLexer.g:160:31: 'sliding' + this.match("sliding"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SLIDING", + + // $ANTLR start START + mSTART: function() { + try { + var _type = this.START; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:161:29: ( 'start' ) + // XQueryLexer.g:161:31: 'start' + this.match("start"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "START", + + // $ANTLR start TRY + mTRY: function() { + try { + var _type = this.TRY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:162:29: ( 'try' ) + // XQueryLexer.g:162:31: 'try' + this.match("try"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TRY", + + // $ANTLR start TUMBLING + mTUMBLING: function() { + try { + var _type = this.TUMBLING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:163:29: ( 'tumbling' ) + // XQueryLexer.g:163:31: 'tumbling' + this.match("tumbling"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TUMBLING", + + // $ANTLR start WHEN + mWHEN: function() { + try { + var _type = this.WHEN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:164:29: ( 'when' ) + // XQueryLexer.g:164:31: 'when' + this.match("when"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WHEN", + + // $ANTLR start WINDOW + mWINDOW: function() { + try { + var _type = this.WINDOW; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:165:29: ( 'window' ) + // XQueryLexer.g:165:31: 'window' + this.match("window"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WINDOW", + + // $ANTLR start ZERO_DIGIT + mZERO_DIGIT: function() { + try { + var _type = this.ZERO_DIGIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:166:29: ( 'zero-digit' ) + // XQueryLexer.g:166:31: 'zero-digit' + this.match("zero-digit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ZERO_DIGIT", + + // $ANTLR start AFTER + mAFTER: function() { + try { + var _type = this.AFTER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:168:29: ( 'after' ) + // XQueryLexer.g:168:31: 'after' + this.match("after"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AFTER", + + // $ANTLR start BEFORE + mBEFORE: function() { + try { + var _type = this.BEFORE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:169:29: ( 'before' ) + // XQueryLexer.g:169:31: 'before' + this.match("before"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BEFORE", + + // $ANTLR start COPY + mCOPY: function() { + try { + var _type = this.COPY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:170:29: ( 'copy' ) + // XQueryLexer.g:170:31: 'copy' + this.match("copy"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COPY", + + // $ANTLR start DELETE + mDELETE: function() { + try { + var _type = this.DELETE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:171:29: ( 'delete' ) + // XQueryLexer.g:171:31: 'delete' + this.match("delete"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DELETE", + + // $ANTLR start FIRST + mFIRST: function() { + try { + var _type = this.FIRST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:172:29: ( 'first' ) + // XQueryLexer.g:172:31: 'first' + this.match("first"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FIRST", + + // $ANTLR start INSERT + mINSERT: function() { + try { + var _type = this.INSERT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:173:29: ( 'insert' ) + // XQueryLexer.g:173:31: 'insert' + this.match("insert"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INSERT", + + // $ANTLR start INTO + mINTO: function() { + try { + var _type = this.INTO; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:174:29: ( 'into' ) + // XQueryLexer.g:174:31: 'into' + this.match("into"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INTO", + + // $ANTLR start LAST + mLAST: function() { + try { + var _type = this.LAST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:175:29: ( 'last' ) + // XQueryLexer.g:175:31: 'last' + this.match("last"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LAST", + + // $ANTLR start MODIFY + mMODIFY: function() { + try { + var _type = this.MODIFY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:176:29: ( 'modify' ) + // XQueryLexer.g:176:31: 'modify' + this.match("modify"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MODIFY", + + // $ANTLR start NODES + mNODES: function() { + try { + var _type = this.NODES; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:177:29: ( 'nodes' ) + // XQueryLexer.g:177:31: 'nodes' + this.match("nodes"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NODES", + + // $ANTLR start RENAME + mRENAME: function() { + try { + var _type = this.RENAME; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:178:29: ( 'rename' ) + // XQueryLexer.g:178:31: 'rename' + this.match("rename"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RENAME", + + // $ANTLR start REPLACE + mREPLACE: function() { + try { + var _type = this.REPLACE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:179:29: ( 'replace' ) + // XQueryLexer.g:179:31: 'replace' + this.match("replace"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "REPLACE", + + // $ANTLR start REVALIDATION + mREVALIDATION: function() { + try { + var _type = this.REVALIDATION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:180:29: ( 'revalidation' ) + // XQueryLexer.g:180:31: 'revalidation' + this.match("revalidation"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "REVALIDATION", + + // $ANTLR start SKIP + mSKIP: function() { + try { + var _type = this.SKIP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:181:29: ( 'skip' ) + // XQueryLexer.g:181:31: 'skip' + this.match("skip"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SKIP", + + // $ANTLR start UPDATING + mUPDATING: function() { + try { + var _type = this.UPDATING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:182:29: ( 'updating' ) + // XQueryLexer.g:182:31: 'updating' + this.match("updating"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UPDATING", + + // $ANTLR start VALUE + mVALUE: function() { + try { + var _type = this.VALUE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:183:29: ( 'value' ) + // XQueryLexer.g:183:31: 'value' + this.match("value"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VALUE", + + // $ANTLR start WITH + mWITH: function() { + try { + var _type = this.WITH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:184:29: ( 'with' ) + // XQueryLexer.g:184:31: 'with' + this.match("with"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WITH", + + // $ANTLR start BLOCK + mBLOCK: function() { + try { + var _type = this.BLOCK; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:186:29: ( 'block' ) + // XQueryLexer.g:186:31: 'block' + this.match("block"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BLOCK", + + // $ANTLR start CONSTANT + mCONSTANT: function() { + try { + var _type = this.CONSTANT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:187:29: ( 'constant' ) + // XQueryLexer.g:187:31: 'constant' + this.match("constant"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONSTANT", + + // $ANTLR start EXIT + mEXIT: function() { + try { + var _type = this.EXIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:188:29: ( 'exit' ) + // XQueryLexer.g:188:31: 'exit' + this.match("exit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EXIT", + + // $ANTLR start RETURNING + mRETURNING: function() { + try { + var _type = this.RETURNING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:189:29: ( 'returning' ) + // XQueryLexer.g:189:31: 'returning' + this.match("returning"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RETURNING", + + // $ANTLR start SEQUENTIAL + mSEQUENTIAL: function() { + try { + var _type = this.SEQUENTIAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:190:29: ( 'sequential' ) + // XQueryLexer.g:190:31: 'sequential' + this.match("sequential"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SEQUENTIAL", + + // $ANTLR start SET + mSET: function() { + try { + var _type = this.SET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:191:29: ( 'set' ) + // XQueryLexer.g:191:31: 'set' + this.match("set"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SET", + + // $ANTLR start SIMPLE + mSIMPLE: function() { + try { + var _type = this.SIMPLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:192:29: ( 'simple' ) + // XQueryLexer.g:192:31: 'simple' + this.match("simple"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SIMPLE", + + // $ANTLR start WHILE + mWHILE: function() { + try { + var _type = this.WHILE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:193:29: ( 'while' ) + // XQueryLexer.g:193:31: 'while' + this.match("while"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WHILE", + + // $ANTLR start EVAL + mEVAL: function() { + try { + var _type = this.EVAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:195:29: ( 'eval' ) + // XQueryLexer.g:195:31: 'eval' + this.match("eval"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EVAL", + + // $ANTLR start USING + mUSING: function() { + try { + var _type = this.USING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:196:29: ( 'using' ) + // XQueryLexer.g:196:31: 'using' + this.match("using"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "USING", + + // $ANTLR start APPEND_ONLY + mAPPEND_ONLY: function() { + try { + var _type = this.APPEND_ONLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:198:29: ( 'append-only' ) + // XQueryLexer.g:198:31: 'append-only' + this.match("append-only"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APPEND_ONLY", + + // $ANTLR start AUTOMATICALLY + mAUTOMATICALLY: function() { + try { + var _type = this.AUTOMATICALLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:199:29: ( 'automatically' ) + // XQueryLexer.g:199:31: 'automatically' + this.match("automatically"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AUTOMATICALLY", + + // $ANTLR start CHECK + mCHECK: function() { + try { + var _type = this.CHECK; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:200:29: ( 'check' ) + // XQueryLexer.g:200:31: 'check' + this.match("check"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHECK", + + // $ANTLR start COLLECTION + mCOLLECTION: function() { + try { + var _type = this.COLLECTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:201:29: ( 'collection' ) + // XQueryLexer.g:201:31: 'collection' + this.match("collection"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLLECTION", + + // $ANTLR start CONSTRAINT + mCONSTRAINT: function() { + try { + var _type = this.CONSTRAINT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:202:29: ( 'constraint' ) + // XQueryLexer.g:202:31: 'constraint' + this.match("constraint"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONSTRAINT", + + // $ANTLR start CONST + mCONST: function() { + try { + var _type = this.CONST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:203:29: ( 'const' ) + // XQueryLexer.g:203:31: 'const' + this.match("const"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONST", + + // $ANTLR start EQUALITY + mEQUALITY: function() { + try { + var _type = this.EQUALITY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:204:29: ( 'equality' ) + // XQueryLexer.g:204:31: 'equality' + this.match("equality"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EQUALITY", + + // $ANTLR start FOREACH + mFOREACH: function() { + try { + var _type = this.FOREACH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:205:29: ( 'foreach' ) + // XQueryLexer.g:205:31: 'foreach' + this.match("foreach"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOREACH", + + // $ANTLR start FOREIGN + mFOREIGN: function() { + try { + var _type = this.FOREIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:206:29: ( 'foreign' ) + // XQueryLexer.g:206:31: 'foreign' + this.match("foreign"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOREIGN", + + // $ANTLR start FROM + mFROM: function() { + try { + var _type = this.FROM; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:207:29: ( 'from' ) + // XQueryLexer.g:207:31: 'from' + this.match("from"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FROM", + + // $ANTLR start INDEX + mINDEX: function() { + try { + var _type = this.INDEX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:208:29: ( 'index' ) + // XQueryLexer.g:208:31: 'index' + this.match("index"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INDEX", + + // $ANTLR start INTEGRITY + mINTEGRITY: function() { + try { + var _type = this.INTEGRITY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:209:29: ( 'integrity' ) + // XQueryLexer.g:209:31: 'integrity' + this.match("integrity"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INTEGRITY", + + // $ANTLR start KEY + mKEY: function() { + try { + var _type = this.KEY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:210:29: ( 'key' ) + // XQueryLexer.g:210:31: 'key' + this.match("key"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "KEY", + + // $ANTLR start MAINTAINED + mMAINTAINED: function() { + try { + var _type = this.MAINTAINED; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:211:29: ( 'maintained' ) + // XQueryLexer.g:211:31: 'maintained' + this.match("maintained"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MAINTAINED", + + // $ANTLR start MANUALLY + mMANUALLY: function() { + try { + var _type = this.MANUALLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:212:29: ( 'manually' ) + // XQueryLexer.g:212:31: 'manually' + this.match("manually"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MANUALLY", + + // $ANTLR start MUTABLE + mMUTABLE: function() { + try { + var _type = this.MUTABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:213:29: ( 'mutable' ) + // XQueryLexer.g:213:31: 'mutable' + this.match("mutable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MUTABLE", + + // $ANTLR start NON + mNON: function() { + try { + var _type = this.NON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:214:29: ( 'non' ) + // XQueryLexer.g:214:31: 'non' + this.match("non"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NON", + + // $ANTLR start ON + mON: function() { + try { + var _type = this.ON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:215:29: ( 'on' ) + // XQueryLexer.g:215:31: 'on' + this.match("on"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ON", + + // $ANTLR start QUEUE + mQUEUE: function() { + try { + var _type = this.QUEUE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:216:29: ( 'queue' ) + // XQueryLexer.g:216:31: 'queue' + this.match("queue"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUEUE", + + // $ANTLR start RANGE + mRANGE: function() { + try { + var _type = this.RANGE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:217:29: ( 'range' ) + // XQueryLexer.g:217:31: 'range' + this.match("range"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RANGE", + + // $ANTLR start READ_ONLY + mREAD_ONLY: function() { + try { + var _type = this.READ_ONLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:218:29: ( 'read-only' ) + // XQueryLexer.g:218:31: 'read-only' + this.match("read-only"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "READ_ONLY", + + // $ANTLR start UNIQUE + mUNIQUE: function() { + try { + var _type = this.UNIQUE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:219:29: ( 'unique' ) + // XQueryLexer.g:219:31: 'unique' + this.match("unique"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UNIQUE", + + // $ANTLR start BINARY + mBINARY: function() { + try { + var _type = this.BINARY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:221:29: ( 'binary' ) + // XQueryLexer.g:221:31: 'binary' + this.match("binary"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BINARY", + + // $ANTLR start PRIVATE + mPRIVATE: function() { + try { + var _type = this.PRIVATE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:222:29: ( 'private' ) + // XQueryLexer.g:222:31: 'private' + this.match("private"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRIVATE", + + // $ANTLR start AMP_ER + mAMP_ER: function() { + try { + var _type = this.AMP_ER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:225:9: ( 'amp' ) + // XQueryLexer.g:225:11: 'amp' + this.match("amp"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AMP_ER", + + // $ANTLR start APOS_ER + mAPOS_ER: function() { + try { + var _type = this.APOS_ER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:226:9: ( 'apos' ) + // XQueryLexer.g:226:11: 'apos' + this.match("apos"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APOS_ER", + + // $ANTLR start QUOT_ER + mQUOT_ER: function() { + try { + var _type = this.QUOT_ER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:227:9: ( 'quot' ) + // XQueryLexer.g:227:11: 'quot' + this.match("quot"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUOT_ER", + + // $ANTLR start LPAREN + mLPAREN: function() { + try { + var _type = this.LPAREN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:234:25: ( '(' ) + // XQueryLexer.g:234:27: '(' + this.match('('); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LPAREN", + + // $ANTLR start RPAREN + mRPAREN: function() { + try { + var _type = this.RPAREN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:235:25: ( ')' ) + // XQueryLexer.g:235:27: ')' + this.match(')'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RPAREN", + + // $ANTLR start DOLLAR + mDOLLAR: function() { + try { + var _type = this.DOLLAR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:236:25: ( '$' ) + // XQueryLexer.g:236:27: '$' + this.match('$'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOLLAR", + + // $ANTLR start LBRACKET + mLBRACKET: function() { + try { + var _type = this.LBRACKET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:237:25: ( '{' ) + // XQueryLexer.g:237:27: '{' + this.match('{'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LBRACKET", + + // $ANTLR start RBRACKET + mRBRACKET: function() { + try { + var _type = this.RBRACKET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:238:25: ( '}' ) + // XQueryLexer.g:238:27: '}' + this.match('}'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RBRACKET", + + // $ANTLR start LSQUARE + mLSQUARE: function() { + try { + var _type = this.LSQUARE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:239:25: ( '[' ) + // XQueryLexer.g:239:27: '[' + this.match('['); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LSQUARE", + + // $ANTLR start RSQUARE + mRSQUARE: function() { + try { + var _type = this.RSQUARE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:240:25: ( ']' ) + // XQueryLexer.g:240:27: ']' + this.match(']'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RSQUARE", + + // $ANTLR start EQUAL + mEQUAL: function() { + try { + var _type = this.EQUAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:241:25: ( '=' ) + // XQueryLexer.g:241:27: '=' + this.match('='); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EQUAL", + + // $ANTLR start BIND + mBIND: function() { + try { + var _type = this.BIND; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:242:25: ( ':=' ) + // XQueryLexer.g:242:27: ':=' + this.match(":="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BIND", + + // $ANTLR start NOTEQUAL + mNOTEQUAL: function() { + try { + var _type = this.NOTEQUAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:243:25: ( '!=' ) + // XQueryLexer.g:243:27: '!=' + this.match("!="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NOTEQUAL", + + // $ANTLR start AMP + mAMP: function() { + try { + var _type = this.AMP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:244:25: ( '&' ) + // XQueryLexer.g:244:27: '&' + this.match('&'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AMP", + + // $ANTLR start COMMA + mCOMMA: function() { + try { + var _type = this.COMMA; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:245:25: ( ',' ) + // XQueryLexer.g:245:27: ',' + this.match(','); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COMMA", + + // $ANTLR start QUESTION + mQUESTION: function() { + try { + var _type = this.QUESTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:246:25: ( '?' ) + // XQueryLexer.g:246:27: '?' + this.match('?'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUESTION", + + // $ANTLR start STAR + mSTAR: function() { + try { + var _type = this.STAR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:247:25: ( '*' ) + // XQueryLexer.g:247:27: '*' + this.match('*'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STAR", + + // $ANTLR start PLUS + mPLUS: function() { + try { + var _type = this.PLUS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:248:25: ( '+' ) + // XQueryLexer.g:248:27: '+' + this.match('+'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PLUS", + + // $ANTLR start MINUS + mMINUS: function() { + try { + var _type = this.MINUS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:249:25: ( '-' ) + // XQueryLexer.g:249:27: '-' + this.match('-'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MINUS", + + // $ANTLR start SMALLER + mSMALLER: function() { + try { + var _type = this.SMALLER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:250:25: ( '<' ) + // XQueryLexer.g:250:27: '<' + this.match('<'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SMALLER", + + // $ANTLR start GREATER + mGREATER: function() { + try { + var _type = this.GREATER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:251:25: ( '>' ) + // XQueryLexer.g:251:27: '>' + this.match('>'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATER", + + // $ANTLR start SMALLEREQ + mSMALLEREQ: function() { + try { + var _type = this.SMALLEREQ; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:252:25: ( '<=' ) + // XQueryLexer.g:252:27: '<=' + this.match("<="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SMALLEREQ", + + // $ANTLR start GREATEREQ + mGREATEREQ: function() { + try { + var _type = this.GREATEREQ; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:253:25: ( '>=' ) + // XQueryLexer.g:253:27: '>=' + this.match(">="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATEREQ", + + // $ANTLR start SMALLER_SMALLER + mSMALLER_SMALLER: function() { + try { + var _type = this.SMALLER_SMALLER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:254:25: ( '<<' ) + // XQueryLexer.g:254:27: '<<' + this.match("<<"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SMALLER_SMALLER", + + // $ANTLR start GREATER_GREATER + mGREATER_GREATER: function() { + try { + var _type = this.GREATER_GREATER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:255:25: ( '>>' ) + // XQueryLexer.g:255:27: '>>' + this.match(">>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATER_GREATER", + + // $ANTLR start SLASH + mSLASH: function() { + try { + var _type = this.SLASH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:256:25: ( '/' ) + // XQueryLexer.g:256:27: '/' + this.match('/'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SLASH", + + // $ANTLR start SLASH_SLASH + mSLASH_SLASH: function() { + try { + var _type = this.SLASH_SLASH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:257:25: ( '//' ) + // XQueryLexer.g:257:27: '//' + this.match("//"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SLASH_SLASH", + + // $ANTLR start DOT + mDOT: function() { + try { + var _type = this.DOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:258:25: ( '.' ) + // XQueryLexer.g:258:27: '.' + this.match('.'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOT", + + // $ANTLR start DOT_DOT + mDOT_DOT: function() { + try { + var _type = this.DOT_DOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:259:25: ( '..' ) + // XQueryLexer.g:259:27: '..' + this.match(".."); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOT_DOT", + + // $ANTLR start COLON + mCOLON: function() { + try { + var _type = this.COLON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:260:25: ( ':' ) + // XQueryLexer.g:260:27: ':' + this.match(':'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLON", + + // $ANTLR start COLON_COLON + mCOLON_COLON: function() { + try { + var _type = this.COLON_COLON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:261:25: ( '::' ) + // XQueryLexer.g:261:27: '::' + this.match("::"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLON_COLON", + + // $ANTLR start EMPTY_CLOSE_TAG + mEMPTY_CLOSE_TAG: function() { + try { + var _type = this.EMPTY_CLOSE_TAG; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:262:25: ( '/>' ) + // XQueryLexer.g:262:27: '/>' + this.match("/>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EMPTY_CLOSE_TAG", + + // $ANTLR start CLOSE_TAG + mCLOSE_TAG: function() { + try { + var _type = this.CLOSE_TAG; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:263:25: ( '' ) + // XQueryLexer.g:269:27: '-->' + this.match("-->"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "XML_COMMENT_END", + + // $ANTLR start PI_START + mPI_START: function() { + try { + var _type = this.PI_START; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:270:25: ( '' ) + // XQueryLexer.g:271:27: '?>' + this.match("?>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PI_END", + + // $ANTLR start ATTR_SIGN + mATTR_SIGN: function() { + try { + var _type = this.ATTR_SIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:272:25: ( '@' ) + // XQueryLexer.g:272:27: '@' + this.match('@'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ATTR_SIGN", + + // $ANTLR start CHARREF_DEC + mCHARREF_DEC: function() { + try { + var _type = this.CHARREF_DEC; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:273:25: ( '&#' ) + // XQueryLexer.g:273:27: '&#' + this.match("&#"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHARREF_DEC", + + // $ANTLR start CHARREF_HEX + mCHARREF_HEX: function() { + try { + var _type = this.CHARREF_HEX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:274:25: ( '&#x' ) + // XQueryLexer.g:274:27: '&#x' + this.match("&#x"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHARREF_HEX", + + // $ANTLR start APOS + mAPOS: function() { + try { + var _type = this.APOS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:275:25: ( '\\'' ) + // XQueryLexer.g:275:27: '\\'' + this.match('\''); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APOS", + + // $ANTLR start QUOT + mQUOT: function() { + try { + var _type = this.QUOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:276:25: ( '\"' ) + // XQueryLexer.g:276:27: '\"' + this.match('\"'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUOT", + + // $ANTLR start L_NCName + mL_NCName: function() { + try { + var _type = this.L_NCName; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:280:9: ( NCNameStartChar ( NCNameChar )* ) + // XQueryLexer.g:280:13: NCNameStartChar ( NCNameChar )* + this.mNCNameStartChar(); + // XQueryLexer.g:280:29: ( NCNameChar )* + loop1: + do { + var alt1=2; + var LA1_0 = this.input.LA(1); + + if ( ((LA1_0>='-' && LA1_0<='.')||(LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // XQueryLexer.g:280:29: NCNameChar + this.mNCNameChar(); + + + break; + + default : + break loop1; + } + } while (true); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_NCName", + + // $ANTLR start Letter + mLetter: function() { + try { + // XQueryLexer.g:283:29: ( 'a' .. 'z' | 'A' .. 'Z' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "Letter", + + // $ANTLR start HexLetter + mHexLetter: function() { + try { + // XQueryLexer.g:284:29: ( 'a' .. 'f' | 'A' .. 'F' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='F')||(this.input.LA(1)>='a' && this.input.LA(1)<='f') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "HexLetter", + + // $ANTLR start Digit + mDigit: function() { + try { + // XQueryLexer.g:285:29: ( '0' .. '9' ) + // XQueryLexer.g:285:31: '0' .. '9' + this.matchRange('0','9'); + + + + } + finally { + } + }, + // $ANTLR end "Digit", + + // $ANTLR start Digits + mDigits: function() { + try { + // XQueryLexer.g:286:29: ( ( Digit )+ ) + // XQueryLexer.g:286:31: ( Digit )+ + // XQueryLexer.g:286:31: ( Digit )+ + var cnt2=0; + loop2: + do { + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // XQueryLexer.g:286:31: Digit + this.mDigit(); + + + break; + + default : + if ( cnt2 >= 1 ) { + break loop2; + } + var eee = new org.antlr.runtime.EarlyExitException(2, this.input); + throw eee; + } + cnt2++; + } while (true); + + + + + } + finally { + } + }, + // $ANTLR end "Digits", + + // $ANTLR start NCNameStartChar + mNCNameStartChar: function() { + try { + // XQueryLexer.g:288:29: ( Letter | '_' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "NCNameStartChar", + + // $ANTLR start NCNameChar + mNCNameChar: function() { + try { + // XQueryLexer.g:289:29: ( Letter | Digit | '.' | '-' | '_' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='-' && this.input.LA(1)<='.')||(this.input.LA(1)>='0' && this.input.LA(1)<='9')||(this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "NCNameChar", + + // $ANTLR start S + mS: function() { + try { + var _type = this.S; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:292:9: ( ( '\\t' | ' ' | '\\n' | '\\r' )+ ) + // XQueryLexer.g:292:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + // XQueryLexer.g:292:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + var cnt3=0; + loop3: + do { + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // XQueryLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||this.input.LA(1)==' ' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt3 >= 1 ) { + break loop3; + } + var eee = new org.antlr.runtime.EarlyExitException(3, this.input); + throw eee; + } + cnt3++; + } while (true); + + _channel = HIDDEN; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "S", + + // $ANTLR start SU + mSU: function() { + try { + // XQueryLexer.g:295:9: ( ( '\\t' | ' ' | '\\n' | '\\r' )+ ) + // XQueryLexer.g:295:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + // XQueryLexer.g:295:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + var cnt4=0; + loop4: + do { + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( ((LA4_0>='\t' && LA4_0<='\n')||LA4_0=='\r'||LA4_0==' ') ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // XQueryLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||this.input.LA(1)==' ' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt4 >= 1 ) { + break loop4; + } + var eee = new org.antlr.runtime.EarlyExitException(4, this.input); + throw eee; + } + cnt4++; + } while (true); + + + + + } + finally { + } + }, + // $ANTLR end "SU", + + // $ANTLR start L_Pragma + mL_Pragma: function() { + try { + var _type = this.L_Pragma; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:306:9: ( PRAGMA_START ( SU )? L_NCName COLON L_NCName ( SU ( options {greedy=false; } : . )* )? PRAGMA_END ) + // XQueryLexer.g:306:11: PRAGMA_START ( SU )? L_NCName COLON L_NCName ( SU ( options {greedy=false; } : . )* )? PRAGMA_END + this.mPRAGMA_START(); + // XQueryLexer.g:306:24: ( SU )? + var alt5=2; + var LA5_0 = this.input.LA(1); + + if ( ((LA5_0>='\t' && LA5_0<='\n')||LA5_0=='\r'||LA5_0==' ') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // XQueryLexer.g:306:24: SU + this.mSU(); + + + break; + + } + + this.mL_NCName(); + this.mCOLON(); + this.mL_NCName(); + // XQueryLexer.g:306:52: ( SU ( options {greedy=false; } : . )* )? + var alt7=2; + var LA7_0 = this.input.LA(1); + + if ( ((LA7_0>='\t' && LA7_0<='\n')||LA7_0=='\r'||LA7_0==' ') ) { + alt7=1; + } + switch (alt7) { + case 1 : + // XQueryLexer.g:306:53: SU ( options {greedy=false; } : . )* + this.mSU(); + // XQueryLexer.g:306:56: ( options {greedy=false; } : . )* + loop6: + do { + var alt6=2; + var LA6_0 = this.input.LA(1); + + if ( (LA6_0=='#') ) { + var LA6_1 = this.input.LA(2); + + if ( (LA6_1==')') ) { + alt6=2; + } + else if ( ((LA6_1>='\u0000' && LA6_1<='(')||(LA6_1>='*' && LA6_1<='\uFFFF')) ) { + alt6=1; + } + + + } + else if ( ((LA6_0>='\u0000' && LA6_0<='\"')||(LA6_0>='$' && LA6_0<='\uFFFF')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // XQueryLexer.g:306:83: . + this.matchAny(); + + + break; + + default : + break loop6; + } + } while (true); + + + + break; + + } + + this.mPRAGMA_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_Pragma", + + // $ANTLR start L_DirCommentConstructor + mL_DirCommentConstructor: function() { + try { + var _type = this.L_DirCommentConstructor; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:316:9: ( XML_COMMENT_START ( options {greedy=false; } : ( . )* ) XML_COMMENT_END ) + // XQueryLexer.g:316:11: XML_COMMENT_START ( options {greedy=false; } : ( . )* ) XML_COMMENT_END + this.mXML_COMMENT_START(); + // XQueryLexer.g:316:29: ( options {greedy=false; } : ( . )* ) + // XQueryLexer.g:316:56: ( . )* + // XQueryLexer.g:316:56: ( . )* + loop8: + do { + var alt8=2; + var LA8_0 = this.input.LA(1); + + if ( (LA8_0=='-') ) { + var LA8_1 = this.input.LA(2); + + if ( (LA8_1=='-') ) { + var LA8_3 = this.input.LA(3); + + if ( (LA8_3=='>') ) { + alt8=2; + } + else if ( ((LA8_3>='\u0000' && LA8_3<='=')||(LA8_3>='?' && LA8_3<='\uFFFF')) ) { + alt8=1; + } + + + } + else if ( ((LA8_1>='\u0000' && LA8_1<=',')||(LA8_1>='.' && LA8_1<='\uFFFF')) ) { + alt8=1; + } + + + } + else if ( ((LA8_0>='\u0000' && LA8_0<=',')||(LA8_0>='.' && LA8_0<='\uFFFF')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // XQueryLexer.g:316:56: . + this.matchAny(); + + + break; + + default : + break loop8; + } + } while (true); + + + + + this.mXML_COMMENT_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DirCommentConstructor", + + // $ANTLR start L_DirPIConstructor + mL_DirPIConstructor: function() { + try { + var _type = this.L_DirPIConstructor; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:325:9: ( PI_START ( SU )? L_NCName ( SU ( options {greedy=false; } : ( . )* ) )? PI_END ) + // XQueryLexer.g:325:11: PI_START ( SU )? L_NCName ( SU ( options {greedy=false; } : ( . )* ) )? PI_END + this.mPI_START(); + // XQueryLexer.g:325:20: ( SU )? + var alt9=2; + var LA9_0 = this.input.LA(1); + + if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // XQueryLexer.g:325:20: SU + this.mSU(); + + + break; + + } + + this.mL_NCName(); + // XQueryLexer.g:325:33: ( SU ( options {greedy=false; } : ( . )* ) )? + var alt11=2; + var LA11_0 = this.input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + switch (alt11) { + case 1 : + // XQueryLexer.g:325:34: SU ( options {greedy=false; } : ( . )* ) + this.mSU(); + // XQueryLexer.g:325:36: ( options {greedy=false; } : ( . )* ) + // XQueryLexer.g:325:63: ( . )* + // XQueryLexer.g:325:63: ( . )* + loop10: + do { + var alt10=2; + var LA10_0 = this.input.LA(1); + + if ( (LA10_0=='?') ) { + var LA10_1 = this.input.LA(2); + + if ( (LA10_1=='>') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='=')||(LA10_1>='?' && LA10_1<='\uFFFF')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<='>')||(LA10_0>='@' && LA10_0<='\uFFFF')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // XQueryLexer.g:325:63: . + this.matchAny(); + + + break; + + default : + break loop10; + } + } while (true); + + + + + + + break; + + } + + this.mPI_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DirPIConstructor", + + // $ANTLR start L_IntegerLiteral + mL_IntegerLiteral: function() { + try { + var _type = this.L_IntegerLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:333:9: ( Digits ) + // XQueryLexer.g:333:13: Digits + this.mDigits(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_IntegerLiteral", + + // $ANTLR start L_DecimalLiteral + mL_DecimalLiteral: function() { + try { + var _type = this.L_DecimalLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:338:9: ( ( '.' Digits ) | ( Digits '.' ( Digit )* ) ) + var alt13=2; + var LA13_0 = this.input.LA(1); + + if ( (LA13_0=='.') ) { + alt13=1; + } + else if ( ((LA13_0>='0' && LA13_0<='9')) ) { + alt13=2; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 13, 0, this.input); + + throw nvae; + } + switch (alt13) { + case 1 : + // XQueryLexer.g:338:11: ( '.' Digits ) + // XQueryLexer.g:338:11: ( '.' Digits ) + // XQueryLexer.g:338:12: '.' Digits + this.match('.'); + this.mDigits(); + + + + + + break; + case 2 : + // XQueryLexer.g:338:26: ( Digits '.' ( Digit )* ) + // XQueryLexer.g:338:26: ( Digits '.' ( Digit )* ) + // XQueryLexer.g:338:27: Digits '.' ( Digit )* + this.mDigits(); + this.match('.'); + // XQueryLexer.g:338:38: ( Digit )* + loop12: + do { + var alt12=2; + var LA12_0 = this.input.LA(1); + + if ( ((LA12_0>='0' && LA12_0<='9')) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // XQueryLexer.g:338:38: Digit + this.mDigit(); + + + break; + + default : + break loop12; + } + } while (true); + + + + + + + break; + + } + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DecimalLiteral", + + // $ANTLR start L_DoubleLiteral + mL_DoubleLiteral: function() { + try { + var _type = this.L_DoubleLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:343:9: ( ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) ( 'e' | 'E' ) ( '+' | '-' )? Digits ) + // XQueryLexer.g:343:11: ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) ( 'e' | 'E' ) ( '+' | '-' )? Digits + // XQueryLexer.g:343:11: ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) + var alt16=2; + var LA16_0 = this.input.LA(1); + + if ( (LA16_0=='.') ) { + alt16=1; + } + else if ( ((LA16_0>='0' && LA16_0<='9')) ) { + alt16=2; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 16, 0, this.input); + + throw nvae; + } + switch (alt16) { + case 1 : + // XQueryLexer.g:343:12: ( '.' Digits ) + // XQueryLexer.g:343:12: ( '.' Digits ) + // XQueryLexer.g:343:13: '.' Digits + this.match('.'); + this.mDigits(); + + + + + + break; + case 2 : + // XQueryLexer.g:343:27: ( Digits ( '.' ( Digit )* )? ) + // XQueryLexer.g:343:27: ( Digits ( '.' ( Digit )* )? ) + // XQueryLexer.g:343:28: Digits ( '.' ( Digit )* )? + this.mDigits(); + // XQueryLexer.g:343:35: ( '.' ( Digit )* )? + var alt15=2; + var LA15_0 = this.input.LA(1); + + if ( (LA15_0=='.') ) { + alt15=1; + } + switch (alt15) { + case 1 : + // XQueryLexer.g:343:36: '.' ( Digit )* + this.match('.'); + // XQueryLexer.g:343:40: ( Digit )* + loop14: + do { + var alt14=2; + var LA14_0 = this.input.LA(1); + + if ( ((LA14_0>='0' && LA14_0<='9')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // XQueryLexer.g:343:40: Digit + this.mDigit(); + + + break; + + default : + break loop14; + } + } while (true); + + + + break; + + } + + + + + + + break; + + } + + if ( this.input.LA(1)=='E'||this.input.LA(1)=='e' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + // XQueryLexer.g:343:63: ( '+' | '-' )? + var alt17=2; + var LA17_0 = this.input.LA(1); + + if ( (LA17_0=='+'||LA17_0=='-') ) { + alt17=1; + } + switch (alt17) { + case 1 : + // XQueryLexer.g: + if ( this.input.LA(1)=='+'||this.input.LA(1)=='-' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + } + + this.mDigits(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DoubleLiteral", + + // $ANTLR start L_Comment + mL_Comment: function() { + try { + var _type = this.L_Comment; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:348:9: ( '(:' ( options {greedy=false; } : L_Comment | . )* ':)' ) + // XQueryLexer.g:348:11: '(:' ( options {greedy=false; } : L_Comment | . )* ':)' + this.match("(:"); + + // XQueryLexer.g:348:16: ( options {greedy=false; } : L_Comment | . )* + loop18: + do { + var alt18=3; + var LA18_0 = this.input.LA(1); + + if ( (LA18_0==':') ) { + var LA18_1 = this.input.LA(2); + + if ( (LA18_1==')') ) { + alt18=3; + } + else if ( ((LA18_1>='\u0000' && LA18_1<='(')||(LA18_1>='*' && LA18_1<='\uFFFF')) ) { + alt18=2; + } + + + } + else if ( (LA18_0=='(') ) { + var LA18_2 = this.input.LA(2); + + if ( (LA18_2==':') ) { + alt18=1; + } + else if ( ((LA18_2>='\u0000' && LA18_2<='9')||(LA18_2>=';' && LA18_2<='\uFFFF')) ) { + alt18=2; + } + + + } + else if ( ((LA18_0>='\u0000' && LA18_0<='\'')||(LA18_0>=')' && LA18_0<='9')||(LA18_0>=';' && LA18_0<='\uFFFF')) ) { + alt18=2; + } + + + switch (alt18) { + case 1 : + // XQueryLexer.g:348:42: L_Comment + this.mL_Comment(); + + + break; + case 2 : + // XQueryLexer.g:348:54: . + this.matchAny(); + + + break; + + default : + break loop18; + } + } while (true); + + this.match(":)"); + + _channel = HIDDEN; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_Comment", + + // $ANTLR start L_AnyChar + mL_AnyChar: function() { + try { + var _type = this.L_AnyChar; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:351:11: ( . ) + // XQueryLexer.g:351:13: . + this.matchAny(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_AnyChar", + + mTokens: function() { + // XQueryLexer.g:1:8: ( ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | RETURNING | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MANUALLY | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER | LPAREN | RPAREN | DOLLAR | LBRACKET | RBRACKET | LSQUARE | RSQUARE | EQUAL | BIND | NOTEQUAL | AMP | COMMA | QUESTION | STAR | PLUS | MINUS | SMALLER | GREATER | SMALLEREQ | GREATEREQ | SMALLER_SMALLER | GREATER_GREATER | SLASH | SLASH_SLASH | DOT | DOT_DOT | COLON | COLON_COLON | EMPTY_CLOSE_TAG | CLOSE_TAG | SEMICOLON | VBAR | PRAGMA_START | PRAGMA_END | XML_COMMENT_START | XML_COMMENT_END | PI_START | PI_END | ATTR_SIGN | CHARREF_DEC | CHARREF_HEX | APOS | QUOT | L_NCName | S | L_Pragma | L_DirCommentConstructor | L_DirPIConstructor | L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral | L_Comment | L_AnyChar ) + var alt19=230; + alt19 = this.dfa19.predict(this.input); + switch (alt19) { + case 1 : + // XQueryLexer.g:1:10: ANCESTOR + this.mANCESTOR(); + + + break; + case 2 : + // XQueryLexer.g:1:19: ANCESTOR_OR_SELF + this.mANCESTOR_OR_SELF(); + + + break; + case 3 : + // XQueryLexer.g:1:36: AND + this.mAND(); + + + break; + case 4 : + // XQueryLexer.g:1:40: AS + this.mAS(); + + + break; + case 5 : + // XQueryLexer.g:1:43: ASCENDING + this.mASCENDING(); + + + break; + case 6 : + // XQueryLexer.g:1:53: AT + this.mAT(); + + + break; + case 7 : + // XQueryLexer.g:1:56: ATTRIBUTE + this.mATTRIBUTE(); + + + break; + case 8 : + // XQueryLexer.g:1:66: BASE_URI + this.mBASE_URI(); + + + break; + case 9 : + // XQueryLexer.g:1:75: BOUNDARY_SPACE + this.mBOUNDARY_SPACE(); + + + break; + case 10 : + // XQueryLexer.g:1:90: BY + this.mBY(); + + + break; + case 11 : + // XQueryLexer.g:1:93: CASE + this.mCASE(); + + + break; + case 12 : + // XQueryLexer.g:1:98: CAST + this.mCAST(); + + + break; + case 13 : + // XQueryLexer.g:1:103: CASTABLE + this.mCASTABLE(); + + + break; + case 14 : + // XQueryLexer.g:1:112: CHILD + this.mCHILD(); + + + break; + case 15 : + // XQueryLexer.g:1:118: COLLATION + this.mCOLLATION(); + + + break; + case 16 : + // XQueryLexer.g:1:128: COMMENT + this.mCOMMENT(); + + + break; + case 17 : + // XQueryLexer.g:1:136: CONSTRUCTION + this.mCONSTRUCTION(); + + + break; + case 18 : + // XQueryLexer.g:1:149: COPY_NAMESPACES + this.mCOPY_NAMESPACES(); + + + break; + case 19 : + // XQueryLexer.g:1:165: DECLARE + this.mDECLARE(); + + + break; + case 20 : + // XQueryLexer.g:1:173: DEFAULT + this.mDEFAULT(); + + + break; + case 21 : + // XQueryLexer.g:1:181: DESCENDANT + this.mDESCENDANT(); + + + break; + case 22 : + // XQueryLexer.g:1:192: DESCENDANT_OR_SELF + this.mDESCENDANT_OR_SELF(); + + + break; + case 23 : + // XQueryLexer.g:1:211: DESCENDING + this.mDESCENDING(); + + + break; + case 24 : + // XQueryLexer.g:1:222: DIV + this.mDIV(); + + + break; + case 25 : + // XQueryLexer.g:1:226: DOCUMENT + this.mDOCUMENT(); + + + break; + case 26 : + // XQueryLexer.g:1:235: DOCUMENT_NODE + this.mDOCUMENT_NODE(); + + + break; + case 27 : + // XQueryLexer.g:1:249: ELEMENT + this.mELEMENT(); + + + break; + case 28 : + // XQueryLexer.g:1:257: ELSE + this.mELSE(); + + + break; + case 29 : + // XQueryLexer.g:1:262: EMPTY + this.mEMPTY(); + + + break; + case 30 : + // XQueryLexer.g:1:268: EMPTY_SEQUENCE + this.mEMPTY_SEQUENCE(); + + + break; + case 31 : + // XQueryLexer.g:1:283: ENCODING + this.mENCODING(); + + + break; + case 32 : + // XQueryLexer.g:1:292: EQ + this.mEQ(); + + + break; + case 33 : + // XQueryLexer.g:1:295: EVERY + this.mEVERY(); + + + break; + case 34 : + // XQueryLexer.g:1:301: EXCEPT + this.mEXCEPT(); + + + break; + case 35 : + // XQueryLexer.g:1:308: EXTERNAL + this.mEXTERNAL(); + + + break; + case 36 : + // XQueryLexer.g:1:317: FOLLOWING + this.mFOLLOWING(); + + + break; + case 37 : + // XQueryLexer.g:1:327: FOLLOWING_SIBLING + this.mFOLLOWING_SIBLING(); + + + break; + case 38 : + // XQueryLexer.g:1:345: FOR + this.mFOR(); + + + break; + case 39 : + // XQueryLexer.g:1:349: FUNCTION + this.mFUNCTION(); + + + break; + case 40 : + // XQueryLexer.g:1:358: GE + this.mGE(); + + + break; + case 41 : + // XQueryLexer.g:1:361: GREATEST + this.mGREATEST(); + + + break; + case 42 : + // XQueryLexer.g:1:370: GT + this.mGT(); + + + break; + case 43 : + // XQueryLexer.g:1:373: IDIV + this.mIDIV(); + + + break; + case 44 : + // XQueryLexer.g:1:378: IF + this.mIF(); + + + break; + case 45 : + // XQueryLexer.g:1:381: IMPORT + this.mIMPORT(); + + + break; + case 46 : + // XQueryLexer.g:1:388: IN + this.mIN(); + + + break; + case 47 : + // XQueryLexer.g:1:391: INHERIT + this.mINHERIT(); + + + break; + case 48 : + // XQueryLexer.g:1:399: INSTANCE + this.mINSTANCE(); + + + break; + case 49 : + // XQueryLexer.g:1:408: INTERSECT + this.mINTERSECT(); + + + break; + case 50 : + // XQueryLexer.g:1:418: IS + this.mIS(); + + + break; + case 51 : + // XQueryLexer.g:1:421: ITEM + this.mITEM(); + + + break; + case 52 : + // XQueryLexer.g:1:426: LAX + this.mLAX(); + + + break; + case 53 : + // XQueryLexer.g:1:430: LE + this.mLE(); + + + break; + case 54 : + // XQueryLexer.g:1:433: LEAST + this.mLEAST(); + + + break; + case 55 : + // XQueryLexer.g:1:439: LET + this.mLET(); + + + break; + case 56 : + // XQueryLexer.g:1:443: LT + this.mLT(); + + + break; + case 57 : + // XQueryLexer.g:1:446: MOD + this.mMOD(); + + + break; + case 58 : + // XQueryLexer.g:1:450: MODULE + this.mMODULE(); + + + break; + case 59 : + // XQueryLexer.g:1:457: NAMESPACE + this.mNAMESPACE(); + + + break; + case 60 : + // XQueryLexer.g:1:467: NE + this.mNE(); + + + break; + case 61 : + // XQueryLexer.g:1:470: NO_INHERIT + this.mNO_INHERIT(); + + + break; + case 62 : + // XQueryLexer.g:1:481: NO_PRESERVE + this.mNO_PRESERVE(); + + + break; + case 63 : + // XQueryLexer.g:1:493: NODE + this.mNODE(); + + + break; + case 64 : + // XQueryLexer.g:1:498: OF + this.mOF(); + + + break; + case 65 : + // XQueryLexer.g:1:501: OPTION + this.mOPTION(); + + + break; + case 66 : + // XQueryLexer.g:1:508: OR + this.mOR(); + + + break; + case 67 : + // XQueryLexer.g:1:511: ORDER + this.mORDER(); + + + break; + case 68 : + // XQueryLexer.g:1:517: ORDERED + this.mORDERED(); + + + break; + case 69 : + // XQueryLexer.g:1:525: ORDERING + this.mORDERING(); + + + break; + case 70 : + // XQueryLexer.g:1:534: PARENT + this.mPARENT(); + + + break; + case 71 : + // XQueryLexer.g:1:541: PRECEDING + this.mPRECEDING(); + + + break; + case 72 : + // XQueryLexer.g:1:551: PRECEDING_SIBLING + this.mPRECEDING_SIBLING(); + + + break; + case 73 : + // XQueryLexer.g:1:569: PRESERVE + this.mPRESERVE(); + + + break; + case 74 : + // XQueryLexer.g:1:578: PROCESSING_INSTRUCTION + this.mPROCESSING_INSTRUCTION(); + + + break; + case 75 : + // XQueryLexer.g:1:601: RETURN + this.mRETURN(); + + + break; + case 76 : + // XQueryLexer.g:1:608: SATISFIES + this.mSATISFIES(); + + + break; + case 77 : + // XQueryLexer.g:1:618: SCHEMA + this.mSCHEMA(); + + + break; + case 78 : + // XQueryLexer.g:1:625: SCHEMA_ATTRIBUTE + this.mSCHEMA_ATTRIBUTE(); + + + break; + case 79 : + // XQueryLexer.g:1:642: SCHEMA_ELEMENT + this.mSCHEMA_ELEMENT(); + + + break; + case 80 : + // XQueryLexer.g:1:657: SELF + this.mSELF(); + + + break; + case 81 : + // XQueryLexer.g:1:662: SOME + this.mSOME(); + + + break; + case 82 : + // XQueryLexer.g:1:667: STABLE + this.mSTABLE(); + + + break; + case 83 : + // XQueryLexer.g:1:674: STRICT + this.mSTRICT(); + + + break; + case 84 : + // XQueryLexer.g:1:681: STRIP + this.mSTRIP(); + + + break; + case 85 : + // XQueryLexer.g:1:687: TEXT + this.mTEXT(); + + + break; + case 86 : + // XQueryLexer.g:1:692: THEN + this.mTHEN(); + + + break; + case 87 : + // XQueryLexer.g:1:697: TO + this.mTO(); + + + break; + case 88 : + // XQueryLexer.g:1:700: TREAT + this.mTREAT(); + + + break; + case 89 : + // XQueryLexer.g:1:706: TYPESWITCH + this.mTYPESWITCH(); + + + break; + case 90 : + // XQueryLexer.g:1:717: UNION + this.mUNION(); + + + break; + case 91 : + // XQueryLexer.g:1:723: UNORDERED + this.mUNORDERED(); + + + break; + case 92 : + // XQueryLexer.g:1:733: VALIDATE + this.mVALIDATE(); + + + break; + case 93 : + // XQueryLexer.g:1:742: VARIABLE + this.mVARIABLE(); + + + break; + case 94 : + // XQueryLexer.g:1:751: VERSION + this.mVERSION(); + + + break; + case 95 : + // XQueryLexer.g:1:759: WHERE + this.mWHERE(); + + + break; + case 96 : + // XQueryLexer.g:1:765: XQUERY + this.mXQUERY(); + + + break; + case 97 : + // XQueryLexer.g:1:772: CATCH + this.mCATCH(); + + + break; + case 98 : + // XQueryLexer.g:1:778: CONTEXT + this.mCONTEXT(); + + + break; + case 99 : + // XQueryLexer.g:1:786: COUNT + this.mCOUNT(); + + + break; + case 100 : + // XQueryLexer.g:1:792: DECIMAL_FORMAT + this.mDECIMAL_FORMAT(); + + + break; + case 101 : + // XQueryLexer.g:1:807: DECIMAL_SEPARATOR + this.mDECIMAL_SEPARATOR(); + + + break; + case 102 : + // XQueryLexer.g:1:825: DIGIT + this.mDIGIT(); + + + break; + case 103 : + // XQueryLexer.g:1:831: END + this.mEND(); + + + break; + case 104 : + // XQueryLexer.g:1:835: GROUP + this.mGROUP(); + + + break; + case 105 : + // XQueryLexer.g:1:841: GROUPING_SEPARATOR + this.mGROUPING_SEPARATOR(); + + + break; + case 106 : + // XQueryLexer.g:1:860: INFINITY + this.mINFINITY(); + + + break; + case 107 : + // XQueryLexer.g:1:869: MINUS_SIGN + this.mMINUS_SIGN(); + + + break; + case 108 : + // XQueryLexer.g:1:880: NAMESPACE_NODE + this.mNAMESPACE_NODE(); + + + break; + case 109 : + // XQueryLexer.g:1:895: NAN + this.mNAN(); + + + break; + case 110 : + // XQueryLexer.g:1:899: NEXT + this.mNEXT(); + + + break; + case 111 : + // XQueryLexer.g:1:904: ONLY + this.mONLY(); + + + break; + case 112 : + // XQueryLexer.g:1:909: OUTER + this.mOUTER(); + + + break; + case 113 : + // XQueryLexer.g:1:915: PATTERN_SEPARATOR + this.mPATTERN_SEPARATOR(); + + + break; + case 114 : + // XQueryLexer.g:1:933: PERCENT + this.mPERCENT(); + + + break; + case 115 : + // XQueryLexer.g:1:941: PER_MILLE + this.mPER_MILLE(); + + + break; + case 116 : + // XQueryLexer.g:1:951: PREVIOUS + this.mPREVIOUS(); + + + break; + case 117 : + // XQueryLexer.g:1:960: SLIDING + this.mSLIDING(); + + + break; + case 118 : + // XQueryLexer.g:1:968: START + this.mSTART(); + + + break; + case 119 : + // XQueryLexer.g:1:974: TRY + this.mTRY(); + + + break; + case 120 : + // XQueryLexer.g:1:978: TUMBLING + this.mTUMBLING(); + + + break; + case 121 : + // XQueryLexer.g:1:987: WHEN + this.mWHEN(); + + + break; + case 122 : + // XQueryLexer.g:1:992: WINDOW + this.mWINDOW(); + + + break; + case 123 : + // XQueryLexer.g:1:999: ZERO_DIGIT + this.mZERO_DIGIT(); + + + break; + case 124 : + // XQueryLexer.g:1:1010: AFTER + this.mAFTER(); + + + break; + case 125 : + // XQueryLexer.g:1:1016: BEFORE + this.mBEFORE(); + + + break; + case 126 : + // XQueryLexer.g:1:1023: COPY + this.mCOPY(); + + + break; + case 127 : + // XQueryLexer.g:1:1028: DELETE + this.mDELETE(); + + + break; + case 128 : + // XQueryLexer.g:1:1035: FIRST + this.mFIRST(); + + + break; + case 129 : + // XQueryLexer.g:1:1041: INSERT + this.mINSERT(); + + + break; + case 130 : + // XQueryLexer.g:1:1048: INTO + this.mINTO(); + + + break; + case 131 : + // XQueryLexer.g:1:1053: LAST + this.mLAST(); + + + break; + case 132 : + // XQueryLexer.g:1:1058: MODIFY + this.mMODIFY(); + + + break; + case 133 : + // XQueryLexer.g:1:1065: NODES + this.mNODES(); + + + break; + case 134 : + // XQueryLexer.g:1:1071: RENAME + this.mRENAME(); + + + break; + case 135 : + // XQueryLexer.g:1:1078: REPLACE + this.mREPLACE(); + + + break; + case 136 : + // XQueryLexer.g:1:1086: REVALIDATION + this.mREVALIDATION(); + + + break; + case 137 : + // XQueryLexer.g:1:1099: SKIP + this.mSKIP(); + + + break; + case 138 : + // XQueryLexer.g:1:1104: UPDATING + this.mUPDATING(); + + + break; + case 139 : + // XQueryLexer.g:1:1113: VALUE + this.mVALUE(); + + + break; + case 140 : + // XQueryLexer.g:1:1119: WITH + this.mWITH(); + + + break; + case 141 : + // XQueryLexer.g:1:1124: BLOCK + this.mBLOCK(); + + + break; + case 142 : + // XQueryLexer.g:1:1130: CONSTANT + this.mCONSTANT(); + + + break; + case 143 : + // XQueryLexer.g:1:1139: EXIT + this.mEXIT(); + + + break; + case 144 : + // XQueryLexer.g:1:1144: RETURNING + this.mRETURNING(); + + + break; + case 145 : + // XQueryLexer.g:1:1154: SEQUENTIAL + this.mSEQUENTIAL(); + + + break; + case 146 : + // XQueryLexer.g:1:1165: SET + this.mSET(); + + + break; + case 147 : + // XQueryLexer.g:1:1169: SIMPLE + this.mSIMPLE(); + + + break; + case 148 : + // XQueryLexer.g:1:1176: WHILE + this.mWHILE(); + + + break; + case 149 : + // XQueryLexer.g:1:1182: EVAL + this.mEVAL(); + + + break; + case 150 : + // XQueryLexer.g:1:1187: USING + this.mUSING(); + + + break; + case 151 : + // XQueryLexer.g:1:1193: APPEND_ONLY + this.mAPPEND_ONLY(); + + + break; + case 152 : + // XQueryLexer.g:1:1205: AUTOMATICALLY + this.mAUTOMATICALLY(); + + + break; + case 153 : + // XQueryLexer.g:1:1219: CHECK + this.mCHECK(); + + + break; + case 154 : + // XQueryLexer.g:1:1225: COLLECTION + this.mCOLLECTION(); + + + break; + case 155 : + // XQueryLexer.g:1:1236: CONSTRAINT + this.mCONSTRAINT(); + + + break; + case 156 : + // XQueryLexer.g:1:1247: CONST + this.mCONST(); + + + break; + case 157 : + // XQueryLexer.g:1:1253: EQUALITY + this.mEQUALITY(); + + + break; + case 158 : + // XQueryLexer.g:1:1262: FOREACH + this.mFOREACH(); + + + break; + case 159 : + // XQueryLexer.g:1:1270: FOREIGN + this.mFOREIGN(); + + + break; + case 160 : + // XQueryLexer.g:1:1278: FROM + this.mFROM(); + + + break; + case 161 : + // XQueryLexer.g:1:1283: INDEX + this.mINDEX(); + + + break; + case 162 : + // XQueryLexer.g:1:1289: INTEGRITY + this.mINTEGRITY(); + + + break; + case 163 : + // XQueryLexer.g:1:1299: KEY + this.mKEY(); + + + break; + case 164 : + // XQueryLexer.g:1:1303: MAINTAINED + this.mMAINTAINED(); + + + break; + case 165 : + // XQueryLexer.g:1:1314: MANUALLY + this.mMANUALLY(); + + + break; + case 166 : + // XQueryLexer.g:1:1323: MUTABLE + this.mMUTABLE(); + + + break; + case 167 : + // XQueryLexer.g:1:1331: NON + this.mNON(); + + + break; + case 168 : + // XQueryLexer.g:1:1335: ON + this.mON(); + + + break; + case 169 : + // XQueryLexer.g:1:1338: QUEUE + this.mQUEUE(); + + + break; + case 170 : + // XQueryLexer.g:1:1344: RANGE + this.mRANGE(); + + + break; + case 171 : + // XQueryLexer.g:1:1350: READ_ONLY + this.mREAD_ONLY(); + + + break; + case 172 : + // XQueryLexer.g:1:1360: UNIQUE + this.mUNIQUE(); + + + break; + case 173 : + // XQueryLexer.g:1:1367: BINARY + this.mBINARY(); + + + break; + case 174 : + // XQueryLexer.g:1:1374: PRIVATE + this.mPRIVATE(); + + + break; + case 175 : + // XQueryLexer.g:1:1382: AMP_ER + this.mAMP_ER(); + + + break; + case 176 : + // XQueryLexer.g:1:1389: APOS_ER + this.mAPOS_ER(); + + + break; + case 177 : + // XQueryLexer.g:1:1397: QUOT_ER + this.mQUOT_ER(); + + + break; + case 178 : + // XQueryLexer.g:1:1405: LPAREN + this.mLPAREN(); + + + break; + case 179 : + // XQueryLexer.g:1:1412: RPAREN + this.mRPAREN(); + + + break; + case 180 : + // XQueryLexer.g:1:1419: DOLLAR + this.mDOLLAR(); + + + break; + case 181 : + // XQueryLexer.g:1:1426: LBRACKET + this.mLBRACKET(); + + + break; + case 182 : + // XQueryLexer.g:1:1435: RBRACKET + this.mRBRACKET(); + + + break; + case 183 : + // XQueryLexer.g:1:1444: LSQUARE + this.mLSQUARE(); + + + break; + case 184 : + // XQueryLexer.g:1:1452: RSQUARE + this.mRSQUARE(); + + + break; + case 185 : + // XQueryLexer.g:1:1460: EQUAL + this.mEQUAL(); + + + break; + case 186 : + // XQueryLexer.g:1:1466: BIND + this.mBIND(); + + + break; + case 187 : + // XQueryLexer.g:1:1471: NOTEQUAL + this.mNOTEQUAL(); + + + break; + case 188 : + // XQueryLexer.g:1:1480: AMP + this.mAMP(); + + + break; + case 189 : + // XQueryLexer.g:1:1484: COMMA + this.mCOMMA(); + + + break; + case 190 : + // XQueryLexer.g:1:1490: QUESTION + this.mQUESTION(); + + + break; + case 191 : + // XQueryLexer.g:1:1499: STAR + this.mSTAR(); + + + break; + case 192 : + // XQueryLexer.g:1:1504: PLUS + this.mPLUS(); + + + break; + case 193 : + // XQueryLexer.g:1:1509: MINUS + this.mMINUS(); + + + break; + case 194 : + // XQueryLexer.g:1:1515: SMALLER + this.mSMALLER(); + + + break; + case 195 : + // XQueryLexer.g:1:1523: GREATER + this.mGREATER(); + + + break; + case 196 : + // XQueryLexer.g:1:1531: SMALLEREQ + this.mSMALLEREQ(); + + + break; + case 197 : + // XQueryLexer.g:1:1541: GREATEREQ + this.mGREATEREQ(); + + + break; + case 198 : + // XQueryLexer.g:1:1551: SMALLER_SMALLER + this.mSMALLER_SMALLER(); + + + break; + case 199 : + // XQueryLexer.g:1:1567: GREATER_GREATER + this.mGREATER_GREATER(); + + + break; + case 200 : + // XQueryLexer.g:1:1583: SLASH + this.mSLASH(); + + + break; + case 201 : + // XQueryLexer.g:1:1589: SLASH_SLASH + this.mSLASH_SLASH(); + + + break; + case 202 : + // XQueryLexer.g:1:1601: DOT + this.mDOT(); + + + break; + case 203 : + // XQueryLexer.g:1:1605: DOT_DOT + this.mDOT_DOT(); + + + break; + case 204 : + // XQueryLexer.g:1:1613: COLON + this.mCOLON(); + + + break; + case 205 : + // XQueryLexer.g:1:1619: COLON_COLON + this.mCOLON_COLON(); + + + break; + case 206 : + // XQueryLexer.g:1:1631: EMPTY_CLOSE_TAG + this.mEMPTY_CLOSE_TAG(); + + + break; + case 207 : + // XQueryLexer.g:1:1647: CLOSE_TAG + this.mCLOSE_TAG(); + + + break; + case 208 : + // XQueryLexer.g:1:1657: SEMICOLON + this.mSEMICOLON(); + + + break; + case 209 : + // XQueryLexer.g:1:1667: VBAR + this.mVBAR(); + + + break; + case 210 : + // XQueryLexer.g:1:1672: PRAGMA_START + this.mPRAGMA_START(); + + + break; + case 211 : + // XQueryLexer.g:1:1685: PRAGMA_END + this.mPRAGMA_END(); + + + break; + case 212 : + // XQueryLexer.g:1:1696: XML_COMMENT_START + this.mXML_COMMENT_START(); + + + break; + case 213 : + // XQueryLexer.g:1:1714: XML_COMMENT_END + this.mXML_COMMENT_END(); + + + break; + case 214 : + // XQueryLexer.g:1:1730: PI_START + this.mPI_START(); + + + break; + case 215 : + // XQueryLexer.g:1:1739: PI_END + this.mPI_END(); + + + break; + case 216 : + // XQueryLexer.g:1:1746: ATTR_SIGN + this.mATTR_SIGN(); + + + break; + case 217 : + // XQueryLexer.g:1:1756: CHARREF_DEC + this.mCHARREF_DEC(); + + + break; + case 218 : + // XQueryLexer.g:1:1768: CHARREF_HEX + this.mCHARREF_HEX(); + + + break; + case 219 : + // XQueryLexer.g:1:1780: APOS + this.mAPOS(); + + + break; + case 220 : + // XQueryLexer.g:1:1785: QUOT + this.mQUOT(); + + + break; + case 221 : + // XQueryLexer.g:1:1790: L_NCName + this.mL_NCName(); + + + break; + case 222 : + // XQueryLexer.g:1:1799: S + this.mS(); + + + break; + case 223 : + // XQueryLexer.g:1:1801: L_Pragma + this.mL_Pragma(); + + + break; + case 224 : + // XQueryLexer.g:1:1810: L_DirCommentConstructor + this.mL_DirCommentConstructor(); + + + break; + case 225 : + // XQueryLexer.g:1:1834: L_DirPIConstructor + this.mL_DirPIConstructor(); + + + break; + case 226 : + // XQueryLexer.g:1:1853: L_IntegerLiteral + this.mL_IntegerLiteral(); + + + break; + case 227 : + // XQueryLexer.g:1:1870: L_DecimalLiteral + this.mL_DecimalLiteral(); + + + break; + case 228 : + // XQueryLexer.g:1:1887: L_DoubleLiteral + this.mL_DoubleLiteral(); + + + break; + case 229 : + // XQueryLexer.g:1:1903: L_Comment + this.mL_Comment(); + + + break; + case 230 : + // XQueryLexer.g:1:1913: L_AnyChar + this.mL_AnyChar(); + + + break; + + } + + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(XQueryLexer, { + DFA19_eotS: + "\u0001\uffff\u0018\u003e\u0001\u008e\u0007\uffff\u0001\u0098\u0001"+ + "\u0036\u0001\u009b\u0001\uffff\u0001\u009e\u0002\uffff\u0001\u00a2\u0001"+ + "\u00a8\u0001\u00ab\u0001\u00ae\u0001\u00b0\u0002\uffff\u0001\u0036\u0005"+ + "\uffff\u0001\u00b9\u0001\uffff\u0001\u003e\u0001\u00c0\u0001\u00c2\u0004"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u00ca\u000c\u003e\u0001\u00e4\u0006"+ + "\u003e\u0001\u00ef\u0001\u003e\u0001\u00f2\u0001\u003e\u0001\u00f4\u0001"+ + "\u003e\u0001\u00fb\u0001\u00fc\u0002\u003e\u0001\u0102\u0001\u0103\u0005"+ + "\u003e\u0001\u010b\u0001\u003e\u0001\u010f\u0001\u003e\u0001\u0112\u0001"+ + "\u0114\u0010\u003e\u0001\u012f\u000f\u003e\u0001\u0145\u000d\uffff\u0001"+ + "\u0148\u000c\uffff\u0001\u014a\u0009\uffff\u0001\u014c\u0008\uffff\u0001"+ + "\u00b9\u0001\u014c\u0001\uffff\u0001\u003e\u0001\u014f\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u0156\u0002\u003e\u0001"+ + "\uffff\u0010\u003e\u0001\u016c\u0006\u003e\u0001\u0173\u0001\u003e\u0001"+ + "\uffff\u0006\u003e\u0001\u017c\u0003\u003e\u0001\uffff\u0002\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0006\u003e\u0002\uffff\u0001\u003e\u0001"+ + "\u018c\u0002\u003e\u0001\u018f\u0002\uffff\u0001\u0192\u0006\u003e\u0001"+ + "\uffff\u0002\u003e\u0001\u019c\u0001\uffff\u0002\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\uffff\u0011\u003e\u0001\u01b4\u0008\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\u01bf\u000e\u003e\u0001\u01d1\u0001\u003e\u0001\u01d3\u0002"+ + "\u003e\u0008\uffff\u0001\u014c\u0001\u003e\u0001\uffff\u0004\u003e\u0001"+ + "\u01dc\u0001\u003e\u0001\uffff\u0005\u003e\u0001\u01e3\u0001\u01e5\u0007"+ + "\u003e\u0001\u01ef\u0006\u003e\u0001\uffff\u0003\u003e\u0001\u01f9\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u01fe\u0002\u003e\u0001\u0201\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u0207\u0002\u003e\u0001\u020a\u0005"+ + "\u003e\u0001\u0211\u0002\u003e\u0001\u0214\u0001\uffff\u0001\u0215\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0005\u003e\u0001\u021e\u0002"+ + "\u003e\u0001\u0222\u0001\uffff\u0002\u003e\u0001\u0225\u0012\u003e\u0001"+ + "\u0238\u0001\u003e\u0001\uffff\u0001\u023a\u0004\u003e\u0001\u0240\u0001"+ + "\u003e\u0001\u0242\u0001\u0243\u0001\u003e\u0001\uffff\u000c\u003e\u0001"+ + "\u0251\u0002\u003e\u0001\u0254\u0001\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\u0258\u0001\u0259\u0003\u003e\u0001\u025e\u0001"+ + "\u003e\u0001\uffff\u0004\u003e\u0001\u0264\u0001\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\uffff\u0001\u0267\u0001\u0268\u0001\u0269\u0003\u003e\u0001"+ + "\u026f\u0002\u003e\u0001\uffff\u0001\u0272\u0005\u003e\u0001\u0278\u0002"+ + "\u003e\u0001\uffff\u0001\u027c\u0002\u003e\u0001\u027f\u0001\uffff\u0002"+ + "\u003e\u0001\uffff\u0004\u003e\u0001\u0286\u0001\uffff\u0001\u003e\u0001"+ + "\u0289\u0001\uffff\u0006\u003e\u0001\uffff\u0001\u003e\u0001\u0291\u0002"+ + "\uffff\u0001\u0292\u0007\u003e\u0001\uffff\u0002\u003e\u0001\u029c\u0001"+ + "\uffff\u0001\u003e\u0001\u02a0\u0001\uffff\u0001\u02a1\u000e\u003e\u0001"+ + "\u02b0\u0002\u003e\u0001\uffff\u0001\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\u02b5\u0001\u003e\u0001\u02b7\u0001\u003e\u0001\uffff\u0001\u003e\u0002"+ + "\uffff\u0001\u02ba\u0002\u003e\u0001\u02bd\u0003\u003e\u0001\u02c1\u0001"+ + "\u003e\u0001\u02c3\u0002\u003e\u0001\u02c6\u0001\uffff\u0001\u02c7\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u02cb\u0003\uffff\u0003\u003e\u0001"+ + "\uffff\u0004\u003e\u0001\u02d3\u0001\uffff\u0001\u02d4\u0001\u003e\u0003"+ + "\uffff\u0005\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0004\u003e\u0001"+ + "\u02e2\u0001\uffff\u0003\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0001"+ + "\u02e8\u0005\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u02f0\u0002"+ + "\u003e\u0001\u02f3\u0003\u003e\u0002\uffff\u0001\u02f7\u0001\u02f8\u0007"+ + "\u003e\u0001\uffff\u0001\u0300\u0002\u003e\u0002\uffff\u0001\u0303\u0008"+ + "\u003e\u0001\u030d\u0001\u030e\u0003\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\u0314\u0001\u003e\u0001\u0316\u0001\uffff\u0001\u0317\u0001\uffff\u0001"+ + "\u003e\u0001\u0319\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u031c\u0002"+ + "\u003e\u0001\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0002\uffff\u0001"+ + "\u0322\u0001\u0323\u0001\u003e\u0001\uffff\u0007\u003e\u0002\uffff\u0003"+ + "\u003e\u0001\u032f\u0003\u003e\u0001\u0333\u0001\u003e\u0001\u0335\u0001"+ + "\u003e\u0001\u0337\u0001\u003e\u0001\uffff\u0001\u003e\u0001\u033b\u0003"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u0341\u0001\u0342\u0003\u003e\u0001"+ + "\uffff\u0001\u0346\u0001\u003e\u0001\uffff\u0003\u003e\u0002\uffff\u0003"+ + "\u003e\u0001\u034e\u0003\u003e\u0001\uffff\u0001\u0352\u0001\u003e\u0001"+ + "\uffff\u0005\u003e\u0001\u0359\u0001\u035a\u0002\u003e\u0002\uffff\u0001"+ + "\u035d\u0004\u003e\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u0364\u0001"+ + "\uffff\u0002\u003e\u0001\uffff\u0004\u003e\u0001\u036b\u0002\uffff\u0001"+ + "\u003e\u0001\u036e\u0004\u003e\u0001\u0373\u0001\u003e\u0001\u0375\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u037a\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0001\u0381\u0001\uffff\u0001"+ + "\u003e\u0001\u0383\u0001\u0384\u0001\u0385\u0001\u003e\u0002\uffff\u0001"+ + "\u0387\u0001\u0388\u0001\u003e\u0001\uffff\u0001\u038a\u0002\u003e\u0001"+ + "\u038d\u0002\u003e\u0001\u0390\u0001\uffff\u0003\u003e\u0001\uffff\u0001"+ + "\u0394\u0002\u003e\u0001\u0397\u0001\u0398\u0001\u003e\u0002\uffff\u0002"+ + "\u003e\u0001\uffff\u0006\u003e\u0001\uffff\u0001\u003e\u0001\u03a3\u0001"+ + "\u003e\u0001\u03a5\u0001\u03a6\u0001\u03a7\u0001\uffff\u0002\u003e\u0001"+ + "\uffff\u0001\u03aa\u0001\u03ab\u0002\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u03af\u0003\u003e\u0001\uffff\u0006\u003e\u0001\uffff\u0001"+ + "\u003e\u0003\uffff\u0001\u03bb\u0002\uffff\u0001\u003e\u0001\uffff\u0001"+ + "\u03bd\u0001\u03be\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u03c2\u0002"+ + "\u003e\u0001\uffff\u0001\u003e\u0001\u03c7\u0002\uffff\u0001\u003e\u0001"+ + "\u03c9\u0001\u03ca\u0001\u003e\u0001\u03cc\u0001\u03cd\u0004\u003e\u0001"+ + "\uffff\u0001\u03d2\u0003\uffff\u0002\u003e\u0002\uffff\u0003\u003e\u0001"+ + "\uffff\u0001\u03d8\u0001\u003e\u0001\u03da\u0003\u003e\u0001\u03df\u0001"+ + "\u03e0\u0003\u003e\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u03e5\u0001"+ + "\u03e6\u0001\u003e\u0001\uffff\u0001\u03e8\u0003\u003e\u0001\uffff\u0001"+ + "\u003e\u0002\uffff\u0001\u003e\u0002\uffff\u0002\u003e\u0001\u03f0\u0001"+ + "\u03f1\u0001\uffff\u0001\u03f2\u0001\u003e\u0001\u03f4\u0002\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0002\uffff\u0004\u003e\u0002"+ + "\uffff\u0001\u003e\u0001\uffff\u0001\u0401\u0006\u003e\u0003\uffff\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u040b\u0009\u003e\u0001\uffff\u0003"+ + "\u003e\u0001\u0418\u0003\u003e\u0001\u041c\u0001\u003e\u0001\uffff\u0004"+ + "\u003e\u0001\u0422\u0007\u003e\u0001\uffff\u0003\u003e\u0001\uffff\u0001"+ + "\u042d\u0001\u003e\u0001\u042f\u0002\u003e\u0001\uffff\u0001\u0432\u0002"+ + "\u003e\u0001\u0435\u0004\u003e\u0001\u043a\u0001\u003e\u0001\uffff\u0001"+ + "\u043c\u0001\uffff\u0002\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0004"+ + "\u003e\u0001\uffff\u0001\u0445\u0001\uffff\u0007\u003e\u0001\u044d\u0001"+ + "\uffff\u0001\u044e\u0001\u003e\u0001\u0450\u0001\u003e\u0001\u0452\u0001"+ + "\u0453\u0001\u003e\u0002\uffff\u0001\u0455\u0001\uffff\u0001\u0456\u0002"+ + "\uffff\u0001\u003e\u0002\uffff\u0003\u003e\u0001\u045b\u0001\uffff", + DFA19_eofS: + "\u045c\uffff", + DFA19_minS: + "\u0001\u0000\u0001\u0066\u0002\u0061\u0001\u0065\u0001\u006c\u0001"+ + "\u0069\u0001\u0065\u0001\u0064\u0003\u0061\u0001\u0066\u0003\u0061\u0001"+ + "\u0065\u0001\u006e\u0001\u0061\u0001\u0068\u0001\u0071\u0001\u0061\u0002"+ + "\u0065\u0001\u0075\u0001\u0023\u0007\uffff\u0001\u003a\u0001\u003d\u0001"+ + "\u0023\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u002d\u0001\u0021\u0001"+ + "\u003d\u0001\u002f\u0001\u002e\u0002\uffff\u0001\u0029\u0005\uffff\u0001"+ + "\u002e\u0001\uffff\u0001\u0063\u0002\u002d\u0001\u0074\u0001\u006f\u0001"+ + "\u0074\u0001\u0070\u0001\uffff\u0001\u0073\u0001\u0075\u0001\u002d\u0001"+ + "\u0066\u0001\u006f\u0001\u006e\u0001\u0073\u0001\u0065\u0001\u006c\u0001"+ + "\u0063\u0001\u0067\u0001\u0063\u0001\u0065\u0001\u0070\u0001\u0063\u0001"+ + "\u002d\u0001\u0061\u0001\u0063\u0001\u006c\u0001\u006e\u0001\u0072\u0001"+ + "\u006f\u0001\u002d\u0001\u0065\u0001\u002d\u0001\u0069\u0001\u002d\u0001"+ + "\u0070\u0002\u002d\u0001\u0065\u0001\u0073\u0002\u002d\u0001\u0064\u0001"+ + "\u006e\u0001\u0069\u0001\u0074\u0001\u006d\u0003\u002d\u0001\u0074\u0002"+ + "\u002d\u0001\u0074\u0001\u0072\u0001\u0065\u0001\u0072\u0001\u0061\u0001"+ + "\u006e\u0001\u0074\u0001\u0068\u0001\u006c\u0001\u006d\u0001\u0061\u0002"+ + "\u0069\u0001\u006d\u0001\u0078\u0001\u0065\u0001\u002d\u0001\u0065\u0001"+ + "\u0070\u0001\u006d\u0001\u0069\u0001\u0064\u0001\u0069\u0001\u006c\u0001"+ + "\u0072\u0001\u0065\u0001\u006e\u0001\u0075\u0001\u004e\u0001\u0072\u0001"+ + "\u0079\u0001\u0065\u0001\u0009\u000d\uffff\u0001\u0078\u000b\uffff\u0001"+ + "\u002d\u0001\u0009\u0009\uffff\u0001\u0030\u0008\uffff\u0001\u002e\u0001"+ + "\u0030\u0001\uffff\u0001\u0065\u0001\u002d\u0001\u0065\u0001\uffff\u0001"+ + "\u0072\u0001\uffff\u0002\u0065\u0001\u0073\u0001\u006f\u0001\u002d\u0001"+ + "\u0065\u0001\u006e\u0001\uffff\u0001\u006f\u0001\u0063\u0001\u0061\u0001"+ + "\u0065\u0001\u0063\u0001\u006c\u0001\u0063\u0001\u006c\u0001\u006d\u0001"+ + "\u0073\u0001\u0079\u0001\u006e\u0001\u0069\u0001\u0061\u0001\u0063\u0001"+ + "\u0065\u0001\u002d\u0001\u0069\u0001\u0075\u0001\u006d\u0001\u0065\u0001"+ + "\u0074\u0001\u006f\u0001\u002d\u0001\u0061\u0001\uffff\u0001\u0072\u0001"+ + "\u006c\u0002\u0065\u0001\u0074\u0001\u006c\u0001\u002d\u0001\u0063\u0001"+ + "\u0073\u0001\u006d\u0001\uffff\u0001\u0061\u0001\u0075\u0001\uffff\u0001"+ + "\u0076\u0001\uffff\u0001\u006f\u0003\u0065\u0001\u0069\u0001\u0065\u0002"+ + "\uffff\u0001\u006d\u0001\u002d\u0001\u0074\u0001\u0073\u0001\u002d\u0002"+ + "\uffff\u0001\u002d\u0001\u0075\u0001\u006e\u0001\u0075\u0001\u0061\u0001"+ + "\u0065\u0001\u0074\u0001\uffff\u0001\u0069\u0001\u0065\u0001\u002d\u0001"+ + "\uffff\u0001\u0069\u0001\u0065\u0001\uffff\u0001\u0079\u0001\uffff\u0002"+ + "\u0065\u0001\u0074\u0002\u0063\u0001\u0076\u0001\u002d\u0001\u0075\u0001"+ + "\u0061\u0001\u006c\u0001\u0061\u0001\u0064\u0001\u0067\u0001\u0069\u0001"+ + "\u0065\u0001\u0066\u0001\u0075\u0001\u002d\u0001\u0065\u0001\u0062\u0001"+ + "\u0069\u0001\u0064\u0002\u0070\u0001\u0074\u0001\u006e\u0001\uffff\u0001"+ + "\u0061\u0001\u002d\u0001\u0065\u0001\u0062\u0001\u006f\u0001\u0072\u0001"+ + "\u0061\u0001\u006e\u0002\u0069\u0001\u0073\u0001\u006e\u0001\u006c\u0001"+ + "\u0064\u0001\u0068\u0001\u0065\u0001\u002d\u0001\u006f\u0001\u002d\u0001"+ + "\u0075\u0001\u0074\u0004\uffff\u0001\u002d\u0003\uffff\u0001\u0030\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0069\u0001\u0072\u0001\u006e\u0001"+ + "\u002d\u0001\u006d\u0001\uffff\u0001\u002d\u0001\u0064\u0001\u0072\u0001"+ + "\u006b\u0001\u0072\u0002\u002d\u0001\u0068\u0001\u0064\u0001\u006b\u0001"+ + "\u0061\u0001\u0065\u0001\u0074\u0001\u0065\u0001\u002d\u0001\u0074\u0001"+ + "\u0061\u0001\u006d\u0001\u0075\u0001\u0065\u0001\u0074\u0001\uffff\u0001"+ + "\u0074\u0001\u006d\u0001\u0065\u0001\u002d\u0001\u0079\u0001\u0064\u0001"+ + "\uffff\u0001\u006c\u0001\u0079\u0001\u002d\u0001\u0070\u0001\u0072\u0001"+ + "\u002d\u0001\u006f\u0001\u0061\u0001\uffff\u0002\u0074\u0001\u002d\u0001"+ + "\u0074\u0001\u0070\u0001\u002d\u0002\u0072\u0001\u0061\u0001\u0072\u0001"+ + "\u0067\u0001\u002d\u0001\u006e\u0001\u0078\u0001\u002d\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u0066\u0001\uffff\u0001"+ + "\u0073\u0001\u0074\u0001\u0061\u0001\u0062\u0001\u0073\u0001\u002d\u0001"+ + "\u006e\u0001\u0072\u0001\u002d\u0001\uffff\u0001\u006f\u0001\u0072\u0001"+ + "\u002d\u0001\u0072\u0001\u006e\u0003\u0065\u0001\u0069\u0001\u0065\u0001"+ + "\u0061\u0001\u0065\u0001\u006d\u0001\u0072\u0001\u006d\u0001\u0061\u0001"+ + "\u006c\u0001\u002d\u0001\u0065\u0001\u0073\u0001\u006d\u0001\u002d\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\u006c\u0001\u0074\u0001\u0063\u0001"+ + "\u0069\u0001\u002d\u0001\u006c\u0002\u002d\u0001\u0074\u0001\uffff\u0001"+ + "\u0073\u0001\u006c\u0001\u006e\u0001\u0075\u0001\u0064\u0001\u0074\u0001"+ + "\u0067\u0001\u0064\u0001\u0065\u0001\u0061\u0001\u0069\u0001\u0065\u0001"+ + "\u002d\u0001\u0065\u0001\u006f\u0001\u002d\u0001\u0072\u0001\uffff\u0001"+ + "\u002d\u0001\uffff\u0001\u0065\u0001\u002d\u0001\u0000\u0001\u0074\u0001"+ + "\u0064\u0001\u0062\u0001\u002d\u0001\u0064\u0001\uffff\u0001\u0061\u0001"+ + "\u0075\u0001\u0061\u0001\u0065\u0001\u002d\u0001\u0079\u0001\uffff\u0001"+ + "\u0062\u0001\uffff\u0003\u002d\u0001\u0074\u0001\u0063\u0001\u006e\u0001"+ + "\u002d\u0001\u0078\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0072\u0001"+ + "\u0061\u0001\u006c\u0001\u006e\u0001\u0065\u0001\u002d\u0001\u0065\u0001"+ + "\u006e\u0001\uffff\u0001\u002d\u0002\u0069\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\uffff\u0001\u0077\u0001\u0063\u0001\u0067\u0001"+ + "\u0069\u0001\u002d\u0001\uffff\u0001\u0065\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u0069\u0001\u006e\u0001\u0074\u0001\u0073\u0001\u0072\u0001"+ + "\uffff\u0001\u0069\u0001\u002d\u0002\uffff\u0001\u002d\u0001\u0065\u0001"+ + "\u0079\u0001\u002d\u0001\u0061\u0002\u006c\u0001\u0070\u0001\uffff\u0001"+ + "\u0068\u0001\u0065\u0001\u002d\u0001\uffff\u0001\u006e\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0074\u0001\u0072\u0001\u0064\u0001\u0072\u0001"+ + "\u006f\u0001\u0073\u0001\u0074\u0001\u006e\u0001\u0069\u0001\u006e\u0001"+ + "\u0065\u0001\u0063\u0001\u0069\u0001\u006f\u0001\u002d\u0001\u0066\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0065\u0001\u002d\u0001"+ + "\u0074\u0001\u002d\u0001\u006e\u0001\uffff\u0001\u0065\u0002\uffff\u0001"+ + "\u002d\u0001\u0077\u0001\u0069\u0001\u002d\u0002\u0065\u0001\u0069\u0001"+ + "\u002d\u0001\u0061\u0001\u002d\u0001\u0062\u0001\u006f\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0077\u0001\uffff\u0001\u0079\u0001\u0064\u0001"+ + "\u002d\u0003\uffff\u0001\u006f\u0001\u0069\u0001\u0075\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0002\u0072\u0001\u002d\u0001\uffff\u0001\u002d\u0001"+ + "\u006c\u0003\uffff\u0001\u0069\u0002\u0074\u0001\u0061\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\u0061\u0001\uffff\u0001\u0065\u0001\u006c\u0001"+ + "\u0074\u0001\u0064\u0001\u002d\u0001\uffff\u0001\u006e\u0001\u0074\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u002d\u0001"+ + "\u0061\u0001\u0069\u0001\u0068\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0073\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0074\u0001\u0063\u0001"+ + "\u002d\u0001\u0065\u0001\u0069\u0001\u0074\u0002\uffff\u0002\u002d\u0001"+ + "\u0073\u0001\u0069\u0001\u006c\u0001\u0065\u0001\u0061\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u002d\u0001\u0064\u0001\u006e\u0002\uffff\u0001"+ + "\u002d\u0001\u006e\u0001\u0069\u0001\u0076\u0001\u0075\u0001\u0073\u0001"+ + "\u0065\u0001\u0074\u0001\u006c\u0002\u002d\u0001\u0065\u0001\u0064\u0001"+ + "\u006e\u0001\uffff\u0001\u0069\u0001\u002d\u0001\u0074\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\uffff\u0001\u0067\u0001\u002d\u0001\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0072\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u006e\u0002\uffff\u0002"+ + "\u002d\u0001\u0069\u0001\uffff\u0001\u0072\u0001\u006e\u0001\u0074\u0001"+ + "\u006f\u0002\u0069\u0001\u0079\u0002\uffff\u0001\u0065\u0001\u006f\u0001"+ + "\u0069\u0001\u002d\u0001\u0063\u0001\u0069\u0001\u0074\u0001\u002d\u0001"+ + "\u006d\u0003\u002d\u0001\u0061\u0001\uffff\u0001\u0074\u0001\u002d\u0001"+ + "\u0065\u0001\u0067\u0001\u0079\u0001\uffff\u0001\u006c\u0001\u006e\u0002"+ + "\u002d\u0001\u006e\u0001\u0074\u0001\u0067\u0001\uffff\u0001\u002d\u0001"+ + "\u0065\u0001\uffff\u0001\u0063\u0001\u0074\u0001\u0079\u0002\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\u0079\u0001\u002d\u0001\u0063\u0001\u0072\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\u0067\u0001\uffff\u0001\u002d\u0001"+ + "\u006e\u0001\u0065\u0001\u0073\u0001\u0069\u0002\u002d\u0001\u006c\u0001"+ + "\u006e\u0002\uffff\u0001\u002d\u0001\u0061\u0001\u006c\u0001\u0065\u0001"+ + "\u0061\u0001\uffff\u0001\u0069\u0002\uffff\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u0067\u0001\uffff\u0001\u0065\u0001\u0067\u0002\u0065\u0001"+ + "\u002d\u0002\uffff\u0001\u0067\u0001\u002d\u0001\u0067\u0001\u0065\u0001"+ + "\u006e\u0001\u0063\u0003\u002d\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\u002d\u0001\uffff\u0001\u0065\u0001\uffff\u0001"+ + "\u0066\u0001\uffff\u0002\u006e\u0001\u002d\u0001\uffff\u0001\u0071\u0003"+ + "\u002d\u0001\u0067\u0002\uffff\u0003\u002d\u0001\uffff\u0001\u002d\u0001"+ + "\u0074\u0001\u0079\u0001\u002d\u0001\u0067\u0001\u0065\u0001\u002d\u0001"+ + "\uffff\u0001\u0065\u0001\u0069\u0001\u0072\u0001\uffff\u0001\u002d\u0001"+ + "\u0073\u0001\u0067\u0002\u002d\u0001\u006e\u0002\uffff\u0001\u0065\u0001"+ + "\u0067\u0001\uffff\u0001\u0074\u0001\u0079\u0001\u0073\u0001\u0074\u0001"+ + "\u006c\u0001\u0061\u0001\uffff\u0001\u0063\u0001\u002d\u0001\u0064\u0003"+ + "\u002d\u0001\uffff\u0001\u0069\u0001\u006f\u0001\uffff\u0002\u002d\u0001"+ + "\u006c\u0001\u0061\u0001\uffff\u0001\u0073\u0001\uffff\u0001\u002d\u0001"+ + "\u006e\u0001\u0069\u0001\u0074\u0001\uffff\u0001\u0073\u0001\u006f\u0001"+ + "\u0065\u0001\u0074\u0001\u0067\u0001\u006e\u0001\uffff\u0001\u0075\u0003"+ + "\uffff\u0001\u002d\u0002\uffff\u0001\u0073\u0001\uffff\u0002\u002d\u0001"+ + "\uffff\u0001\u006e\u0001\u0064\u0001\uffff\u0001\u002d\u0001\u0074\u0001"+ + "\u0076\u0001\uffff\u0001\u0065\u0001\u002d\u0002\uffff\u0001\u0067\u0002"+ + "\u002d\u0001\u0069\u0002\u002d\u0001\u0074\u0001\u0065\u0001\u006c\u0001"+ + "\u0068\u0001\uffff\u0001\u002d\u0003\uffff\u0001\u0074\u0001\u0072\u0002"+ + "\uffff\u0001\u0079\u0001\u006c\u0001\u0070\u0001\uffff\u0001\u002d\u0001"+ + "\u006f\u0001\u002d\u0001\u0070\u0001\u0072\u0001\u0070\u0002\u002d\u0001"+ + "\u006f\u0001\u0065\u0001\u0073\u0001\uffff\u0001\u0065\u0002\uffff\u0002"+ + "\u002d\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0065\u0001\u0070\u0001"+ + "\u0073\u0001\uffff\u0001\u002d\u0002\uffff\u0001\u006f\u0002\uffff\u0001"+ + "\u0072\u0001\u006d\u0002\u002d\u0001\uffff\u0003\u002d\u0001\u006c\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0061\u0001\u006d\u0001"+ + "\u0061\u0001\u006f\u0002\uffff\u0001\u0064\u0001\u006e\u0001\u0069\u0001"+ + "\u0070\u0002\uffff\u0001\u006f\u0001\uffff\u0001\u002d\u0001\u0061\u0002"+ + "\u0069\u0001\u006e\u0001\u0069\u0001\u0065\u0003\uffff\u0001\u0073\u0001"+ + "\uffff\u0001\u0079\u0001\u0063\u0001\u002d\u0001\u0063\u0001\u0061\u0002"+ + "\u0072\u0001\u0065\u0001\u0063\u0001\u0062\u0001\u0061\u0001\u0064\u0001"+ + "\uffff\u0001\u0072\u0001\u0062\u0001\u006e\u0001\u002d\u0001\u0062\u0001"+ + "\u006e\u0001\u0065\u0001\u002d\u0001\u0065\u0001\uffff\u0001\u0065\u0001"+ + "\u0074\u0001\u0061\u0002\u002d\u0001\u0065\u0001\u006c\u0001\u0072\u0001"+ + "\u0065\u0001\u0061\u0001\u006c\u0001\u0073\u0001\uffff\u0001\u0075\u0001"+ + "\u0074\u0001\u006c\u0001\uffff\u0001\u002d\u0001\u0073\u0001\u002d\u0001"+ + "\u0074\u0001\u0073\u0001\uffff\u0001\u002d\u0001\u0069\u0001\u0061\u0001"+ + "\u002d\u0001\u0074\u0001\u0069\u0002\u0074\u0001\u002d\u0001\u0066\u0001"+ + "\uffff\u0001\u002d\u0001\uffff\u0001\u006f\u0001\u0065\u0001\uffff\u0001"+ + "\u006e\u0001\u0074\u0001\uffff\u0001\u006f\u0001\u006e\u0001\u0072\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\uffff\u0001\u0072\u0001\u006c\u0001"+ + "\u0067\u0001\u006f\u0001\u0072\u0001\u0067\u0001\u0075\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0066\u0001\u002d\u0001\u0072\u0002\u002d\u0001"+ + "\u0063\u0002\uffff\u0001\u002d\u0001\uffff\u0001\u002d\u0002\uffff\u0001"+ + "\u0074\u0002\uffff\u0001\u0069\u0001\u006f\u0001\u006e\u0001\u002d\u0001"+ + "\uffff", + DFA19_maxS: + "\u0001\uffff\u0001\u0075\u0001\u0079\u0002\u006f\u0001\u0078\u0001"+ + "\u0075\u0003\u0074\u0001\u0075\u0001\u006f\u0001\u0075\u0001\u0072\u0001"+ + "\u0065\u0001\u0074\u0001\u0079\u0001\u0073\u0001\u0065\u0001\u0069\u0001"+ + "\u0071\u0001\u0061\u0002\u0065\u0001\u0075\u0001\u003a\u0007\uffff\u0002"+ + "\u003d\u0001\u0023\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u002d\u0001"+ + "\u003f\u0002\u003e\u0001\u0039\u0002\uffff\u0001\u0029\u0005\uffff\u0001"+ + "\u0065\u0001\uffff\u0001\u0064\u0002\u007a\u0001\u0074\u0001\u0070\u0001"+ + "\u0074\u0001\u0070\u0001\uffff\u0001\u0073\u0001\u0075\u0001\u007a\u0001"+ + "\u0066\u0001\u006f\u0001\u006e\u0001\u0074\u0001\u0069\u0001\u0075\u0001"+ + "\u0073\u0001\u0076\u0001\u0063\u0001\u0073\u0001\u0070\u0001\u0064\u0001"+ + "\u007a\u0001\u0065\u0001\u0074\u0001\u0072\u0001\u006e\u0001\u0072\u0001"+ + "\u006f\u0001\u007a\u0001\u006f\u0001\u007a\u0001\u0069\u0001\u007a\u0001"+ + "\u0070\u0002\u007a\u0001\u0065\u0001\u0078\u0002\u007a\u0001\u0064\u0002"+ + "\u006e\u0001\u0074\u0001\u006d\u0001\u007a\u0001\u006e\u0001\u007a\u0001"+ + "\u0074\u0002\u007a\u0002\u0074\u0001\u006f\u0001\u0072\u0001\u0076\u0001"+ + "\u006e\u0001\u0074\u0001\u0068\u0001\u0074\u0001\u006d\u0001\u0072\u0002"+ + "\u0069\u0001\u006d\u0001\u0078\u0001\u0065\u0001\u007a\u0001\u0079\u0001"+ + "\u0070\u0001\u006d\u0001\u006f\u0001\u0064\u0001\u0069\u0002\u0072\u0001"+ + "\u0069\u0001\u0074\u0001\u0075\u0001\u004e\u0001\u0072\u0001\u0079\u0001"+ + "\u006f\u0001\u007a\u000d\uffff\u0001\u0078\u000b\uffff\u0001\u002d\u0001"+ + "\u007a\u0009\uffff\u0001\u0065\u0008\uffff\u0002\u0065\u0001\uffff\u0001"+ + "\u0065\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0072\u0001\uffff\u0002"+ + "\u0065\u0001\u0073\u0001\u006f\u0001\u007a\u0001\u0065\u0001\u006e\u0001"+ + "\uffff\u0001\u006f\u0001\u0063\u0001\u0061\u0001\u0074\u0001\u0063\u0001"+ + "\u006c\u0001\u0063\u0001\u006c\u0001\u006d\u0001\u0074\u0001\u0079\u0001"+ + "\u006e\u0001\u006c\u0001\u0061\u0001\u0063\u0001\u0065\u0001\u007a\u0001"+ + "\u0069\u0001\u0075\u0001\u006d\u0001\u0065\u0001\u0074\u0001\u006f\u0001"+ + "\u007a\u0001\u0061\u0001\uffff\u0001\u0072\u0001\u006c\u0002\u0065\u0001"+ + "\u0074\u0001\u006c\u0001\u007a\u0001\u0063\u0001\u0073\u0001\u006d\u0001"+ + "\uffff\u0001\u0061\u0001\u0075\u0001\uffff\u0001\u0076\u0001\uffff\u0001"+ + "\u006f\u0001\u0065\u0001\u0074\u0001\u006f\u0001\u0069\u0001\u0065\u0002"+ + "\uffff\u0001\u006d\u0001\u007a\u0001\u0074\u0001\u0073\u0001\u007a\u0002"+ + "\uffff\u0001\u007a\u0001\u0075\u0001\u006e\u0001\u0075\u0001\u0061\u0001"+ + "\u0065\u0001\u0074\u0001\uffff\u0001\u0070\u0001\u0065\u0001\u007a\u0001"+ + "\uffff\u0001\u0069\u0001\u0065\u0001\uffff\u0001\u0079\u0001\uffff\u0002"+ + "\u0065\u0001\u0074\u0001\u0076\u0001\u0063\u0001\u0076\u0001\u0063\u0001"+ + "\u0075\u0001\u0061\u0001\u006c\u0001\u0061\u0001\u0064\u0001\u0067\u0001"+ + "\u0069\u0001\u0065\u0001\u0066\u0001\u0075\u0001\u007a\u0001\u0065\u0001"+ + "\u0072\u0001\u0069\u0001\u0064\u0002\u0070\u0001\u0074\u0001\u006e\u0001"+ + "\uffff\u0001\u0061\u0001\u007a\u0001\u0065\u0001\u0062\u0001\u0071\u0001"+ + "\u0072\u0001\u0061\u0001\u006e\u0001\u0075\u0001\u0069\u0001\u0073\u0001"+ + "\u0072\u0001\u006c\u0001\u0064\u0001\u0068\u0001\u0065\u0001\u007a\u0001"+ + "\u006f\u0001\u007a\u0001\u0075\u0001\u0074\u0004\uffff\u0001\u002d\u0003"+ + "\uffff\u0001\u0065\u0001\u0073\u0001\uffff\u0001\u006e\u0001\u0069\u0001"+ + "\u0072\u0001\u006e\u0001\u007a\u0001\u006d\u0001\uffff\u0001\u002d\u0001"+ + "\u0064\u0001\u0072\u0001\u006b\u0001\u0072\u0002\u007a\u0001\u0068\u0001"+ + "\u0064\u0001\u006b\u0002\u0065\u0001\u0074\u0001\u0065\u0001\u007a\u0001"+ + "\u0074\u0001\u0061\u0001\u006d\u0001\u0075\u0001\u0065\u0001\u0074\u0001"+ + "\uffff\u0001\u0074\u0001\u006d\u0001\u0065\u0001\u007a\u0001\u0079\u0001"+ + "\u0064\u0001\uffff\u0001\u006c\u0001\u0079\u0001\u007a\u0001\u0070\u0001"+ + "\u0072\u0001\u007a\u0001\u006f\u0001\u0069\u0001\uffff\u0002\u0074\u0001"+ + "\u007a\u0001\u0074\u0001\u0070\u0001\u007a\u0002\u0072\u0001\u0061\u0002"+ + "\u0072\u0001\u007a\u0001\u006e\u0001\u0078\u0001\u007a\u0001\uffff\u0001"+ + "\u007a\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u0066\u0001\uffff\u0001"+ + "\u0073\u0001\u0074\u0001\u0061\u0001\u0062\u0001\u0073\u0001\u007a\u0001"+ + "\u006e\u0001\u0072\u0001\u007a\u0001\uffff\u0001\u006f\u0001\u0072\u0001"+ + "\u007a\u0001\u0072\u0001\u006e\u0003\u0065\u0001\u0069\u0001\u0065\u0001"+ + "\u0061\u0001\u0065\u0001\u006d\u0001\u0072\u0001\u006d\u0001\u0061\u0001"+ + "\u006c\u0001\u002d\u0001\u0065\u0001\u0073\u0001\u006d\u0001\u007a\u0001"+ + "\u0065\u0001\uffff\u0001\u007a\u0001\u006c\u0001\u0074\u0001\u0070\u0001"+ + "\u0069\u0001\u007a\u0001\u006c\u0002\u007a\u0001\u0074\u0001\uffff\u0001"+ + "\u0073\u0001\u006c\u0001\u006e\u0001\u0075\u0001\u0064\u0001\u0074\u0001"+ + "\u0067\u0001\u0064\u0001\u0065\u0001\u0061\u0001\u0069\u0001\u0065\u0001"+ + "\u007a\u0001\u0065\u0001\u006f\u0001\u007a\u0001\u0072\u0001\uffff\u0001"+ + "\u002d\u0001\uffff\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u0074\u0001"+ + "\u0064\u0001\u0062\u0001\u007a\u0001\u0064\u0001\uffff\u0001\u0061\u0001"+ + "\u0075\u0001\u0061\u0001\u0065\u0001\u007a\u0001\u0079\u0001\uffff\u0001"+ + "\u0062\u0001\uffff\u0003\u007a\u0001\u0074\u0001\u0063\u0001\u006e\u0001"+ + "\u007a\u0001\u0078\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0072\u0001"+ + "\u0061\u0001\u006c\u0001\u006e\u0001\u0065\u0001\u007a\u0001\u0065\u0001"+ + "\u006e\u0001\uffff\u0001\u007a\u0002\u0069\u0001\u007a\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\uffff\u0001\u0077\u0001\u0063\u0001\u0067\u0001"+ + "\u0069\u0001\u007a\u0001\uffff\u0001\u0065\u0001\u007a\u0001\uffff\u0001"+ + "\u0074\u0001\u0069\u0001\u006e\u0001\u0074\u0001\u0073\u0001\u0072\u0001"+ + "\uffff\u0001\u0069\u0001\u007a\u0002\uffff\u0001\u007a\u0001\u0065\u0001"+ + "\u0079\u0001\u002d\u0001\u0061\u0002\u006c\u0001\u0070\u0001\uffff\u0001"+ + "\u0068\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u006e\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\u0074\u0001\u0072\u0001\u0064\u0001\u0072\u0001"+ + "\u006f\u0001\u0073\u0001\u0074\u0001\u006e\u0001\u0069\u0001\u006e\u0001"+ + "\u0065\u0001\u0063\u0001\u0069\u0001\u006f\u0001\u007a\u0001\u0066\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0065\u0001\u007a\u0001"+ + "\u0074\u0001\u007a\u0001\u006e\u0001\uffff\u0001\u0065\u0002\uffff\u0001"+ + "\u007a\u0001\u0077\u0001\u0069\u0001\u007a\u0002\u0065\u0001\u0069\u0001"+ + "\u007a\u0001\u0061\u0001\u007a\u0001\u0062\u0001\u006f\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\u0077\u0001\uffff\u0001\u0079\u0001\u0064\u0001"+ + "\u007a\u0003\uffff\u0001\u006f\u0001\u0069\u0001\u0075\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0002\u0072\u0001\u007a\u0001\uffff\u0001\u007a\u0001"+ + "\u006c\u0003\uffff\u0001\u0069\u0002\u0074\u0001\u0075\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\u0061\u0001\uffff\u0001\u0065\u0001\u006c\u0001"+ + "\u0074\u0001\u0064\u0001\u007a\u0001\uffff\u0001\u006e\u0001\u0074\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u007a\u0001"+ + "\u0061\u0001\u0069\u0001\u0068\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0073\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0063\u0001"+ + "\u007a\u0001\u0065\u0001\u0069\u0001\u0074\u0002\uffff\u0002\u007a\u0001"+ + "\u0073\u0001\u0069\u0001\u006c\u0001\u0065\u0001\u0061\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u007a\u0001\u0064\u0001\u006e\u0002\uffff\u0001"+ + "\u007a\u0001\u006e\u0001\u0069\u0001\u0076\u0001\u0075\u0001\u0073\u0001"+ + "\u0065\u0001\u0074\u0001\u006c\u0002\u007a\u0001\u0065\u0001\u0064\u0001"+ + "\u006e\u0001\uffff\u0001\u0069\u0001\u007a\u0001\u0074\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\uffff\u0001\u0067\u0001\u007a\u0001\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0072\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u006e\u0002\uffff\u0002"+ + "\u007a\u0001\u0069\u0001\uffff\u0001\u0072\u0001\u006e\u0001\u0074\u0001"+ + "\u006f\u0002\u0069\u0001\u0079\u0002\uffff\u0001\u0065\u0001\u006f\u0001"+ + "\u0069\u0001\u007a\u0001\u0063\u0001\u0069\u0001\u0074\u0001\u007a\u0001"+ + "\u006d\u0001\u007a\u0001\u002d\u0001\u007a\u0001\u0069\u0001\uffff\u0001"+ + "\u0074\u0001\u007a\u0001\u0065\u0001\u0067\u0001\u0079\u0001\uffff\u0001"+ + "\u006c\u0001\u006e\u0002\u007a\u0001\u006e\u0001\u0074\u0001\u0067\u0001"+ + "\uffff\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0063\u0001\u0074\u0001"+ + "\u0079\u0002\uffff\u0001\u0069\u0001\u006e\u0001\u0079\u0001\u007a\u0001"+ + "\u0063\u0001\u0072\u0001\u0065\u0001\uffff\u0001\u007a\u0001\u0067\u0001"+ + "\uffff\u0001\u002d\u0001\u006e\u0001\u0065\u0001\u0073\u0001\u0069\u0002"+ + "\u007a\u0001\u006c\u0001\u006e\u0002\uffff\u0001\u007a\u0001\u0061\u0001"+ + "\u006c\u0002\u0065\u0001\uffff\u0001\u0069\u0002\uffff\u0001\u007a\u0001"+ + "\uffff\u0001\u0074\u0001\u0067\u0001\uffff\u0001\u0065\u0001\u0067\u0002"+ + "\u0065\u0001\u007a\u0002\uffff\u0001\u0067\u0001\u007a\u0001\u0067\u0001"+ + "\u0065\u0001\u006e\u0001\u0063\u0001\u007a\u0001\u002d\u0001\u007a\u0001"+ + "\u006e\u0001\u006f\u0001\uffff\u0001\u0074\u0001\u006e\u0001\u007a\u0001"+ + "\uffff\u0001\u0065\u0001\uffff\u0001\u0073\u0001\uffff\u0002\u006e\u0001"+ + "\u007a\u0001\uffff\u0001\u0071\u0003\u007a\u0001\u0067\u0002\uffff\u0002"+ + "\u007a\u0001\u002d\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0079\u0001"+ + "\u007a\u0001\u0067\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u0065\u0001"+ + "\u0069\u0001\u0072\u0001\uffff\u0001\u007a\u0001\u0073\u0001\u0067\u0002"+ + "\u007a\u0001\u006e\u0002\uffff\u0001\u0065\u0001\u0067\u0001\uffff\u0001"+ + "\u0074\u0001\u0079\u0001\u0073\u0001\u0074\u0001\u006c\u0001\u0061\u0001"+ + "\uffff\u0001\u0063\u0001\u007a\u0001\u0064\u0003\u007a\u0001\uffff\u0001"+ + "\u0069\u0001\u006f\u0001\uffff\u0002\u007a\u0001\u006c\u0001\u0061\u0001"+ + "\uffff\u0001\u0073\u0001\uffff\u0001\u007a\u0001\u006e\u0001\u0069\u0001"+ + "\u0074\u0001\uffff\u0001\u0073\u0001\u006f\u0001\u0065\u0001\u0074\u0001"+ + "\u0067\u0001\u006e\u0001\uffff\u0001\u0075\u0003\uffff\u0001\u007a\u0002"+ + "\uffff\u0001\u0073\u0001\uffff\u0002\u007a\u0001\uffff\u0001\u006e\u0001"+ + "\u0064\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0076\u0001\uffff\u0001"+ + "\u0065\u0001\u007a\u0002\uffff\u0001\u0067\u0002\u007a\u0001\u0069\u0002"+ + "\u007a\u0001\u0074\u0001\u0065\u0001\u006c\u0001\u0068\u0001\uffff\u0001"+ + "\u007a\u0003\uffff\u0001\u0074\u0001\u0072\u0002\uffff\u0001\u0079\u0001"+ + "\u006c\u0001\u0070\u0001\uffff\u0001\u007a\u0001\u006f\u0001\u007a\u0001"+ + "\u0070\u0001\u0072\u0001\u0070\u0002\u007a\u0001\u006f\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u0065\u0002\uffff\u0002\u007a\u0001\u006e\u0001"+ + "\uffff\u0001\u007a\u0001\u0065\u0001\u0070\u0001\u0073\u0001\uffff\u0001"+ + "\u002d\u0002\uffff\u0001\u006f\u0002\uffff\u0001\u0072\u0001\u006d\u0002"+ + "\u007a\u0001\uffff\u0001\u007a\u0001\u002d\u0001\u007a\u0001\u006c\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0061\u0001\u006d\u0001"+ + "\u0061\u0001\u006f\u0002\uffff\u0001\u0064\u0001\u006e\u0001\u0069\u0001"+ + "\u0070\u0002\uffff\u0001\u006f\u0001\uffff\u0001\u007a\u0001\u0061\u0002"+ + "\u0069\u0001\u006e\u0001\u0069\u0001\u0065\u0003\uffff\u0001\u0073\u0001"+ + "\uffff\u0001\u0079\u0001\u0063\u0001\u007a\u0001\u0063\u0001\u0061\u0002"+ + "\u0072\u0001\u0065\u0001\u0063\u0001\u0062\u0001\u0061\u0001\u0064\u0001"+ + "\uffff\u0001\u0072\u0001\u0062\u0001\u006e\u0001\u007a\u0001\u0062\u0001"+ + "\u006e\u0001\u0065\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0065\u0001"+ + "\u0074\u0001\u0061\u0001\u002d\u0001\u007a\u0001\u0065\u0001\u006c\u0001"+ + "\u0072\u0001\u0065\u0001\u0061\u0001\u006c\u0001\u0073\u0001\uffff\u0001"+ + "\u0075\u0001\u0074\u0001\u006c\u0001\uffff\u0001\u007a\u0001\u0073\u0001"+ + "\u007a\u0001\u0074\u0001\u0073\u0001\uffff\u0001\u007a\u0001\u0069\u0001"+ + "\u0061\u0001\u007a\u0001\u0074\u0001\u0069\u0002\u0074\u0001\u007a\u0001"+ + "\u0066\u0001\uffff\u0001\u007a\u0001\uffff\u0001\u006f\u0001\u0065\u0001"+ + "\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u006f\u0001\u006e\u0001"+ + "\u0072\u0001\u0065\u0001\uffff\u0001\u007a\u0001\uffff\u0001\u0072\u0001"+ + "\u006c\u0001\u0067\u0001\u006f\u0001\u0072\u0001\u0067\u0001\u0075\u0001"+ + "\u007a\u0001\uffff\u0001\u007a\u0001\u0066\u0001\u007a\u0001\u0072\u0002"+ + "\u007a\u0001\u0063\u0002\uffff\u0001\u007a\u0001\uffff\u0001\u007a\u0002"+ + "\uffff\u0001\u0074\u0002\uffff\u0001\u0069\u0001\u006f\u0001\u006e\u0001"+ + "\u007a\u0001\uffff", + DFA19_acceptS: + "\u001a\uffff\u0001\u00b3\u0001\u00b4\u0001\u00b5\u0001\u00b6\u0001"+ + "\u00b7\u0001\u00b8\u0001\u00b9\u0003\uffff\u0001\u00bd\u0001\uffff\u0001"+ + "\u00bf\u0001\u00c0\u0005\uffff\u0001\u00d0\u0001\u00d1\u0001\uffff\u0001"+ + "\u00d8\u0001\u00db\u0001\u00dc\u0001\u00dd\u0001\u00de\u0001\uffff\u0001"+ + "\u00e6\u0007\uffff\u0001\u00dd\u004e\uffff\u0001\u00e5\u0001\u00b2\u0001"+ + "\u00b3\u0001\u00b4\u0001\u00b5\u0001\u00b6\u0001\u00b7\u0001\u00b8\u0001"+ + "\u00b9\u0001\u00ba\u0001\u00cd\u0001\u00cc\u0001\u00bb\u0001\uffff\u0001"+ + "\u00bc\u0001\u00bd\u0001\u00d7\u0001\u00be\u0001\u00bf\u0001\u00c0\u0001"+ + "\u00d5\u0001\u00c1\u0001\u00c4\u0001\u00c6\u0001\u00cf\u0002\uffff\u0001"+ + "\u00c2\u0001\u00c5\u0001\u00c7\u0001\u00c3\u0001\u00c9\u0001\u00ce\u0001"+ + "\u00c8\u0001\u00cb\u0001\u00ca\u0001\uffff\u0001\u00d0\u0001\u00d1\u0001"+ + "\u00d3\u0001\u00d8\u0001\u00db\u0001\u00dc\u0001\u00de\u0001\u00e2\u0002"+ + "\uffff\u0001\u00e4\u0003\uffff\u0001\u0004\u0001\uffff\u0001\u0006\u0007"+ + "\uffff\u0001\u000a\u0019\uffff\u0001\u0020\u000a\uffff\u0001\u0028\u0002"+ + "\uffff\u0001\u002a\u0001\uffff\u0001\u002c\u0006\uffff\u0001\u002e\u0001"+ + "\u0032\u0005\uffff\u0001\u0035\u0001\u0038\u0007\uffff\u0001\u003c\u0003"+ + "\uffff\u0001\u0040\u0002\uffff\u0001\u0042\u0001\uffff\u0001\u00a8\u001a"+ + "\uffff\u0001\u0057\u0015\uffff\u0001\u00d2\u0001\u00df\u0001\u00da\u0001"+ + "\u00d9\u0001\uffff\u0001\u00d6\u0001\u00e1\u0001\u00e3\u0002\uffff\u0001"+ + "\u0003\u0006\uffff\u0001\u00af\u0015\uffff\u0001\u0018\u0006\uffff\u0001"+ + "\u0067\u0008\uffff\u0001\u0026\u000f\uffff\u0001\u0034\u0002\uffff\u0001"+ + "\u0037\u0002\uffff\u0001\u0039\u0009\uffff\u0001\u00a7\u0017\uffff\u0001"+ + "\u0092\u000a\uffff\u0001\u0077\u0011\uffff\u0001\u006d\u0001\uffff\u0001"+ + "\u00a3\u0008\uffff\u0001\u00b0\u0006\uffff\u0001\u000b\u0001\uffff\u0001"+ + "\u000c\u0009\uffff\u0001\u007e\u0009\uffff\u0001\u001c\u0004\uffff\u0001"+ + "\u0095\u0002\uffff\u0001\u008f\u0005\uffff\u0001\u00a0\u0002\uffff\u0001"+ + "\u002b\u0006\uffff\u0001\u0082\u0002\uffff\u0001\u0033\u0001\u0083\u0008"+ + "\uffff\u0001\u006e\u0003\uffff\u0001\u003f\u0002\uffff\u0001\u006f\u0012"+ + "\uffff\u0001\u0050\u0001\uffff\u0001\u0051\u0005\uffff\u0001\u0089\u0001"+ + "\uffff\u0001\u0055\u0001\u0056\u000d\uffff\u0001\u0079\u0002\uffff\u0001"+ + "\u008c\u0003\uffff\u0001\u00b1\u0001\u00d4\u0001\u00e0\u0003\uffff\u0001"+ + "\u007c\u0005\uffff\u0001\u008d\u0002\uffff\u0001\u0061\u0001\u000e\u0001"+ + "\u0099\u0005\uffff\u0001\u009c\u0002\uffff\u0001\u0063\u0005\uffff\u0001"+ + "\u0066\u0003\uffff\u0001\u001d\u0002\uffff\u0001\u0021\u0006\uffff\u0001"+ + "\u0080\u0002\uffff\u0001\u0068\u0007\uffff\u0001\u00a1\u0001\u0036\u0009"+ + "\uffff\u0001\u0085\u0003\uffff\u0001\u0043\u0001\u0070\u000e\uffff\u0001"+ + "\u00aa\u0004\uffff\u0001\u0076\u0001\uffff\u0001\u0054\u0002\uffff\u0001"+ + "\u0058\u0002\uffff\u0001\u005a\u0003\uffff\u0001\u0096\u0001\uffff\u0001"+ + "\u008b\u0002\uffff\u0001\u005f\u0001\u0094\u0003\uffff\u0001\u00a9\u0007"+ + "\uffff\u0001\u007d\u0001\u00ad\u000d\uffff\u0001\u007f\u0005\uffff\u0001"+ + "\u0022\u0007\uffff\u0001\u002d\u0002\uffff\u0001\u0081\u0003\uffff\u0001"+ + "\u003a\u0001\u0084\u0007\uffff\u0001\u0041\u0002\uffff\u0001\u0046\u0009"+ + "\uffff\u0001\u004b\u0001\u0086\u0005\uffff\u0001\u004d\u0001\uffff\u0001"+ + "\u0052\u0001\u0053\u0001\uffff\u0001\u0093\u0002\uffff\u0001\u00ac\u0005"+ + "\uffff\u0001\u007a\u0001\u0060\u000b\uffff\u0001\u0010\u0003\uffff\u0001"+ + "\u0062\u0001\uffff\u0001\u0013\u0001\uffff\u0001\u0014\u0003\uffff\u0001"+ + "\u001b\u0005\uffff\u0001\u009e\u0001\u009f\u0003\uffff\u0001\u002f\u0007"+ + "\uffff\u0001\u00a6\u0003\uffff\u0001\u0044\u0006\uffff\u0001\u00ae\u0001"+ + "\u0072\u0002\uffff\u0001\u0087\u0006\uffff\u0001\u0075\u0006\uffff\u0001"+ + "\u005e\u0002\uffff\u0001\u0001\u0004\uffff\u0001\u0008\u0001\uffff\u0001"+ + "\u000d\u0004\uffff\u0001\u008e\u0006\uffff\u0001\u0019\u0001\uffff\u0001"+ + "\u001f\u0001\u009d\u0001\u0023\u0001\uffff\u0001\u0027\u0001\u0029\u0001"+ + "\uffff\u0001\u0030\u0002\uffff\u0001\u006a\u0002\uffff\u0001\u00a5\u0003"+ + "\uffff\u0001\u0045\u0002\uffff\u0001\u0049\u0001\u0074\u000a\uffff\u0001"+ + "\u0078\u0001\uffff\u0001\u008a\u0001\u005c\u0001\u005d\u0002\uffff\u0001"+ + "\u0005\u0001\u0007\u0003\uffff\u0001\u000f\u000b\uffff\u0001\u0024\u0001"+ + "\uffff\u0001\u0031\u0001\u00a2\u0003\uffff\u0001\u003b\u0004\uffff\u0001"+ + "\u0047\u0001\uffff\u0001\u0073\u0001\u0090\u0001\uffff\u0001\u00ab\u0001"+ + "\u004c\u0004\uffff\u0001\u005b\u0005\uffff\u0001\u009a\u0001\uffff\u0001"+ + "\u009b\u0004\uffff\u0001\u0015\u0001\u0017\u0004\uffff\u0001\u006b\u0001"+ + "\u00a4\u0001\uffff\u0001\u003d\u0007\uffff\u0001\u0091\u0001\u0059\u0001"+ + "\u007b\u0001\uffff\u0001\u0097\u000c\uffff\u0001\u003e\u0009\uffff\u0001"+ + "\u0011\u000c\uffff\u0001\u0088\u0003\uffff\u0001\u0098\u0005\uffff\u0001"+ + "\u001a\u000a\uffff\u0001\u0009\u0001\uffff\u0001\u0064\u0002\uffff\u0001"+ + "\u001e\u0002\uffff\u0001\u006c\u0004\uffff\u0001\u004f\u0001\uffff\u0001"+ + "\u0012\u0008\uffff\u0001\u0002\u0007\uffff\u0001\u004e\u0001\u0065\u0001"+ + "\uffff\u0001\u0025\u0001\uffff\u0001\u0071\u0001\u0048\u0001\uffff\u0001"+ + "\u0016\u0001\u0069\u0004\uffff\u0001\u004a", + DFA19_specialS: + "\u0001\u0001\u01d5\uffff\u0001\u0000\u0285\uffff}>", + DFA19_transitionS: [ + "\u0009\u0036\u0002\u0034\u0002\u0036\u0001\u0034\u0012\u0036"+ + "\u0001\u0034\u0001\u0022\u0001\u0032\u0001\u002f\u0001\u001b"+ + "\u0001\u0036\u0001\u0023\u0001\u0031\u0001\u0019\u0001\u001a"+ + "\u0001\u0026\u0001\u0027\u0001\u0024\u0001\u0028\u0001\u002c"+ + "\u0001\u002b\u000a\u0035\u0001\u0021\u0001\u002d\u0001\u0029"+ + "\u0001\u0020\u0001\u002a\u0001\u0025\u0001\u0030\u000d\u0033"+ + "\u0001\u0015\u000c\u0033\u0001\u001e\u0001\u0036\u0001\u001f"+ + "\u0001\u0036\u0001\u0033\u0001\u0036\u0001\u0001\u0001\u0002"+ + "\u0001\u0003\u0001\u0004\u0001\u0005\u0001\u0006\u0001\u0007"+ + "\u0001\u0033\u0001\u0008\u0001\u0033\u0001\u0017\u0001\u0009"+ + "\u0001\u000a\u0001\u000b\u0001\u000c\u0001\u000d\u0001\u0018"+ + "\u0001\u000e\u0001\u000f\u0001\u0010\u0001\u0011\u0001\u0012"+ + "\u0001\u0013\u0001\u0014\u0001\u0033\u0001\u0016\u0001\u001c"+ + "\u0001\u002e\u0001\u001d\uff82\u0036", + "\u0001\u003a\u0006\uffff\u0001\u003d\u0001\u0037\u0001\uffff"+ + "\u0001\u003b\u0002\uffff\u0001\u0038\u0001\u0039\u0001\u003c", + "\u0001\u003f\u0003\uffff\u0001\u0042\u0003\uffff\u0001\u0044"+ + "\u0002\uffff\u0001\u0043\u0002\uffff\u0001\u0040\u0009\uffff"+ + "\u0001\u0041", + "\u0001\u0045\u0006\uffff\u0001\u0046\u0006\uffff\u0001\u0047", + "\u0001\u0048\u0003\uffff\u0001\u0049\u0005\uffff\u0001\u004a", + "\u0001\u004b\u0001\u004c\u0001\u004d\u0002\uffff\u0001\u004e"+ + "\u0004\uffff\u0001\u004f\u0001\uffff\u0001\u0050", + "\u0001\u0053\u0005\uffff\u0001\u0051\u0002\uffff\u0001\u0054"+ + "\u0002\uffff\u0001\u0052", + "\u0001\u0055\u000c\uffff\u0001\u0056\u0001\uffff\u0001\u0057", + "\u0001\u0058\u0001\uffff\u0001\u0059\u0006\uffff\u0001\u005a"+ + "\u0001\u005b\u0004\uffff\u0001\u005c\u0001\u005d", + "\u0001\u005e\u0003\uffff\u0001\u005f\u000e\uffff\u0001\u0060", + "\u0001\u0063\u0007\uffff\u0001\u0062\u0005\uffff\u0001\u0061"+ + "\u0005\uffff\u0001\u0064", + "\u0001\u0065\u0003\uffff\u0001\u0066\u0009\uffff\u0001\u0067", + "\u0001\u0068\u0007\uffff\u0001\u006b\u0001\uffff\u0001\u0069"+ + "\u0001\uffff\u0001\u006a\u0002\uffff\u0001\u006c", + "\u0001\u006d\u0003\uffff\u0001\u006f\u000c\uffff\u0001\u006e", + "\u0001\u0071\u0003\uffff\u0001\u0070", + "\u0001\u0072\u0001\uffff\u0001\u0073\u0001\uffff\u0001\u0074"+ + "\u0003\uffff\u0001\u0079\u0001\uffff\u0001\u0078\u0001\u0077"+ + "\u0002\uffff\u0001\u0075\u0004\uffff\u0001\u0076", + "\u0001\u007a\u0002\uffff\u0001\u007b\u0006\uffff\u0001\u007c"+ + "\u0002\uffff\u0001\u007d\u0002\uffff\u0001\u007f\u0003\uffff"+ + "\u0001\u007e", + "\u0001\u0080\u0001\uffff\u0001\u0081\u0002\uffff\u0001\u0082", + "\u0001\u0083\u0003\uffff\u0001\u0084", + "\u0001\u0085\u0001\u0086", + "\u0001\u0087", + "\u0001\u0088", + "\u0001\u0089", + "\u0001\u008a", + "\u0001\u008b", + "\u0001\u008c\u0016\uffff\u0001\u008d", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0097\u0002\uffff\u0001\u0096", + "\u0001\u0099", + "\u0001\u009a", + "", + "\u0001\u009d", + "", + "", + "\u0001\u00a1", + "\u0001\u00a6\u000d\uffff\u0001\u00a5\u000c\uffff\u0001\u00a4"+ + "\u0001\u00a3\u0001\uffff\u0001\u00a7", + "\u0001\u00a9\u0001\u00aa", + "\u0001\u00ac\u000e\uffff\u0001\u00ad", + "\u0001\u00af\u0001\uffff\u000a\u00b1", + "", + "", + "\u0001\u00b4", + "", + "", + "", + "", + "", + "\u0001\u00bb\u0001\uffff\u000a\u00ba\u000b\uffff\u0001\u00bc"+ + "\u001f\uffff\u0001\u00bc", + "", + "\u0001\u00bd\u0001\u00be", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0001\u00bf"+ + "\u0017\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0013\u003e\u0001\u00c1"+ + "\u0006\u003e", + "\u0001\u00c3", + "\u0001\u00c5\u0001\u00c4", + "\u0001\u00c6", + "\u0001\u00c7", + "", + "\u0001\u00c8", + "\u0001\u00c9", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00cb", + "\u0001\u00cc", + "\u0001\u00cd", + "\u0001\u00ce\u0001\u00cf", + "\u0001\u00d1\u0003\uffff\u0001\u00d0", + "\u0001\u00d2\u0001\u00d3\u0001\u00d4\u0001\uffff\u0001\u00d5"+ + "\u0004\uffff\u0001\u00d6", + "\u0001\u00d7\u0002\uffff\u0001\u00d8\u0005\uffff\u0001\u00da"+ + "\u0006\uffff\u0001\u00d9", + "\u0001\u00dc\u000e\uffff\u0001\u00db", + "\u0001\u00dd", + "\u0001\u00de\u000d\uffff\u0001\u00df", + "\u0001\u00e0", + "\u0001\u00e1\u0001\u00e2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0014\u003e\u0001\u00e3"+ + "\u0005\u003e", + "\u0001\u00e6\u0003\uffff\u0001\u00e5", + "\u0001\u00e7\u0005\uffff\u0001\u00e9\u000a\uffff\u0001\u00e8", + "\u0001\u00ea\u0005\uffff\u0001\u00eb", + "\u0001\u00ec", + "\u0001\u00ed", + "\u0001\u00ee", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f0\u0009\uffff\u0001\u00f1", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f5", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0003\u003e\u0001\u00fa"+ + "\u0001\u003e\u0001\u00f9\u0001\u003e\u0001\u00f6\u000a\u003e"+ + "\u0001\u00f7\u0001\u00f8\u0006\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00fd", + "\u0001\u00ff\u0004\uffff\u0001\u00fe", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u0100\u0012\u003e"+ + "\u0001\u0101\u0006\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0104", + "\u0001\u0105", + "\u0001\u0106\u0004\uffff\u0001\u0107", + "\u0001\u0108", + "\u0001\u0109", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0017\u003e\u0001\u010a"+ + "\u0002\u003e", + "\u0001\u010c\u0036\uffff\u0001\u010d\u0009\uffff\u0001\u010e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0110", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0003\u003e\u0001\u0111"+ + "\u0016\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u000b\u003e\u0001\u0113"+ + "\u000e\u003e", + "\u0001\u0115", + "\u0001\u0116\u0001\uffff\u0001\u0117", + "\u0001\u0118\u0003\uffff\u0001\u011a\u0005\uffff\u0001\u0119", + "\u0001\u011b", + "\u0001\u0120\u000c\uffff\u0001\u011d\u0001\uffff\u0001\u011e"+ + "\u0003\uffff\u0001\u011c\u0001\uffff\u0001\u011f", + "\u0001\u0121", + "\u0001\u0122", + "\u0001\u0123", + "\u0001\u0124\u0004\uffff\u0001\u0125\u0002\uffff\u0001\u0126", + "\u0001\u0127", + "\u0001\u0128\u0010\uffff\u0001\u0129", + "\u0001\u012a", + "\u0001\u012b", + "\u0001\u012c", + "\u0001\u012d", + "\u0001\u012e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0130\u0013\uffff\u0001\u0131", + "\u0001\u0132", + "\u0001\u0133", + "\u0001\u0134\u0005\uffff\u0001\u0135", + "\u0001\u0136", + "\u0001\u0137", + "\u0001\u0138\u0005\uffff\u0001\u0139", + "\u0001\u013a", + "\u0001\u013b\u0003\uffff\u0001\u013c", + "\u0001\u013d\u0005\uffff\u0001\u013e", + "\u0001\u013f", + "\u0001\u0140", + "\u0001\u0141", + "\u0001\u0142", + "\u0001\u0143\u0009\uffff\u0001\u0144", + "\u0002\u0146\u0002\uffff\u0001\u0146\u0012\uffff\u0001\u0146"+ + "\u0020\uffff\u001a\u0146\u0004\uffff\u0001\u0146\u0001\uffff"+ + "\u001a\u0146", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0147", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0149", + "\u0002\u014b\u0002\uffff\u0001\u014b\u0012\uffff\u0001\u014b"+ + "\u0020\uffff\u001a\u014b\u0004\uffff\u0001\u014b\u0001\uffff"+ + "\u001a\u014b", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u000a\u00b1\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u00bb\u0001\uffff\u000a\u00ba\u000b\uffff\u0001\u00bc"+ + "\u001f\uffff\u0001\u00bc", + "\u000a\u014d\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "", + "\u0001\u014e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0150", + "", + "\u0001\u0151", + "", + "\u0001\u0152", + "\u0001\u0153", + "\u0001\u0154", + "\u0001\u0155", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0157", + "\u0001\u0158", + "", + "\u0001\u0159", + "\u0001\u015a", + "\u0001\u015b", + "\u0001\u015c\u000e\uffff\u0001\u015d", + "\u0001\u015e", + "\u0001\u015f", + "\u0001\u0160", + "\u0001\u0161", + "\u0001\u0162", + "\u0001\u0163\u0001\u0164", + "\u0001\u0165", + "\u0001\u0166", + "\u0001\u0168\u0002\uffff\u0001\u0167", + "\u0001\u0169", + "\u0001\u016a", + "\u0001\u016b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u016d", + "\u0001\u016e", + "\u0001\u016f", + "\u0001\u0170", + "\u0001\u0171", + "\u0001\u0172", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0174", + "", + "\u0001\u0175", + "\u0001\u0176", + "\u0001\u0177", + "\u0001\u0178", + "\u0001\u0179", + "\u0001\u017a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u017b"+ + "\u0015\u003e", + "\u0001\u017d", + "\u0001\u017e", + "\u0001\u017f", + "", + "\u0001\u0180", + "\u0001\u0181", + "", + "\u0001\u0182", + "", + "\u0001\u0183", + "\u0001\u0184", + "\u0001\u0186\u000e\uffff\u0001\u0185", + "\u0001\u0187\u0009\uffff\u0001\u0188", + "\u0001\u0189", + "\u0001\u018a", + "", + "", + "\u0001\u018b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u018d", + "\u0001\u018e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u0191"+ + "\u000b\u003e\u0001\u0190\u0005\u003e", + "\u0001\u0193", + "\u0001\u0194", + "\u0001\u0195", + "\u0001\u0196", + "\u0001\u0197", + "\u0001\u0198", + "", + "\u0001\u0199\u0006\uffff\u0001\u019a", + "\u0001\u019b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u019d", + "\u0001\u019e", + "", + "\u0001\u019f", + "", + "\u0001\u01a0", + "\u0001\u01a1", + "\u0001\u01a2", + "\u0001\u01a3\u000f\uffff\u0001\u01a4\u0002\uffff\u0001\u01a5", + "\u0001\u01a6", + "\u0001\u01a7", + "\u0001\u01a9\u0035\uffff\u0001\u01a8", + "\u0001\u01aa", + "\u0001\u01ab", + "\u0001\u01ac", + "\u0001\u01ad", + "\u0001\u01ae", + "\u0001\u01af", + "\u0001\u01b0", + "\u0001\u01b1", + "\u0001\u01b2", + "\u0001\u01b3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01b5", + "\u0001\u01b6\u000f\uffff\u0001\u01b7", + "\u0001\u01b8", + "\u0001\u01b9", + "\u0001\u01ba", + "\u0001\u01bb", + "\u0001\u01bc", + "\u0001\u01bd", + "", + "\u0001\u01be", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01c0", + "\u0001\u01c1", + "\u0001\u01c2\u0001\uffff\u0001\u01c3", + "\u0001\u01c4", + "\u0001\u01c5", + "\u0001\u01c6", + "\u0001\u01c7\u000b\uffff\u0001\u01c8", + "\u0001\u01c9", + "\u0001\u01ca", + "\u0001\u01cc\u0003\uffff\u0001\u01cb", + "\u0001\u01cd", + "\u0001\u01ce", + "\u0001\u01cf", + "\u0001\u01d0", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01d2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01d4", + "\u0001\u01d5", + "", + "", + "", + "", + "\u0001\u01d6", + "", + "", + "", + "\u000a\u014d\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "\u0001\u01d7", + "", + "\u0001\u01d8", + "\u0001\u01d9", + "\u0001\u01da", + "\u0001\u01db", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01dd", + "", + "\u0001\u01de", + "\u0001\u01df", + "\u0001\u01e0", + "\u0001\u01e1", + "\u0001\u01e2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u01e4\u0019\u003e", + "\u0001\u01e6", + "\u0001\u01e7", + "\u0001\u01e8", + "\u0001\u01e9\u0003\uffff\u0001\u01ea", + "\u0001\u01eb", + "\u0001\u01ec", + "\u0001\u01ed", + "\u0001\u01ee\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01f0", + "\u0001\u01f1", + "\u0001\u01f2", + "\u0001\u01f3", + "\u0001\u01f4", + "\u0001\u01f5", + "", + "\u0001\u01f6", + "\u0001\u01f7", + "\u0001\u01f8", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01fa", + "\u0001\u01fb", + "", + "\u0001\u01fc", + "\u0001\u01fd", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01ff", + "\u0001\u0200", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0202", + "\u0001\u0203\u0007\uffff\u0001\u0204", + "", + "\u0001\u0205", + "\u0001\u0206", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0208", + "\u0001\u0209", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u020b", + "\u0001\u020c", + "\u0001\u020d", + "\u0001\u020e", + "\u0001\u0210\u000a\uffff\u0001\u020f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0212", + "\u0001\u0213", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0216", + "", + "\u0001\u0217", + "\u0001\u0218", + "", + "\u0001\u0219", + "\u0001\u021a", + "\u0001\u021b", + "\u0001\u021c", + "\u0001\u021d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u021f", + "\u0001\u0220", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0012\u003e\u0001\u0221"+ + "\u0007\u003e", + "", + "\u0001\u0223", + "\u0001\u0224", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0226", + "\u0001\u0227", + "\u0001\u0228", + "\u0001\u0229", + "\u0001\u022a", + "\u0001\u022b", + "\u0001\u022c", + "\u0001\u022d", + "\u0001\u022e", + "\u0001\u022f", + "\u0001\u0230", + "\u0001\u0231", + "\u0001\u0232", + "\u0001\u0233", + "\u0001\u0234", + "\u0001\u0235", + "\u0001\u0236", + "\u0001\u0237", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0239", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u023b", + "\u0001\u023c", + "\u0001\u023d\u000c\uffff\u0001\u023e", + "\u0001\u023f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0241", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0244", + "", + "\u0001\u0245", + "\u0001\u0246", + "\u0001\u0247", + "\u0001\u0248", + "\u0001\u0249", + "\u0001\u024a", + "\u0001\u024b", + "\u0001\u024c", + "\u0001\u024d", + "\u0001\u024e", + "\u0001\u024f", + "\u0001\u0250", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0252", + "\u0001\u0253", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0255", + "", + "\u0001\u0256", + "", + "\u0001\u0257", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0000\u025a", + "\u0001\u025b", + "\u0001\u025c", + "\u0001\u025d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u025f", + "", + "\u0001\u0260", + "\u0001\u0261", + "\u0001\u0262", + "\u0001\u0263", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0265", + "", + "\u0001\u0266", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u026a", + "\u0001\u026b", + "\u0001\u026c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u026e\u0010\u003e"+ + "\u0001\u026d\u0008\u003e", + "\u0001\u0270", + "\u0001\u0271", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0273", + "\u0001\u0274", + "\u0001\u0275", + "\u0001\u0276", + "\u0001\u0277", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0279", + "\u0001\u027a", + "", + "\u0001\u027b\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u027d", + "\u0001\u027e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0280", + "\u0001\u0281", + "", + "\u0001\u0282", + "\u0001\u0283", + "\u0001\u0284", + "\u0001\u0285", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0287", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u0288"+ + "\u0011\u003e", + "", + "\u0001\u028a", + "\u0001\u028b", + "\u0001\u028c", + "\u0001\u028d", + "\u0001\u028e", + "\u0001\u028f", + "", + "\u0001\u0290", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0293", + "\u0001\u0294", + "\u0001\u0295", + "\u0001\u0296", + "\u0001\u0297", + "\u0001\u0298", + "\u0001\u0299", + "", + "\u0001\u029a", + "\u0001\u029b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u029d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u029e"+ + "\u0003\u003e\u0001\u029f\u0011\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02a2", + "\u0001\u02a3", + "\u0001\u02a4", + "\u0001\u02a5", + "\u0001\u02a6", + "\u0001\u02a7", + "\u0001\u02a8", + "\u0001\u02a9", + "\u0001\u02aa", + "\u0001\u02ab", + "\u0001\u02ac", + "\u0001\u02ad", + "\u0001\u02ae", + "\u0001\u02af", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b1", + "\u0001\u02b2", + "", + "\u0001\u02b3", + "", + "\u0001\u02b4", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b6", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b8", + "", + "\u0001\u02b9", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02bb", + "\u0001\u02bc", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02be", + "\u0001\u02bf", + "\u0001\u02c0", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c4", + "\u0001\u02c5", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c8", + "", + "\u0001\u02c9", + "\u0001\u02ca", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "", + "\u0001\u02cc", + "\u0001\u02cd", + "\u0001\u02ce", + "", + "\u0001\u02cf", + "\u0001\u02d0", + "\u0001\u02d1", + "\u0001\u02d2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02d5", + "", + "", + "", + "\u0001\u02d6", + "\u0001\u02d7", + "\u0001\u02d8", + "\u0001\u02da\u0013\uffff\u0001\u02d9", + "\u0001\u02db", + "", + "\u0001\u02dc", + "\u0001\u02dd", + "", + "\u0001\u02de", + "\u0001\u02df", + "\u0001\u02e0", + "\u0001\u02e1", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u02e3", + "\u0001\u02e4", + "\u0001\u02e5", + "", + "\u0001\u02e6", + "\u0001\u02e7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02e9", + "\u0001\u02ea", + "\u0001\u02eb", + "\u0001\u02ec", + "\u0001\u02ed", + "", + "\u0001\u02ee", + "\u0001\u02ef", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f1", + "\u0001\u02f2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f4", + "\u0001\u02f5", + "\u0001\u02f6", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f9", + "\u0001\u02fa", + "\u0001\u02fb", + "\u0001\u02fc", + "\u0001\u02fd", + "\u0001\u02fe", + "\u0001\u02ff", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0301", + "\u0001\u0302", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0304", + "\u0001\u0305", + "\u0001\u0306", + "\u0001\u0307", + "\u0001\u0308", + "\u0001\u0309", + "\u0001\u030a", + "\u0001\u030b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u030c"+ + "\u0011\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u030f", + "\u0001\u0310", + "\u0001\u0311", + "", + "\u0001\u0312", + "\u0001\u0313\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0315", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0318", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u031a", + "\u0001\u031b", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u031d", + "\u0001\u031e", + "", + "\u0001\u031f", + "", + "\u0001\u0320", + "\u0001\u0321", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0324", + "", + "\u0001\u0325", + "\u0001\u0326", + "\u0001\u0327", + "\u0001\u0328", + "\u0001\u0329", + "\u0001\u032a", + "\u0001\u032b", + "", + "", + "\u0001\u032c", + "\u0001\u032d", + "\u0001\u032e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0330", + "\u0001\u0331", + "\u0001\u0332", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0334", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0336", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0338\u0007\uffff\u0001\u0339", + "", + "\u0001\u033a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u033c", + "\u0001\u033d", + "\u0001\u033e", + "", + "\u0001\u033f", + "\u0001\u0340", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0343", + "\u0001\u0344", + "\u0001\u0345", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0347", + "", + "\u0001\u0348", + "\u0001\u0349", + "\u0001\u034a", + "", + "", + "\u0001\u034b", + "\u0001\u034c", + "\u0001\u034d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u034f", + "\u0001\u0350", + "\u0001\u0351", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0353", + "", + "\u0001\u0354", + "\u0001\u0355", + "\u0001\u0356", + "\u0001\u0357", + "\u0001\u0358", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u035b", + "\u0001\u035c", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u035e", + "\u0001\u035f", + "\u0001\u0360", + "\u0001\u0361\u0003\uffff\u0001\u0362", + "", + "\u0001\u0363", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0365", + "\u0001\u0366", + "", + "\u0001\u0367", + "\u0001\u0368", + "\u0001\u0369", + "\u0001\u036a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u036c", + "\u0001\u036d\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u036f", + "\u0001\u0370", + "\u0001\u0371", + "\u0001\u0372", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0374", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0376", + "\u0001\u0377", + "", + "\u0001\u0378", + "\u0001\u0379", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u037b", + "", + "\u0001\u037c\u000c\uffff\u0001\u037d", + "", + "\u0001\u037e", + "\u0001\u037f", + "\u0001\u0380\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0382", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0386", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0389", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u038b", + "\u0001\u038c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u038e", + "\u0001\u038f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0391", + "\u0001\u0392", + "\u0001\u0393", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0395", + "\u0001\u0396", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0399", + "", + "", + "\u0001\u039a", + "\u0001\u039b", + "", + "\u0001\u039c", + "\u0001\u039d", + "\u0001\u039e", + "\u0001\u039f", + "\u0001\u03a0", + "\u0001\u03a1", + "", + "\u0001\u03a2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03a4", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u03a8", + "\u0001\u03a9", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03ac", + "\u0001\u03ad", + "", + "\u0001\u03ae", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03b0", + "\u0001\u03b1", + "\u0001\u03b2", + "", + "\u0001\u03b3", + "\u0001\u03b4", + "\u0001\u03b5", + "\u0001\u03b6", + "\u0001\u03b7", + "\u0001\u03b8", + "", + "\u0001\u03b9", + "", + "", + "", + "\u0001\u03ba\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u03bc", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u03bf", + "\u0001\u03c0", + "", + "\u0001\u03c1\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03c3", + "\u0001\u03c4", + "", + "\u0001\u03c5", + "\u0001\u03c6\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u03c8", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03cb", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03ce", + "\u0001\u03cf", + "\u0001\u03d0", + "\u0001\u03d1", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "", + "\u0001\u03d3", + "\u0001\u03d4", + "", + "", + "\u0001\u03d5", + "\u0001\u03d6", + "\u0001\u03d7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03d9", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03db", + "\u0001\u03dc", + "\u0001\u03dd", + "\u0001\u03de\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e1", + "\u0001\u03e2", + "\u0001\u03e3", + "", + "\u0001\u03e4", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e9", + "\u0001\u03ea", + "\u0001\u03eb", + "", + "\u0001\u03ec", + "", + "", + "\u0001\u03ed", + "", + "", + "\u0001\u03ee", + "\u0001\u03ef", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03f3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03f5", + "\u0001\u03f6", + "", + "\u0001\u03f7", + "", + "\u0001\u03f8", + "\u0001\u03f9", + "\u0001\u03fa", + "\u0001\u03fb", + "", + "", + "\u0001\u03fc", + "\u0001\u03fd", + "\u0001\u03fe", + "\u0001\u03ff", + "", + "", + "\u0001\u0400", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0402", + "\u0001\u0403", + "\u0001\u0404", + "\u0001\u0405", + "\u0001\u0406", + "\u0001\u0407", + "", + "", + "", + "\u0001\u0408", + "", + "\u0001\u0409", + "\u0001\u040a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u040c", + "\u0001\u040d", + "\u0001\u040e", + "\u0001\u040f", + "\u0001\u0410", + "\u0001\u0411", + "\u0001\u0412", + "\u0001\u0413", + "\u0001\u0414", + "", + "\u0001\u0415", + "\u0001\u0416", + "\u0001\u0417", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0419", + "\u0001\u041a", + "\u0001\u041b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u041d", + "", + "\u0001\u041e", + "\u0001\u041f", + "\u0001\u0420", + "\u0001\u0421", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0423", + "\u0001\u0424", + "\u0001\u0425", + "\u0001\u0426", + "\u0001\u0427", + "\u0001\u0428", + "\u0001\u0429", + "", + "\u0001\u042a", + "\u0001\u042b", + "\u0001\u042c", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u042e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0430", + "\u0001\u0431", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0433", + "\u0001\u0434", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0436", + "\u0001\u0437", + "\u0001\u0438", + "\u0001\u0439", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u043b", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u043d", + "\u0001\u043e", + "", + "\u0001\u043f", + "\u0001\u0440", + "", + "\u0001\u0441", + "\u0001\u0442", + "\u0001\u0443", + "\u0001\u0444", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0446", + "\u0001\u0447", + "\u0001\u0448", + "\u0001\u0449", + "\u0001\u044a", + "\u0001\u044b", + "\u0001\u044c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u044f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0451", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0454", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u0457", + "", + "", + "\u0001\u0458", + "\u0001\u0459", + "\u0001\u045a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryLexer, { + DFA19_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_eotS), + DFA19_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_eofS), + DFA19_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryLexer.DFA19_minS), + DFA19_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryLexer.DFA19_maxS), + DFA19_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_acceptS), + DFA19_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_specialS), + DFA19_transition: (function() { + var a = [], + i, + numStates = XQueryLexer.DFA19_transitionS.length; + for (i=0; i='\u0000' && LA19_470<='\uFFFF')) ) {s = 602;} + + else s = 601; + + if ( s>=0 ) return s; + break; + case 1 : + var LA19_0 = input.LA(1); + + s = -1; + if ( (LA19_0=='a') ) {s = 1;} + + else if ( (LA19_0=='b') ) {s = 2;} + + else if ( (LA19_0=='c') ) {s = 3;} + + else if ( (LA19_0=='d') ) {s = 4;} + + else if ( (LA19_0=='e') ) {s = 5;} + + else if ( (LA19_0=='f') ) {s = 6;} + + else if ( (LA19_0=='g') ) {s = 7;} + + else if ( (LA19_0=='i') ) {s = 8;} + + else if ( (LA19_0=='l') ) {s = 9;} + + else if ( (LA19_0=='m') ) {s = 10;} + + else if ( (LA19_0=='n') ) {s = 11;} + + else if ( (LA19_0=='o') ) {s = 12;} + + else if ( (LA19_0=='p') ) {s = 13;} + + else if ( (LA19_0=='r') ) {s = 14;} + + else if ( (LA19_0=='s') ) {s = 15;} + + else if ( (LA19_0=='t') ) {s = 16;} + + else if ( (LA19_0=='u') ) {s = 17;} + + else if ( (LA19_0=='v') ) {s = 18;} + + else if ( (LA19_0=='w') ) {s = 19;} + + else if ( (LA19_0=='x') ) {s = 20;} + + else if ( (LA19_0=='N') ) {s = 21;} + + else if ( (LA19_0=='z') ) {s = 22;} + + else if ( (LA19_0=='k') ) {s = 23;} + + else if ( (LA19_0=='q') ) {s = 24;} + + else if ( (LA19_0=='(') ) {s = 25;} + + else if ( (LA19_0==')') ) {s = 26;} + + else if ( (LA19_0=='$') ) {s = 27;} + + else if ( (LA19_0=='{') ) {s = 28;} + + else if ( (LA19_0=='}') ) {s = 29;} + + else if ( (LA19_0=='[') ) {s = 30;} + + else if ( (LA19_0==']') ) {s = 31;} + + else if ( (LA19_0=='=') ) {s = 32;} + + else if ( (LA19_0==':') ) {s = 33;} + + else if ( (LA19_0=='!') ) {s = 34;} + + else if ( (LA19_0=='&') ) {s = 35;} + + else if ( (LA19_0==',') ) {s = 36;} + + else if ( (LA19_0=='?') ) {s = 37;} + + else if ( (LA19_0=='*') ) {s = 38;} + + else if ( (LA19_0=='+') ) {s = 39;} + + else if ( (LA19_0=='-') ) {s = 40;} + + else if ( (LA19_0=='<') ) {s = 41;} + + else if ( (LA19_0=='>') ) {s = 42;} + + else if ( (LA19_0=='/') ) {s = 43;} + + else if ( (LA19_0=='.') ) {s = 44;} + + else if ( (LA19_0==';') ) {s = 45;} + + else if ( (LA19_0=='|') ) {s = 46;} + + else if ( (LA19_0=='#') ) {s = 47;} + + else if ( (LA19_0=='@') ) {s = 48;} + + else if ( (LA19_0=='\'') ) {s = 49;} + + else if ( (LA19_0=='\"') ) {s = 50;} + + else if ( ((LA19_0>='A' && LA19_0<='M')||(LA19_0>='O' && LA19_0<='Z')||LA19_0=='_'||LA19_0=='h'||LA19_0=='j'||LA19_0=='y') ) {s = 51;} + + else if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0=='\r'||LA19_0==' ') ) {s = 52;} + + else if ( ((LA19_0>='0' && LA19_0<='9')) ) {s = 53;} + + else if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='%'||LA19_0=='\\'||LA19_0=='^'||LA19_0=='`'||(LA19_0>='~' && LA19_0<='\uFFFF')) ) {s = 54;} + + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 19, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + +})(); + +}); diff --git a/lib/ace/mode/xquery/XQueryParser.js b/lib/ace/mode/xquery/XQueryParser.js new file mode 100644 index 00000000..c2abb11a --- /dev/null +++ b/lib/ace/mode/xquery/XQueryParser.js @@ -0,0 +1,30883 @@ +/******************************** + * Copyright (c) 2008, 2009 28msec Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Gabriel Petrovay (28msec) - initial API and implementation + * Sam Neth (Mark Logic) + *******************************************************************************/ + + +define(function(require, exports, module) { +var org = require("./antlr3-all").org; + var XQueryParser = exports.XQueryParser = function(input, state) { + if (!state) { + state = new org.antlr.runtime.RecognizerSharedState(); + } + + (function(){ + }).call(this); + + XQueryParser.superclass.constructor.call(this, input, state); + + this.dfa6 = new XQueryParser.DFA6(this); + this.dfa7 = new XQueryParser.DFA7(this); + this.dfa8 = new XQueryParser.DFA8(this); + this.dfa49 = new XQueryParser.DFA49(this); + this.dfa103 = new XQueryParser.DFA103(this); + this.dfa110 = new XQueryParser.DFA110(this); + this.dfa112 = new XQueryParser.DFA112(this); + this.dfa114 = new XQueryParser.DFA114(this); + this.dfa119 = new XQueryParser.DFA119(this); + this.dfa124 = new XQueryParser.DFA124(this); + this.dfa154 = new XQueryParser.DFA154(this); + this.dfa156 = new XQueryParser.DFA156(this); + + + + /* @todo only create adaptor if output=AST */ + this.adaptor = new org.antlr.runtime.tree.CommonTreeAdaptor(); + +}; + +org.antlr.lang.augmentObject(XQueryParser, { + EOF: -1, + L_QuotAttrContentChar: 4, + L_AposAttrContentChar: 5, + L_ElementContentChar: 6, + L_CDataSection: 7, + L_PredefinedEntityRef: 8, + L_CharRef: 9, + ESCAPE_LBRACKET: 10, + ESCAPE_RBRACKET: 11, + ESCAPE_APOS: 12, + ESCAPE_QUOT: 13, + CDATA_START: 14, + CDATA_END: 15, + ANCESTOR: 16, + ANCESTOR_OR_SELF: 17, + AND: 18, + AS: 19, + ASCENDING: 20, + AT: 21, + ATTRIBUTE: 22, + BASE_URI: 23, + BOUNDARY_SPACE: 24, + BY: 25, + CASE: 26, + CAST: 27, + CASTABLE: 28, + CHILD: 29, + COLLATION: 30, + COMMENT: 31, + CONSTRUCTION: 32, + COPY_NAMESPACES: 33, + DECLARE: 34, + DEFAULT: 35, + DESCENDANT: 36, + DESCENDANT_OR_SELF: 37, + DESCENDING: 38, + DIV: 39, + DOCUMENT: 40, + DOCUMENT_NODE: 41, + ELEMENT: 42, + ELSE: 43, + EMPTY: 44, + EMPTY_SEQUENCE: 45, + ENCODING: 46, + EQ: 47, + EVERY: 48, + EXCEPT: 49, + EXTERNAL: 50, + FOLLOWING: 51, + FOLLOWING_SIBLING: 52, + FOR: 53, + FUNCTION: 54, + GE: 55, + GREATEST: 56, + GT: 57, + IDIV: 58, + IF: 59, + IMPORT: 60, + IN: 61, + INHERIT: 62, + INSTANCE: 63, + INTERSECT: 64, + IS: 65, + ITEM: 66, + LAX: 67, + LE: 68, + LEAST: 69, + LET: 70, + LT: 71, + MOD: 72, + MODULE: 73, + NAMESPACE: 74, + NE: 75, + NO_INHERIT: 76, + NO_PRESERVE: 77, + NODE: 78, + OF: 79, + OPTION: 80, + OR: 81, + ORDER: 82, + ORDERED: 83, + ORDERING: 84, + PARENT: 85, + PRECEDING: 86, + PRECEDING_SIBLING: 87, + PRESERVE: 88, + PROCESSING_INSTRUCTION: 89, + RETURN: 90, + SATISFIES: 91, + SCHEMA: 92, + SCHEMA_ATTRIBUTE: 93, + SCHEMA_ELEMENT: 94, + SELF: 95, + SOME: 96, + STABLE: 97, + STRICT: 98, + STRIP: 99, + TEXT: 100, + THEN: 101, + TO: 102, + TREAT: 103, + TYPESWITCH: 104, + UNION: 105, + UNORDERED: 106, + VALIDATE: 107, + VARIABLE: 108, + VERSION: 109, + WHERE: 110, + XQUERY: 111, + CATCH: 112, + CONTEXT: 113, + COUNT: 114, + DECIMAL_FORMAT: 115, + DECIMAL_SEPARATOR: 116, + DIGIT: 117, + END: 118, + GROUP: 119, + GROUPING_SEPARATOR: 120, + INFINITY: 121, + MINUS_SIGN: 122, + NAMESPACE_NODE: 123, + NAN: 124, + NEXT: 125, + ONLY: 126, + OUTER: 127, + PATTERN_SEPARATOR: 128, + PERCENT: 129, + PER_MILLE: 130, + PREVIOUS: 131, + SLIDING: 132, + START: 133, + TRY: 134, + TUMBLING: 135, + WHEN: 136, + WINDOW: 137, + ZERO_DIGIT: 138, + AFTER: 139, + BEFORE: 140, + COPY: 141, + DELETE: 142, + FIRST: 143, + INSERT: 144, + INTO: 145, + LAST: 146, + MODIFY: 147, + NODES: 148, + RENAME: 149, + REPLACE: 150, + REVALIDATION: 151, + SKIP: 152, + UPDATING: 153, + VALUE: 154, + WITH: 155, + BLOCK: 156, + CONSTANT: 157, + EXIT: 158, + RETURNING: 159, + SEQUENTIAL: 160, + SET: 161, + SIMPLE: 162, + WHILE: 163, + EVAL: 164, + USING: 165, + APPEND_ONLY: 166, + AUTOMATICALLY: 167, + CHECK: 168, + COLLECTION: 169, + CONSTRAINT: 170, + CONST: 171, + EQUALITY: 172, + FOREACH: 173, + FOREIGN: 174, + FROM: 175, + INDEX: 176, + INTEGRITY: 177, + KEY: 178, + MAINTAINED: 179, + MANUALLY: 180, + MUTABLE: 181, + NON: 182, + ON: 183, + QUEUE: 184, + RANGE: 185, + READ_ONLY: 186, + UNIQUE: 187, + BINARY: 188, + PRIVATE: 189, + AMP_ER: 190, + APOS_ER: 191, + QUOT_ER: 192, + LPAREN: 193, + RPAREN: 194, + DOLLAR: 195, + LBRACKET: 196, + RBRACKET: 197, + LSQUARE: 198, + RSQUARE: 199, + EQUAL: 200, + BIND: 201, + NOTEQUAL: 202, + AMP: 203, + COMMA: 204, + QUESTION: 205, + STAR: 206, + PLUS: 207, + MINUS: 208, + SMALLER: 209, + GREATER: 210, + SMALLEREQ: 211, + GREATEREQ: 212, + SMALLER_SMALLER: 213, + GREATER_GREATER: 214, + SLASH: 215, + SLASH_SLASH: 216, + DOT: 217, + DOT_DOT: 218, + COLON: 219, + COLON_COLON: 220, + EMPTY_CLOSE_TAG: 221, + CLOSE_TAG: 222, + SEMICOLON: 223, + VBAR: 224, + PRAGMA_START: 225, + PRAGMA_END: 226, + XML_COMMENT_START: 227, + XML_COMMENT_END: 228, + PI_START: 229, + PI_END: 230, + ATTR_SIGN: 231, + CHARREF_DEC: 232, + CHARREF_HEX: 233, + APOS: 234, + QUOT: 235, + NCNameStartChar: 236, + NCNameChar: 237, + L_NCName: 238, + Letter: 239, + HexLetter: 240, + Digit: 241, + Digits: 242, + S: 243, + SU: 244, + L_Pragma: 245, + L_DirCommentConstructor: 246, + L_DirPIConstructor: 247, + L_IntegerLiteral: 248, + L_DecimalLiteral: 249, + L_DoubleLiteral: 250, + L_Comment: 251, + L_AnyChar: 252, + L_QuotStringLiteralChar: 253, + L_AposStringLiteralChar: 254, + LibraryModule: 255, + MainModule: 256, + VersionDecl: 257, + VersionDeclEncoding: 258, + VersionDeclVersion: 259, + ModuleDecl: 260, + Prolog: 261, + DefaultNamespaceDecls: 262, + DefaultNamespaceDecl: 263, + Setters: 264, + Setter: 265, + NamespaceDecls: 266, + NamespaceDecl: 267, + Imports: 268, + SchemaImport: 269, + SchemaPrefix: 270, + NamespaceName: 271, + DefaultElementNamespace: 272, + AtHints: 273, + ModuleImport: 274, + BaseURIDecl: 275, + OrderedDecls: 276, + VarDecl: 277, + VarType: 278, + VarValue: 279, + VarDefaultValue: 280, + VarConstantDecl: 281, + VarVariableDecl: 282, + FunctionDecl: 283, + ParamList: 284, + ReturnType: 285, + OptionDecl: 286, + TypeDeclaration: 287, + Param: 288, + EnclosedExpr: 289, + QueryBody: 290, + UnaryExpr: 291, + DirElemConstructor: 292, + DirAttributeList: 293, + DirAttributeValue: 294, + DirElemContent: 295, + CommonContent: 296, + SequenceType: 297, + EmptySequenceTest: 298, + KindTest: 299, + ItemTest: 300, + AtomicType: 301, + StringLiteral: 302, + ElementContentChar: 303, + AttributeValueChar: 304, + QName: 305, + Block: 306, + BlockDecls: 307, + BlockVarDecl: 308, + BinaryTest: 309, + LETDOLLAR: 310, + EXPLICITLY: 311 +}); + +(function(){ +// public class variables +var EOF= -1, + L_QuotAttrContentChar= 4, + L_AposAttrContentChar= 5, + L_ElementContentChar= 6, + L_CDataSection= 7, + L_PredefinedEntityRef= 8, + L_CharRef= 9, + ESCAPE_LBRACKET= 10, + ESCAPE_RBRACKET= 11, + ESCAPE_APOS= 12, + ESCAPE_QUOT= 13, + CDATA_START= 14, + CDATA_END= 15, + ANCESTOR= 16, + ANCESTOR_OR_SELF= 17, + AND= 18, + AS= 19, + ASCENDING= 20, + AT= 21, + ATTRIBUTE= 22, + BASE_URI= 23, + BOUNDARY_SPACE= 24, + BY= 25, + CASE= 26, + CAST= 27, + CASTABLE= 28, + CHILD= 29, + COLLATION= 30, + COMMENT= 31, + CONSTRUCTION= 32, + COPY_NAMESPACES= 33, + DECLARE= 34, + DEFAULT= 35, + DESCENDANT= 36, + DESCENDANT_OR_SELF= 37, + DESCENDING= 38, + DIV= 39, + DOCUMENT= 40, + DOCUMENT_NODE= 41, + ELEMENT= 42, + ELSE= 43, + EMPTY= 44, + EMPTY_SEQUENCE= 45, + ENCODING= 46, + EQ= 47, + EVERY= 48, + EXCEPT= 49, + EXTERNAL= 50, + FOLLOWING= 51, + FOLLOWING_SIBLING= 52, + FOR= 53, + FUNCTION= 54, + GE= 55, + GREATEST= 56, + GT= 57, + IDIV= 58, + IF= 59, + IMPORT= 60, + IN= 61, + INHERIT= 62, + INSTANCE= 63, + INTERSECT= 64, + IS= 65, + ITEM= 66, + LAX= 67, + LE= 68, + LEAST= 69, + LET= 70, + LT= 71, + MOD= 72, + MODULE= 73, + NAMESPACE= 74, + NE= 75, + NO_INHERIT= 76, + NO_PRESERVE= 77, + NODE= 78, + OF= 79, + OPTION= 80, + OR= 81, + ORDER= 82, + ORDERED= 83, + ORDERING= 84, + PARENT= 85, + PRECEDING= 86, + PRECEDING_SIBLING= 87, + PRESERVE= 88, + PROCESSING_INSTRUCTION= 89, + RETURN= 90, + SATISFIES= 91, + SCHEMA= 92, + SCHEMA_ATTRIBUTE= 93, + SCHEMA_ELEMENT= 94, + SELF= 95, + SOME= 96, + STABLE= 97, + STRICT= 98, + STRIP= 99, + TEXT= 100, + THEN= 101, + TO= 102, + TREAT= 103, + TYPESWITCH= 104, + UNION= 105, + UNORDERED= 106, + VALIDATE= 107, + VARIABLE= 108, + VERSION= 109, + WHERE= 110, + XQUERY= 111, + CATCH= 112, + CONTEXT= 113, + COUNT= 114, + DECIMAL_FORMAT= 115, + DECIMAL_SEPARATOR= 116, + DIGIT= 117, + END= 118, + GROUP= 119, + GROUPING_SEPARATOR= 120, + INFINITY= 121, + MINUS_SIGN= 122, + NAMESPACE_NODE= 123, + NAN= 124, + NEXT= 125, + ONLY= 126, + OUTER= 127, + PATTERN_SEPARATOR= 128, + PERCENT= 129, + PER_MILLE= 130, + PREVIOUS= 131, + SLIDING= 132, + START= 133, + TRY= 134, + TUMBLING= 135, + WHEN= 136, + WINDOW= 137, + ZERO_DIGIT= 138, + AFTER= 139, + BEFORE= 140, + COPY= 141, + DELETE= 142, + FIRST= 143, + INSERT= 144, + INTO= 145, + LAST= 146, + MODIFY= 147, + NODES= 148, + RENAME= 149, + REPLACE= 150, + REVALIDATION= 151, + SKIP= 152, + UPDATING= 153, + VALUE= 154, + WITH= 155, + BLOCK= 156, + CONSTANT= 157, + EXIT= 158, + RETURNING= 159, + SEQUENTIAL= 160, + SET= 161, + SIMPLE= 162, + WHILE= 163, + EVAL= 164, + USING= 165, + APPEND_ONLY= 166, + AUTOMATICALLY= 167, + CHECK= 168, + COLLECTION= 169, + CONSTRAINT= 170, + CONST= 171, + EQUALITY= 172, + FOREACH= 173, + FOREIGN= 174, + FROM= 175, + INDEX= 176, + INTEGRITY= 177, + KEY= 178, + MAINTAINED= 179, + MANUALLY= 180, + MUTABLE= 181, + NON= 182, + ON= 183, + QUEUE= 184, + RANGE= 185, + READ_ONLY= 186, + UNIQUE= 187, + BINARY= 188, + PRIVATE= 189, + AMP_ER= 190, + APOS_ER= 191, + QUOT_ER= 192, + LPAREN= 193, + RPAREN= 194, + DOLLAR= 195, + LBRACKET= 196, + RBRACKET= 197, + LSQUARE= 198, + RSQUARE= 199, + EQUAL= 200, + BIND= 201, + NOTEQUAL= 202, + AMP= 203, + COMMA= 204, + QUESTION= 205, + STAR= 206, + PLUS= 207, + MINUS= 208, + SMALLER= 209, + GREATER= 210, + SMALLEREQ= 211, + GREATEREQ= 212, + SMALLER_SMALLER= 213, + GREATER_GREATER= 214, + SLASH= 215, + SLASH_SLASH= 216, + DOT= 217, + DOT_DOT= 218, + COLON= 219, + COLON_COLON= 220, + EMPTY_CLOSE_TAG= 221, + CLOSE_TAG= 222, + SEMICOLON= 223, + VBAR= 224, + PRAGMA_START= 225, + PRAGMA_END= 226, + XML_COMMENT_START= 227, + XML_COMMENT_END= 228, + PI_START= 229, + PI_END= 230, + ATTR_SIGN= 231, + CHARREF_DEC= 232, + CHARREF_HEX= 233, + APOS= 234, + QUOT= 235, + NCNameStartChar= 236, + NCNameChar= 237, + L_NCName= 238, + Letter= 239, + HexLetter= 240, + Digit= 241, + Digits= 242, + S= 243, + SU= 244, + L_Pragma= 245, + L_DirCommentConstructor= 246, + L_DirPIConstructor= 247, + L_IntegerLiteral= 248, + L_DecimalLiteral= 249, + L_DoubleLiteral= 250, + L_Comment= 251, + L_AnyChar= 252, + L_QuotStringLiteralChar= 253, + L_AposStringLiteralChar= 254, + LibraryModule= 255, + MainModule= 256, + VersionDecl= 257, + VersionDeclEncoding= 258, + VersionDeclVersion= 259, + ModuleDecl= 260, + Prolog= 261, + DefaultNamespaceDecls= 262, + DefaultNamespaceDecl= 263, + Setters= 264, + Setter= 265, + NamespaceDecls= 266, + NamespaceDecl= 267, + Imports= 268, + SchemaImport= 269, + SchemaPrefix= 270, + NamespaceName= 271, + DefaultElementNamespace= 272, + AtHints= 273, + ModuleImport= 274, + BaseURIDecl= 275, + OrderedDecls= 276, + VarDecl= 277, + VarType= 278, + VarValue= 279, + VarDefaultValue= 280, + VarConstantDecl= 281, + VarVariableDecl= 282, + FunctionDecl= 283, + ParamList= 284, + ReturnType= 285, + OptionDecl= 286, + TypeDeclaration= 287, + Param= 288, + EnclosedExpr= 289, + QueryBody= 290, + UnaryExpr= 291, + DirElemConstructor= 292, + DirAttributeList= 293, + DirAttributeValue= 294, + DirElemContent= 295, + CommonContent= 296, + SequenceType= 297, + EmptySequenceTest= 298, + KindTest= 299, + ItemTest= 300, + AtomicType= 301, + StringLiteral= 302, + ElementContentChar= 303, + AttributeValueChar= 304, + QName= 305, + Block= 306, + BlockDecls= 307, + BlockVarDecl= 308, + BinaryTest= 309, + LETDOLLAR= 310, + EXPLICITLY= 311; + +// public instance methods/vars +org.antlr.lang.extend(XQueryParser, org.antlr.runtime.Parser, { + + setTreeAdaptor: function(adaptor) { + this.adaptor = adaptor; + }, + getTreeAdaptor: function() { + return this.adaptor; + }, + + getTokenNames: function() { return XQueryParser.tokenNames; }, + getGrammarFileName: function() { return "XQueryParser.g"; } +}); +org.antlr.lang.augmentObject(XQueryParser.prototype, { + + // inline static return class + p_Module_return: (function() { + XQueryParser.p_Module_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Module_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:119:1: p_Module : (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF ; + // $ANTLR start "p_Module" + p_Module: function() { + var retval = new XQueryParser.p_Module_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EOF1 = null; + var vd = null; + var lm = null; + var mm = null; + + var EOF1_tree=null; + var stream_EOF=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EOF"); + var stream_p_VersionDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_VersionDecl"); + var stream_p_LibraryModule=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_LibraryModule"); + var stream_p_MainModule=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_MainModule"); + try { + // XQueryParser.g:120:9: ( (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF ) + // XQueryParser.g:120:11: (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF + // XQueryParser.g:120:13: (vd= p_VersionDecl )? + var alt1=2; + var LA1_0 = this.input.LA(1); + + if ( (LA1_0==XQUERY) ) { + var LA1_1 = this.input.LA(2); + + if ( (LA1_1==ENCODING||LA1_1==VERSION) ) { + alt1=1; + } + } + switch (alt1) { + case 1 : + // XQueryParser.g:120:13: vd= p_VersionDecl + this.pushFollow(XQueryParser.FOLLOW_p_VersionDecl_in_p_Module523); + vd=this.p_VersionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VersionDecl.add(vd.getTree()); + + + break; + + } + + // XQueryParser.g:121:13: (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( (LA2_0==MODULE) ) { + var LA2_1 = this.input.LA(2); + + if ( (LA2_1==NAMESPACE) ) { + alt2=1; + } + else if ( (LA2_1==EOF||LA2_1==AND||(LA2_1>=CAST && LA2_1<=CASTABLE)||LA2_1==DIV||LA2_1==EQ||LA2_1==EXCEPT||LA2_1==GE||(LA2_1>=GT && LA2_1<=IDIV)||(LA2_1>=INSTANCE && LA2_1<=IS)||LA2_1==LE||(LA2_1>=LT && LA2_1<=MOD)||LA2_1==NE||LA2_1==OR||(LA2_1>=TO && LA2_1<=TREAT)||LA2_1==UNION||LA2_1==LPAREN||LA2_1==LSQUARE||LA2_1==EQUAL||LA2_1==NOTEQUAL||LA2_1==COMMA||(LA2_1>=STAR && LA2_1<=SLASH_SLASH)||LA2_1==COLON||(LA2_1>=SEMICOLON && LA2_1<=VBAR)) ) { + alt2=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 2, 1, this.input); + + throw nvae; + } + } + else if ( ((LA2_0>=ANCESTOR && LA2_0<=MOD)||(LA2_0>=NAMESPACE && LA2_0<=EXIT)||(LA2_0>=SEQUENTIAL && LA2_0<=MAINTAINED)||(LA2_0>=MUTABLE && LA2_0<=LPAREN)||LA2_0==DOLLAR||(LA2_0>=STAR && LA2_0<=SMALLER)||(LA2_0>=SLASH && LA2_0<=DOT_DOT)||LA2_0==ATTR_SIGN||(LA2_0>=APOS && LA2_0<=QUOT)||LA2_0==L_NCName||(LA2_0>=L_Pragma && LA2_0<=L_DoubleLiteral)||(LA2_0>=LETDOLLAR && LA2_0<=EXPLICITLY)) ) { + alt2=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 2, 0, this.input); + + throw nvae; + } + switch (alt2) { + case 1 : + // XQueryParser.g:122:17: lm= p_LibraryModule[$vd.tree] + this.pushFollow(XQueryParser.FOLLOW_p_LibraryModule_in_p_Module558); + lm=this.p_LibraryModule((vd?vd.tree:null)); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_LibraryModule.add(lm.getTree()); + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 122:49: -> + { + this.adaptor.addChild(root_0, (lm?lm.tree:null)); + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:123:15: mm= p_MainModule[$vd.tree] + this.pushFollow(XQueryParser.FOLLOW_p_MainModule_in_p_Module584); + mm=this.p_MainModule((vd?vd.tree:null)); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_MainModule.add(mm.getTree()); + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 123:49: -> + { + this.adaptor.addChild(root_0, (mm?mm.tree:null)); + + } + + retval.tree = root_0;} + + break; + + } + + EOF1=this.match(this.input,EOF,XQueryParser.FOLLOW_EOF_in_p_Module613); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EOF.add(EOF1); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VersionDecl_return: (function() { + XQueryParser.p_VersionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VersionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:128:1: p_VersionDecl : k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) ; + // $ANTLR start "p_VersionDecl" + p_VersionDecl: function() { + var retval = new XQueryParser.p_VersionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON2 = null; + var k = null; + var list_k=null; + var enc = null; + var ver = null; + + var SEMICOLON2_tree=null; + var k_tree=null; + var stream_ENCODING=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ENCODING"); + var stream_VERSION=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token VERSION"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_XQUERY=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token XQUERY"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:129:9: (k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) ) + // XQueryParser.g:129:11: k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON + k=this.match(this.input,XQUERY,XQueryParser.FOLLOW_XQUERY_in_p_VersionDecl641); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_XQUERY.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:129:21: ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( (LA4_0==ENCODING) ) { + alt4=1; + } + else if ( (LA4_0==VERSION) ) { + alt4=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 4, 0, this.input); + + throw nvae; + } + switch (alt4) { + case 1 : + // XQueryParser.g:129:22: (k+= ENCODING enc= p_StringLiteral ) + // XQueryParser.g:129:22: (k+= ENCODING enc= p_StringLiteral ) + // XQueryParser.g:129:23: k+= ENCODING enc= p_StringLiteral + k=this.match(this.input,ENCODING,XQueryParser.FOLLOW_ENCODING_in_p_VersionDecl647); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ENCODING.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl651); + enc=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(enc.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:130:13: (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) + // XQueryParser.g:130:13: (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) + // XQueryParser.g:130:14: k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? + k=this.match(this.input,VERSION,XQueryParser.FOLLOW_VERSION_in_p_VersionDecl672); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_VERSION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl676); + ver=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ver.getTree()); + // XQueryParser.g:130:46: (k+= ENCODING enc= p_StringLiteral )? + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( (LA3_0==ENCODING) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // XQueryParser.g:130:47: k+= ENCODING enc= p_StringLiteral + k=this.match(this.input,ENCODING,XQueryParser.FOLLOW_ENCODING_in_p_VersionDecl682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ENCODING.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl686); + enc=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(enc.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON2=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_VersionDecl692); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON2); + + + + // AST REWRITE + // elements: enc, ver + // token labels: + // rule labels: retval, ver, enc + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_ver=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ver",ver!=null?ver.tree:null); + var stream_enc=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token enc",enc!=null?enc.tree:null); + + root_0 = this.adaptor.nil(); + // 131:17: -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) + { + // XQueryParser.g:131:20: ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(VersionDecl, "VersionDecl"), root_1); + + // XQueryParser.g:131:34: ^( VersionDeclVersion ( $ver)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VersionDeclVersion, "VersionDeclVersion"), root_2); + + // XQueryParser.g:131:55: ( $ver)? + if ( stream_ver.hasNext() ) { + this.adaptor.addChild(root_2, stream_ver.nextTree()); + + } + stream_ver.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:131:62: ^( VersionDeclEncoding ( $enc)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VersionDeclEncoding, "VersionDeclEncoding"), root_2); + + // XQueryParser.g:131:84: ( $enc)? + if ( stream_enc.hasNext() ) { + this.adaptor.addChild(root_2, stream_enc.nextTree()); + + } + stream_enc.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_MainModule_return: (function() { + XQueryParser.p_MainModule_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_MainModule_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:135:1: p_MainModule[vd] : pm_Prolog p_QueryBody -> ^( MainModule pm_Prolog p_QueryBody ) ; + // $ANTLR start "p_MainModule" + p_MainModule: function(vd) { + var retval = new XQueryParser.p_MainModule_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Prolog3 = null; + var p_QueryBody4 = null; + + var stream_p_QueryBody=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QueryBody"); + var stream_pm_Prolog=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Prolog"); + try { + // XQueryParser.g:136:9: ( pm_Prolog p_QueryBody -> ^( MainModule pm_Prolog p_QueryBody ) ) + // XQueryParser.g:136:11: pm_Prolog p_QueryBody + this.pushFollow(XQueryParser.FOLLOW_pm_Prolog_in_p_MainModule758); + pm_Prolog3=this.pm_Prolog(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Prolog.add(pm_Prolog3.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_QueryBody_in_p_MainModule760); + p_QueryBody4=this.p_QueryBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QueryBody.add(p_QueryBody4.getTree()); + + + // AST REWRITE + // elements: pm_Prolog, p_QueryBody + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 137:17: -> ^( MainModule pm_Prolog p_QueryBody ) + { + // XQueryParser.g:137:20: ^( MainModule pm_Prolog p_QueryBody ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(MainModule, "MainModule"), root_1); + + this.adaptor.addChild(root_1, vd); + this.adaptor.addChild(root_1, stream_pm_Prolog.nextTree()); + this.adaptor.addChild(root_1, stream_p_QueryBody.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LibraryModule_return: (function() { + XQueryParser.p_LibraryModule_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LibraryModule_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:141:1: p_LibraryModule[vd] : p_ModuleDecl pm_Prolog -> ^( LibraryModule p_ModuleDecl pm_Prolog ) ; + // $ANTLR start "p_LibraryModule" + p_LibraryModule: function(vd) { + var retval = new XQueryParser.p_LibraryModule_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ModuleDecl5 = null; + var pm_Prolog6 = null; + + var stream_pm_Prolog=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Prolog"); + var stream_p_ModuleDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ModuleDecl"); + try { + // XQueryParser.g:142:9: ( p_ModuleDecl pm_Prolog -> ^( LibraryModule p_ModuleDecl pm_Prolog ) ) + // XQueryParser.g:142:11: p_ModuleDecl pm_Prolog + this.pushFollow(XQueryParser.FOLLOW_p_ModuleDecl_in_p_LibraryModule816); + p_ModuleDecl5=this.p_ModuleDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ModuleDecl.add(p_ModuleDecl5.getTree()); + this.pushFollow(XQueryParser.FOLLOW_pm_Prolog_in_p_LibraryModule818); + pm_Prolog6=this.pm_Prolog(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Prolog.add(pm_Prolog6.getTree()); + + + // AST REWRITE + // elements: p_ModuleDecl, pm_Prolog + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 143:17: -> ^( LibraryModule p_ModuleDecl pm_Prolog ) + { + // XQueryParser.g:143:20: ^( LibraryModule p_ModuleDecl pm_Prolog ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(LibraryModule, "LibraryModule"), root_1); + + this.adaptor.addChild(root_1, vd); + this.adaptor.addChild(root_1, stream_p_ModuleDecl.nextTree()); + this.adaptor.addChild(root_1, stream_pm_Prolog.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ModuleDecl_return: (function() { + XQueryParser.p_ModuleDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ModuleDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:147:1: p_ModuleDecl : k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON -> ^( ModuleDecl p_NCName p_StringLiteral ) ; + // $ANTLR start "p_ModuleDecl" + p_ModuleDecl: function() { + var retval = new XQueryParser.p_ModuleDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL8 = null; + var SEMICOLON10 = null; + var k = null; + var list_k=null; + var p_NCName7 = null; + var p_StringLiteral9 = null; + + var EQUAL8_tree=null; + var SEMICOLON10_tree=null; + var k_tree=null; + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_MODULE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MODULE"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:148:9: (k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON -> ^( ModuleDecl p_NCName p_StringLiteral ) ) + // XQueryParser.g:148:11: k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON + k=this.match(this.input,MODULE,XQueryParser.FOLLOW_MODULE_in_p_ModuleDecl874); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MODULE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_ModuleDecl878); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_ModuleDecl880); + p_NCName7=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(p_NCName7.getTree()); + EQUAL8=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_ModuleDecl882); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL8); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_ModuleDecl884); + p_StringLiteral9=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(p_StringLiteral9.getTree()); + SEMICOLON10=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_ModuleDecl886); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON10); + + + + // AST REWRITE + // elements: p_StringLiteral, p_NCName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 149:17: -> ^( ModuleDecl p_NCName p_StringLiteral ) + { + // XQueryParser.g:149:21: ^( ModuleDecl p_NCName p_StringLiteral ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ModuleDecl, "ModuleDecl"), root_1); + + this.adaptor.addChild(root_1, stream_p_NCName.nextTree()); + this.adaptor.addChild(root_1, stream_p_StringLiteral.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_Prolog_return: (function() { + XQueryParser.pm_Prolog_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_Prolog_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:155:1: pm_Prolog : ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) ; + // $ANTLR start "pm_Prolog" + pm_Prolog: function() { + var retval = new XQueryParser.pm_Prolog_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var list_dnd=null; + var list_s=null; + var list_nd=null; + var list_i=null; + var od = null; + var dnd = null; + var s = null; + var nd = null; + var i = null; + var stream_pm_NamespaceDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_NamespaceDecl"); + var stream_p_Import=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Import"); + var stream_p_Setter=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Setter"); + var stream_pm_DefaultNamespaceDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_DefaultNamespaceDecl"); + var stream_pg_OrderedDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pg_OrderedDecl"); + try { + // XQueryParser.g:156:9: ( ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) ) + // XQueryParser.g:156:11: ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl + // XQueryParser.g:156:11: ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* + loop6: + do { + var alt6=2; + alt6 = this.dfa6.predict(this.input); + switch (alt6) { + case 1 : + // XQueryParser.g:156:12: (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) + // XQueryParser.g:156:12: (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) + var alt5=4; + var LA5_0 = this.input.LA(1); + + if ( (LA5_0==DECLARE) ) { + var LA5_1 = this.input.LA(2); + + if ( (LA5_1==DEFAULT) ) { + var LA5_3 = this.input.LA(3); + + if ( (LA5_3==COLLATION||LA5_3==ORDER) ) { + alt5=2; + } + else if ( (LA5_3==ELEMENT||LA5_3==FUNCTION) ) { + alt5=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 3, this.input); + + throw nvae; + } + } + else if ( ((LA5_1>=BASE_URI && LA5_1<=BOUNDARY_SPACE)||LA5_1==CONSTRUCTION||LA5_1==ORDERING) ) { + alt5=2; + } + else if ( (LA5_1==REVALIDATION) && ((true))) { + alt5=2; + } + else if ( (LA5_1==COPY_NAMESPACES) ) { + alt5=2; + } + else if ( (LA5_1==NAMESPACE) ) { + alt5=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 1, this.input); + + throw nvae; + } + } + else if ( (LA5_0==IMPORT) ) { + alt5=4; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 0, this.input); + + throw nvae; + } + switch (alt5) { + case 1 : + // XQueryParser.g:156:13: dnd+= pm_DefaultNamespaceDecl + this.pushFollow(XQueryParser.FOLLOW_pm_DefaultNamespaceDecl_in_pm_Prolog945); + dnd=this.pm_DefaultNamespaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_DefaultNamespaceDecl.add(dnd.getTree()); + if (org.antlr.lang.isNull(list_dnd)) list_dnd = []; + list_dnd.push(dnd.getTree()); + + + + break; + case 2 : + // XQueryParser.g:156:44: s+= p_Setter + this.pushFollow(XQueryParser.FOLLOW_p_Setter_in_pm_Prolog951); + s=this.p_Setter(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Setter.add(s.getTree()); + if (org.antlr.lang.isNull(list_s)) list_s = []; + list_s.push(s.getTree()); + + + + break; + case 3 : + // XQueryParser.g:156:58: nd+= pm_NamespaceDecl + this.pushFollow(XQueryParser.FOLLOW_pm_NamespaceDecl_in_pm_Prolog957); + nd=this.pm_NamespaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_NamespaceDecl.add(nd.getTree()); + if (org.antlr.lang.isNull(list_nd)) list_nd = []; + list_nd.push(nd.getTree()); + + + + break; + case 4 : + // XQueryParser.g:156:81: i+= p_Import + this.pushFollow(XQueryParser.FOLLOW_p_Import_in_pm_Prolog963); + i=this.p_Import(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Import.add(i.getTree()); + if (org.antlr.lang.isNull(list_i)) list_i = []; + list_i.push(i.getTree()); + + + + break; + + } + + + + break; + + default : + break loop6; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_pg_OrderedDecl_in_pm_Prolog970); + od=this.pg_OrderedDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pg_OrderedDecl.add(od.getTree()); + + + // AST REWRITE + // elements: s, i, nd, od, dnd + // token labels: + // rule labels: retval, od + // token list labels: + // rule list labels: s, nd, dnd, i + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_od=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token od",od!=null?od.tree:null); + var stream_s=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token s",list_s); + var stream_nd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nd",list_nd); + var stream_dnd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token dnd",list_dnd); + var stream_i=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token i",list_i); + root_0 = this.adaptor.nil(); + // 157:17: -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) + { + // XQueryParser.g:157:21: ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Prolog, "Prolog"), root_1); + + // XQueryParser.g:158:33: ^( DefaultNamespaceDecls ( $dnd)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DefaultNamespaceDecls, "DefaultNamespaceDecls"), root_2); + + // XQueryParser.g:158:57: ( $dnd)* + while ( stream_dnd.hasNext() ) { + this.adaptor.addChild(root_2, stream_dnd.nextTree()); + + } + stream_dnd.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:159:33: ^( Setters ( $s)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(Setters, "Setters"), root_2); + + // XQueryParser.g:159:43: ( $s)* + while ( stream_s.hasNext() ) { + this.adaptor.addChild(root_2, stream_s.nextTree()); + + } + stream_s.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:160:33: ^( NamespaceDecls ( $nd)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceDecls, "NamespaceDecls"), root_2); + + // XQueryParser.g:160:50: ( $nd)* + while ( stream_nd.hasNext() ) { + this.adaptor.addChild(root_2, stream_nd.nextTree()); + + } + stream_nd.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:161:33: ^( Imports ( $i)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(Imports, "Imports"), root_2); + + // XQueryParser.g:161:43: ( $i)* + while ( stream_i.hasNext() ) { + this.adaptor.addChild(root_2, stream_i.nextTree()); + + } + stream_i.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:162:33: ^( OrderedDecls ( $od)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(OrderedDecls, "OrderedDecls"), root_2); + + // XQueryParser.g:162:48: ( $od)* + while ( stream_od.hasNext() ) { + this.adaptor.addChild(root_2, stream_od.nextTree()); + + } + stream_od.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_OrderedDecl_return: (function() { + XQueryParser.pg_OrderedDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_OrderedDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:170:1: pg_OrderedDecl : ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* ; + // $ANTLR start "pg_OrderedDecl" + pg_OrderedDecl: function() { + var retval = new XQueryParser.pg_OrderedDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_VarDecl11 = null; + var pm_ContextItemDecl12 = null; + var pm_FunctionDecl13 = null; + var pm_OptionDecl14 = null; + var p_CollectionDecl15 = null; + var p_IndexDecl16 = null; + var p_ICDecl17 = null; + + + try { + // XQueryParser.g:171:9: ( ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* ) + // XQueryParser.g:171:11: ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:171:11: ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* + loop7: + do { + var alt7=8; + alt7 = this.dfa7.predict(this.input); + switch (alt7) { + case 1 : + // XQueryParser.g:171:12: pm_VarDecl + this.pushFollow(XQueryParser.FOLLOW_pm_VarDecl_in_pg_OrderedDecl1248); + pm_VarDecl11=this.pm_VarDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_VarDecl11.getTree()); + + + break; + case 2 : + // XQueryParser.g:171:25: pm_ContextItemDecl + this.pushFollow(XQueryParser.FOLLOW_pm_ContextItemDecl_in_pg_OrderedDecl1252); + pm_ContextItemDecl12=this.pm_ContextItemDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ContextItemDecl12.getTree()); + + + break; + case 3 : + // XQueryParser.g:171:46: pm_FunctionDecl + this.pushFollow(XQueryParser.FOLLOW_pm_FunctionDecl_in_pg_OrderedDecl1256); + pm_FunctionDecl13=this.pm_FunctionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_FunctionDecl13.getTree()); + + + break; + case 4 : + // XQueryParser.g:171:64: pm_OptionDecl + this.pushFollow(XQueryParser.FOLLOW_pm_OptionDecl_in_pg_OrderedDecl1260); + pm_OptionDecl14=this.pm_OptionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_OptionDecl14.getTree()); + + + break; + case 5 : + // XQueryParser.g:172:11: {...}? => p_CollectionDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_CollectionDecl_in_pg_OrderedDecl1275); + p_CollectionDecl15=this.p_CollectionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollectionDecl15.getTree()); + + + break; + case 6 : + // XQueryParser.g:173:11: {...}? => p_IndexDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_IndexDecl_in_pg_OrderedDecl1290); + p_IndexDecl16=this.p_IndexDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexDecl16.getTree()); + + + break; + case 7 : + // XQueryParser.g:174:11: {...}? => p_ICDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICDecl_in_pg_OrderedDecl1305); + p_ICDecl17=this.p_ICDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICDecl17.getTree()); + + + break; + + default : + break loop7; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Setter_return: (function() { + XQueryParser.p_Setter_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Setter_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:179:1: p_Setter : ( pm_BoundarySpaceDecl | pm_DefaultCollationDecl | pm_BaseURIDecl | pm_ConstructionDecl | pm_OrderingModeDecl | pm_EmptyOrderDecl | {...}? => pm_RevalidationDecl | pm_CopyNamespacesDecl ); + // $ANTLR start "p_Setter" + p_Setter: function() { + var retval = new XQueryParser.p_Setter_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_BoundarySpaceDecl18 = null; + var pm_DefaultCollationDecl19 = null; + var pm_BaseURIDecl20 = null; + var pm_ConstructionDecl21 = null; + var pm_OrderingModeDecl22 = null; + var pm_EmptyOrderDecl23 = null; + var pm_RevalidationDecl24 = null; + var pm_CopyNamespacesDecl25 = null; + + + try { + // XQueryParser.g:180:9: ( pm_BoundarySpaceDecl | pm_DefaultCollationDecl | pm_BaseURIDecl | pm_ConstructionDecl | pm_OrderingModeDecl | pm_EmptyOrderDecl | {...}? => pm_RevalidationDecl | pm_CopyNamespacesDecl ) + var alt8=8; + alt8 = this.dfa8.predict(this.input); + switch (alt8) { + case 1 : + // XQueryParser.g:180:11: pm_BoundarySpaceDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_BoundarySpaceDecl_in_p_Setter1334); + pm_BoundarySpaceDecl18=this.pm_BoundarySpaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_BoundarySpaceDecl18.getTree()); + + + break; + case 2 : + // XQueryParser.g:181:11: pm_DefaultCollationDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_DefaultCollationDecl_in_p_Setter1346); + pm_DefaultCollationDecl19=this.pm_DefaultCollationDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_DefaultCollationDecl19.getTree()); + + + break; + case 3 : + // XQueryParser.g:182:11: pm_BaseURIDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_BaseURIDecl_in_p_Setter1358); + pm_BaseURIDecl20=this.pm_BaseURIDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_BaseURIDecl20.getTree()); + + + break; + case 4 : + // XQueryParser.g:183:11: pm_ConstructionDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_ConstructionDecl_in_p_Setter1370); + pm_ConstructionDecl21=this.pm_ConstructionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ConstructionDecl21.getTree()); + + + break; + case 5 : + // XQueryParser.g:184:11: pm_OrderingModeDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_OrderingModeDecl_in_p_Setter1382); + pm_OrderingModeDecl22=this.pm_OrderingModeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_OrderingModeDecl22.getTree()); + + + break; + case 6 : + // XQueryParser.g:185:11: pm_EmptyOrderDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_EmptyOrderDecl_in_p_Setter1394); + pm_EmptyOrderDecl23=this.pm_EmptyOrderDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_EmptyOrderDecl23.getTree()); + + + break; + case 7 : + // XQueryParser.g:186:11: {...}? => pm_RevalidationDecl + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_Setter", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_pm_RevalidationDecl_in_p_Setter1409); + pm_RevalidationDecl24=this.pm_RevalidationDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_RevalidationDecl24.getTree()); + + + break; + case 8 : + // XQueryParser.g:187:11: pm_CopyNamespacesDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_CopyNamespacesDecl_in_p_Setter1421); + pm_CopyNamespacesDecl25=this.pm_CopyNamespacesDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_CopyNamespacesDecl25.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Import_return: (function() { + XQueryParser.p_Import_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Import_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:191:1: p_Import : ( pm_SchemaImport | pm_ModuleImport ); + // $ANTLR start "p_Import" + p_Import: function() { + var retval = new XQueryParser.p_Import_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_SchemaImport26 = null; + var pm_ModuleImport27 = null; + + + try { + // XQueryParser.g:192:9: ( pm_SchemaImport | pm_ModuleImport ) + var alt9=2; + var LA9_0 = this.input.LA(1); + + if ( (LA9_0==IMPORT) ) { + var LA9_1 = this.input.LA(2); + + if ( (LA9_1==SCHEMA) ) { + alt9=1; + } + else if ( (LA9_1==MODULE) ) { + alt9=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 9, 1, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 9, 0, this.input); + + throw nvae; + } + switch (alt9) { + case 1 : + // XQueryParser.g:192:11: pm_SchemaImport + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_SchemaImport_in_p_Import1447); + pm_SchemaImport26=this.pm_SchemaImport(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_SchemaImport26.getTree()); + + + break; + case 2 : + // XQueryParser.g:192:29: pm_ModuleImport + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_ModuleImport_in_p_Import1451); + pm_ModuleImport27=this.pm_ModuleImport(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ModuleImport27.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_NamespaceDecl_return: (function() { + XQueryParser.pm_NamespaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_NamespaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:199:1: pm_NamespaceDecl : k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON -> ^( NamespaceDecl $nn $us) ; + // $ANTLR start "pm_NamespaceDecl" + pm_NamespaceDecl: function() { + var retval = new XQueryParser.pm_NamespaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL28 = null; + var SEMICOLON29 = null; + var k = null; + var list_k=null; + var nn = null; + var us = null; + + var EQUAL28_tree=null; + var SEMICOLON29_tree=null; + var k_tree=null; + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:200:9: (k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON -> ^( NamespaceDecl $nn $us) ) + // XQueryParser.g:200:11: k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_NamespaceDecl1482); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_NamespaceDecl1486); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_pm_NamespaceDecl1490); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL28=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_pm_NamespaceDecl1492); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL28); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_NamespaceDecl1496); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + SEMICOLON29=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_NamespaceDecl1498); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON29); + + + + // AST REWRITE + // elements: us, nn + // token labels: + // rule labels: retval, nn, us + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + + root_0 = this.adaptor.nil(); + // 201:17: -> ^( NamespaceDecl $nn $us) + { + // XQueryParser.g:201:20: ^( NamespaceDecl $nn $us) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceDecl, "NamespaceDecl"), root_1); + + this.adaptor.addChild(root_1, stream_nn.nextTree()); + this.adaptor.addChild(root_1, stream_us.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BoundarySpaceDecl_return: (function() { + XQueryParser.pm_BoundarySpaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BoundarySpaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:205:1: pm_BoundarySpaceDecl : k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON ; + // $ANTLR start "pm_BoundarySpaceDecl" + pm_BoundarySpaceDecl: function() { + var retval = new XQueryParser.pm_BoundarySpaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON30 = null; + var k = null; + var list_k=null; + + var SEMICOLON30_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:206:9: (k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON ) + // XQueryParser.g:206:13: k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BoundarySpaceDecl1561); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BOUNDARY_SPACE,XQueryParser.FOLLOW_BOUNDARY_SPACE_in_pm_BoundarySpaceDecl1565); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:206:42: (k+= PRESERVE | k+= STRIP ) + var alt10=2; + var LA10_0 = this.input.LA(1); + + if ( (LA10_0==PRESERVE) ) { + alt10=1; + } + else if ( (LA10_0==STRIP) ) { + alt10=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 10, 0, this.input); + + throw nvae; + } + switch (alt10) { + case 1 : + // XQueryParser.g:206:43: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_pm_BoundarySpaceDecl1570); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:206:57: k+= STRIP + k=this.match(this.input,STRIP,XQueryParser.FOLLOW_STRIP_in_pm_BoundarySpaceDecl1576); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON30=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BoundarySpaceDecl1579); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON30_tree = this.adaptor.create(SEMICOLON30); + this.adaptor.addChild(root_0, SEMICOLON30_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DefaultNamespaceDecl_return: (function() { + XQueryParser.pm_DefaultNamespaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DefaultNamespaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:210:1: pm_DefaultNamespaceDecl : k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_DefaultNamespaceDecl" + pm_DefaultNamespaceDecl: function() { + var retval = new XQueryParser.pm_DefaultNamespaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON32 = null; + var k = null; + var list_k=null; + var p_StringLiteral31 = null; + + var SEMICOLON32_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:211:9: (k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON ) + // XQueryParser.g:211:11: k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_DefaultNamespaceDecl1607); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_DefaultNamespaceDecl1611); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:211:33: (k+= ELEMENT | k+= FUNCTION ) + var alt11=2; + var LA11_0 = this.input.LA(1); + + if ( (LA11_0==ELEMENT) ) { + alt11=1; + } + else if ( (LA11_0==FUNCTION) ) { + alt11=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 11, 0, this.input); + + throw nvae; + } + switch (alt11) { + case 1 : + // XQueryParser.g:211:34: k+= ELEMENT + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_pm_DefaultNamespaceDecl1616); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:211:47: k+= FUNCTION + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_DefaultNamespaceDecl1622); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_DefaultNamespaceDecl1627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_DefaultNamespaceDecl1629); + p_StringLiteral31=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral31.getTree()); + SEMICOLON32=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_DefaultNamespaceDecl1631); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON32_tree = this.adaptor.create(SEMICOLON32); + this.adaptor.addChild(root_0, SEMICOLON32_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_OptionDecl_return: (function() { + XQueryParser.pm_OptionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_OptionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:215:1: pm_OptionDecl : k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_OptionDecl" + pm_OptionDecl: function() { + var retval = new XQueryParser.pm_OptionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON35 = null; + var k = null; + var list_k=null; + var p_QName33 = null; + var p_StringLiteral34 = null; + + var SEMICOLON35_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:216:9: (k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON ) + // XQueryParser.g:216:13: k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_OptionDecl1662); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,OPTION,XQueryParser.FOLLOW_OPTION_in_pm_OptionDecl1666); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_OptionDecl1668); + p_QName33=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName33.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_OptionDecl1670); + p_StringLiteral34=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral34.getTree()); + SEMICOLON35=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_OptionDecl1672); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON35_tree = this.adaptor.create(SEMICOLON35); + this.adaptor.addChild(root_0, SEMICOLON35_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_OrderingModeDecl_return: (function() { + XQueryParser.pm_OrderingModeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_OrderingModeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:220:1: pm_OrderingModeDecl : k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON ; + // $ANTLR start "pm_OrderingModeDecl" + pm_OrderingModeDecl: function() { + var retval = new XQueryParser.pm_OrderingModeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON36 = null; + var k = null; + var list_k=null; + + var SEMICOLON36_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:221:9: (k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON ) + // XQueryParser.g:221:13: k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_OrderingModeDecl1703); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDERING,XQueryParser.FOLLOW_ORDERING_in_pm_OrderingModeDecl1707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:221:36: (k+= ORDERED | k+= UNORDERED ) + var alt12=2; + var LA12_0 = this.input.LA(1); + + if ( (LA12_0==ORDERED) ) { + alt12=1; + } + else if ( (LA12_0==UNORDERED) ) { + alt12=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 12, 0, this.input); + + throw nvae; + } + switch (alt12) { + case 1 : + // XQueryParser.g:221:37: k+= ORDERED + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_pm_OrderingModeDecl1712); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:221:50: k+= UNORDERED + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_pm_OrderingModeDecl1718); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON36=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_OrderingModeDecl1721); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON36_tree = this.adaptor.create(SEMICOLON36); + this.adaptor.addChild(root_0, SEMICOLON36_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_EmptyOrderDecl_return: (function() { + XQueryParser.pm_EmptyOrderDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_EmptyOrderDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:225:1: pm_EmptyOrderDecl : k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON ; + // $ANTLR start "pm_EmptyOrderDecl" + pm_EmptyOrderDecl: function() { + var retval = new XQueryParser.pm_EmptyOrderDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON37 = null; + var k = null; + var list_k=null; + + var SEMICOLON37_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:226:9: (k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON ) + // XQueryParser.g:226:13: k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_EmptyOrderDecl1752); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_EmptyOrderDecl1756); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_pm_EmptyOrderDecl1760); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,EMPTY,XQueryParser.FOLLOW_EMPTY_in_pm_EmptyOrderDecl1764); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:226:53: (k+= GREATEST | k+= LEAST ) + var alt13=2; + var LA13_0 = this.input.LA(1); + + if ( (LA13_0==GREATEST) ) { + alt13=1; + } + else if ( (LA13_0==LEAST) ) { + alt13=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 13, 0, this.input); + + throw nvae; + } + switch (alt13) { + case 1 : + // XQueryParser.g:226:54: k+= GREATEST + k=this.match(this.input,GREATEST,XQueryParser.FOLLOW_GREATEST_in_pm_EmptyOrderDecl1769); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:226:68: k+= LEAST + k=this.match(this.input,LEAST,XQueryParser.FOLLOW_LEAST_in_pm_EmptyOrderDecl1775); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON37=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_EmptyOrderDecl1778); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON37_tree = this.adaptor.create(SEMICOLON37); + this.adaptor.addChild(root_0, SEMICOLON37_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_CopyNamespacesDecl_return: (function() { + XQueryParser.pm_CopyNamespacesDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_CopyNamespacesDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:230:1: pm_CopyNamespacesDecl : k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON ; + // $ANTLR start "pm_CopyNamespacesDecl" + pm_CopyNamespacesDecl: function() { + var retval = new XQueryParser.pm_CopyNamespacesDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA39 = null; + var SEMICOLON41 = null; + var k = null; + var list_k=null; + var p_PreserveMode38 = null; + var p_InheritMode40 = null; + + var COMMA39_tree=null; + var SEMICOLON41_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:231:9: (k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON ) + // XQueryParser.g:231:13: k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_CopyNamespacesDecl1809); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COPY_NAMESPACES,XQueryParser.FOLLOW_COPY_NAMESPACES_in_pm_CopyNamespacesDecl1813); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PreserveMode_in_pm_CopyNamespacesDecl1815); + p_PreserveMode38=this.p_PreserveMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PreserveMode38.getTree()); + COMMA39=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_CopyNamespacesDecl1817); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA39_tree = this.adaptor.create(COMMA39); + this.adaptor.addChild(root_0, COMMA39_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_InheritMode_in_pm_CopyNamespacesDecl1819); + p_InheritMode40=this.p_InheritMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InheritMode40.getTree()); + SEMICOLON41=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_CopyNamespacesDecl1821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON41_tree = this.adaptor.create(SEMICOLON41); + this.adaptor.addChild(root_0, SEMICOLON41_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DecimalFormatDecl_return: (function() { + XQueryParser.p_DecimalFormatDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DecimalFormatDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:235:1: p_DecimalFormatDecl : k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON ; + // $ANTLR start "p_DecimalFormatDecl" + p_DecimalFormatDecl: function() { + var retval = new XQueryParser.p_DecimalFormatDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DECIMAL_FORMAT42 = null; + var DEFAULT44 = null; + var DECIMAL_FORMAT45 = null; + var EQ47 = null; + var SEMICOLON49 = null; + var k = null; + var list_k=null; + var p_QName43 = null; + var p_DFPropertyName46 = null; + var p_StringLiteral48 = null; + + var DECIMAL_FORMAT42_tree=null; + var DEFAULT44_tree=null; + var DECIMAL_FORMAT45_tree=null; + var EQ47_tree=null; + var SEMICOLON49_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:236:9: (k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON ) + // XQueryParser.g:236:13: k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_DecimalFormatDecl1852); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:236:24: ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) + var alt14=2; + var LA14_0 = this.input.LA(1); + + if ( (LA14_0==DECIMAL_FORMAT) ) { + alt14=1; + } + else if ( (LA14_0==DEFAULT) ) { + alt14=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 14, 0, this.input); + + throw nvae; + } + switch (alt14) { + case 1 : + // XQueryParser.g:236:25: ( DECIMAL_FORMAT p_QName ) + // XQueryParser.g:236:25: ( DECIMAL_FORMAT p_QName ) + // XQueryParser.g:236:26: DECIMAL_FORMAT p_QName + DECIMAL_FORMAT42=this.match(this.input,DECIMAL_FORMAT,XQueryParser.FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1856); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DECIMAL_FORMAT42_tree = this.adaptor.create(DECIMAL_FORMAT42); + this.adaptor.addChild(root_0, DECIMAL_FORMAT42_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DecimalFormatDecl1858); + p_QName43=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName43.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:236:52: ( DEFAULT DECIMAL_FORMAT ) + // XQueryParser.g:236:52: ( DEFAULT DECIMAL_FORMAT ) + // XQueryParser.g:236:53: DEFAULT DECIMAL_FORMAT + DEFAULT44=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_DecimalFormatDecl1864); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DEFAULT44_tree = this.adaptor.create(DEFAULT44); + this.adaptor.addChild(root_0, DEFAULT44_tree); + } + DECIMAL_FORMAT45=this.match(this.input,DECIMAL_FORMAT,XQueryParser.FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1866); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DECIMAL_FORMAT45_tree = this.adaptor.create(DECIMAL_FORMAT45); + this.adaptor.addChild(root_0, DECIMAL_FORMAT45_tree); + } + + + + + + break; + + } + + // XQueryParser.g:236:78: ( p_DFPropertyName ) + // XQueryParser.g:236:79: p_DFPropertyName + this.pushFollow(XQueryParser.FOLLOW_p_DFPropertyName_in_p_DecimalFormatDecl1871); + p_DFPropertyName46=this.p_DFPropertyName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DFPropertyName46.getTree()); + + + + EQ47=this.match(this.input,EQ,XQueryParser.FOLLOW_EQ_in_p_DecimalFormatDecl1874); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + EQ47_tree = this.adaptor.create(EQ47); + this.adaptor.addChild(root_0, EQ47_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_DecimalFormatDecl1876); + p_StringLiteral48=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral48.getTree()); + SEMICOLON49=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_DecimalFormatDecl1878); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON49_tree = this.adaptor.create(SEMICOLON49); + this.adaptor.addChild(root_0, SEMICOLON49_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DFPropertyName_return: (function() { + XQueryParser.p_DFPropertyName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DFPropertyName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:240:1: p_DFPropertyName : (k= DECIMAL_SEPARATOR | k= GROUPING_SEPARATOR | k= INFINITY | k= MINUS_SIGN | k= NAN | k= PERCENT | k= PER_MILLE | k= ZERO_DIGIT | k= DIGIT | k= PATTERN_SEPARATOR ); + // $ANTLR start "p_DFPropertyName" + p_DFPropertyName: function() { + var retval = new XQueryParser.p_DFPropertyName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + + var k_tree=null; + + try { + // XQueryParser.g:241:9: (k= DECIMAL_SEPARATOR | k= GROUPING_SEPARATOR | k= INFINITY | k= MINUS_SIGN | k= NAN | k= PERCENT | k= PER_MILLE | k= ZERO_DIGIT | k= DIGIT | k= PATTERN_SEPARATOR ) + var alt15=10; + switch ( this.input.LA(1) ) { + case DECIMAL_SEPARATOR: + alt15=1; + break; + case GROUPING_SEPARATOR: + alt15=2; + break; + case INFINITY: + alt15=3; + break; + case MINUS_SIGN: + alt15=4; + break; + case NAN: + alt15=5; + break; + case PERCENT: + alt15=6; + break; + case PER_MILLE: + alt15=7; + break; + case ZERO_DIGIT: + alt15=8; + break; + case DIGIT: + alt15=9; + break; + case PATTERN_SEPARATOR: + alt15=10; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 15, 0, this.input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // XQueryParser.g:241:11: k= DECIMAL_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECIMAL_SEPARATOR,XQueryParser.FOLLOW_DECIMAL_SEPARATOR_in_p_DFPropertyName1907); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:241:33: k= GROUPING_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,GROUPING_SEPARATOR,XQueryParser.FOLLOW_GROUPING_SEPARATOR_in_p_DFPropertyName1913); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:241:56: k= INFINITY + root_0 = this.adaptor.nil(); + + k=this.match(this.input,INFINITY,XQueryParser.FOLLOW_INFINITY_in_p_DFPropertyName1919); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 4 : + // XQueryParser.g:241:69: k= MINUS_SIGN + root_0 = this.adaptor.nil(); + + k=this.match(this.input,MINUS_SIGN,XQueryParser.FOLLOW_MINUS_SIGN_in_p_DFPropertyName1925); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 5 : + // XQueryParser.g:241:84: k= NAN + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NAN,XQueryParser.FOLLOW_NAN_in_p_DFPropertyName1931); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 6 : + // XQueryParser.g:241:92: k= PERCENT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PERCENT,XQueryParser.FOLLOW_PERCENT_in_p_DFPropertyName1937); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 7 : + // XQueryParser.g:241:104: k= PER_MILLE + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PER_MILLE,XQueryParser.FOLLOW_PER_MILLE_in_p_DFPropertyName1943); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 8 : + // XQueryParser.g:241:118: k= ZERO_DIGIT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ZERO_DIGIT,XQueryParser.FOLLOW_ZERO_DIGIT_in_p_DFPropertyName1949); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 9 : + // XQueryParser.g:241:133: k= DIGIT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DIGIT,XQueryParser.FOLLOW_DIGIT_in_p_DFPropertyName1955); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 10 : + // XQueryParser.g:241:143: k= PATTERN_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PATTERN_SEPARATOR,XQueryParser.FOLLOW_PATTERN_SEPARATOR_in_p_DFPropertyName1961); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PreserveMode_return: (function() { + XQueryParser.p_PreserveMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PreserveMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:245:1: p_PreserveMode : (k+= PRESERVE | k+= NO_PRESERVE ) ; + // $ANTLR start "p_PreserveMode" + p_PreserveMode: function() { + var retval = new XQueryParser.p_PreserveMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:246:9: ( (k+= PRESERVE | k+= NO_PRESERVE ) ) + // XQueryParser.g:246:13: (k+= PRESERVE | k+= NO_PRESERVE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:246:13: (k+= PRESERVE | k+= NO_PRESERVE ) + var alt16=2; + var LA16_0 = this.input.LA(1); + + if ( (LA16_0==PRESERVE) ) { + alt16=1; + } + else if ( (LA16_0==NO_PRESERVE) ) { + alt16=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 16, 0, this.input); + + throw nvae; + } + switch (alt16) { + case 1 : + // XQueryParser.g:246:14: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_p_PreserveMode1993); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:246:28: k+= NO_PRESERVE + k=this.match(this.input,NO_PRESERVE,XQueryParser.FOLLOW_NO_PRESERVE_in_p_PreserveMode1999); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InheritMode_return: (function() { + XQueryParser.p_InheritMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InheritMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:250:1: p_InheritMode : (k+= INHERIT | k+= NO_INHERIT ) ; + // $ANTLR start "p_InheritMode" + p_InheritMode: function() { + var retval = new XQueryParser.p_InheritMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:251:9: ( (k+= INHERIT | k+= NO_INHERIT ) ) + // XQueryParser.g:251:13: (k+= INHERIT | k+= NO_INHERIT ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:251:13: (k+= INHERIT | k+= NO_INHERIT ) + var alt17=2; + var LA17_0 = this.input.LA(1); + + if ( (LA17_0==INHERIT) ) { + alt17=1; + } + else if ( (LA17_0==NO_INHERIT) ) { + alt17=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 17, 0, this.input); + + throw nvae; + } + switch (alt17) { + case 1 : + // XQueryParser.g:251:14: k+= INHERIT + k=this.match(this.input,INHERIT,XQueryParser.FOLLOW_INHERIT_in_p_InheritMode2032); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:251:27: k+= NO_INHERIT + k=this.match(this.input,NO_INHERIT,XQueryParser.FOLLOW_NO_INHERIT_in_p_InheritMode2038); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DefaultCollationDecl_return: (function() { + XQueryParser.pm_DefaultCollationDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DefaultCollationDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:255:1: pm_DefaultCollationDecl : k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_DefaultCollationDecl" + pm_DefaultCollationDecl: function() { + var retval = new XQueryParser.pm_DefaultCollationDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON51 = null; + var k = null; + var list_k=null; + var p_StringLiteral50 = null; + + var SEMICOLON51_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:256:9: (k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON ) + // XQueryParser.g:256:13: k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_DefaultCollationDecl2078); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_DefaultCollationDecl2082); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_pm_DefaultCollationDecl2086); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_DefaultCollationDecl2088); + p_StringLiteral50=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral50.getTree()); + SEMICOLON51=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_DefaultCollationDecl2090); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON51_tree = this.adaptor.create(SEMICOLON51); + this.adaptor.addChild(root_0, SEMICOLON51_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BaseURIDecl_return: (function() { + XQueryParser.pm_BaseURIDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BaseURIDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:260:1: pm_BaseURIDecl : k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON -> ^( BaseURIDecl $sl) ; + // $ANTLR start "pm_BaseURIDecl" + pm_BaseURIDecl: function() { + var retval = new XQueryParser.pm_BaseURIDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON52 = null; + var k = null; + var list_k=null; + var sl = null; + + var SEMICOLON52_tree=null; + var k_tree=null; + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_BASE_URI=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BASE_URI"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:261:9: (k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON -> ^( BaseURIDecl $sl) ) + // XQueryParser.g:261:13: k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BaseURIDecl2129); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BASE_URI,XQueryParser.FOLLOW_BASE_URI_in_pm_BaseURIDecl2133); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BASE_URI.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_BaseURIDecl2137); + sl=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(sl.getTree()); + SEMICOLON52=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BaseURIDecl2139); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON52); + + + + // AST REWRITE + // elements: sl + // token labels: + // rule labels: sl, retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_sl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token sl",sl!=null?sl.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 262:17: -> ^( BaseURIDecl $sl) + { + // XQueryParser.g:262:20: ^( BaseURIDecl $sl) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BaseURIDecl, "BaseURIDecl"), root_1); + + this.adaptor.addChild(root_1, stream_sl.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_SchemaImport_return: (function() { + XQueryParser.pm_SchemaImport_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_SchemaImport_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:266:1: pm_SchemaImport : k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) ; + // $ANTLR start "pm_SchemaImport" + pm_SchemaImport: function() { + var retval = new XQueryParser.pm_SchemaImport_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA53 = null; + var SEMICOLON54 = null; + var k = null; + var list_k=null; + var list_ah=null; + var sp = null; + var us = null; + var ah = null; + var COMMA53_tree=null; + var SEMICOLON54_tree=null; + var k_tree=null; + var stream_AT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AT"); + var stream_IMPORT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token IMPORT"); + var stream_SCHEMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SCHEMA"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_p_SchemaPrefix=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_SchemaPrefix"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:267:9: (k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) ) + // XQueryParser.g:267:11: k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON + k=this.match(this.input,IMPORT,XQueryParser.FOLLOW_IMPORT_in_pm_SchemaImport2193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_IMPORT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,SCHEMA,XQueryParser.FOLLOW_SCHEMA_in_pm_SchemaImport2197); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SCHEMA.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:267:33: (sp= p_SchemaPrefix )? + var alt18=2; + var LA18_0 = this.input.LA(1); + + if ( (LA18_0==DEFAULT||LA18_0==NAMESPACE) ) { + alt18=1; + } + switch (alt18) { + case 1 : + // XQueryParser.g:267:33: sp= p_SchemaPrefix + this.pushFollow(XQueryParser.FOLLOW_p_SchemaPrefix_in_pm_SchemaImport2201); + sp=this.p_SchemaPrefix(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_SchemaPrefix.add(sp.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2206); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + // XQueryParser.g:267:69: (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? + var alt20=2; + var LA20_0 = this.input.LA(1); + + if ( (LA20_0==AT) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // XQueryParser.g:267:70: k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* + k=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_pm_SchemaImport2211); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2215); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + // XQueryParser.g:267:96: ( COMMA ah+= p_StringLiteral )* + loop19: + do { + var alt19=2; + var LA19_0 = this.input.LA(1); + + if ( (LA19_0==COMMA) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // XQueryParser.g:267:97: COMMA ah+= p_StringLiteral + COMMA53=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_SchemaImport2218); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA53); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2222); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + + + break; + + default : + break loop19; + } + } while (true); + + + + break; + + } + + SEMICOLON54=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_SchemaImport2228); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON54); + + + + // AST REWRITE + // elements: ah, sp, us + // token labels: + // rule labels: retval, sp, us + // token list labels: + // rule list labels: ah + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_sp=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token sp",sp!=null?sp.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + var stream_ah=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ah",list_ah); + root_0 = this.adaptor.nil(); + // 268:17: -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) + { + // XQueryParser.g:268:20: ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SchemaImport, "SchemaImport"), root_1); + + // XQueryParser.g:268:35: ^( SchemaPrefix ( $sp)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(SchemaPrefix, "SchemaPrefix"), root_2); + + // XQueryParser.g:268:50: ( $sp)? + if ( stream_sp.hasNext() ) { + this.adaptor.addChild(root_2, stream_sp.nextTree()); + + } + stream_sp.reset(); + + this.adaptor.addChild(root_1, root_2); + } + this.adaptor.addChild(root_1, stream_us.nextTree()); + // XQueryParser.g:268:60: ^( AtHints ( $ah)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(AtHints, "AtHints"), root_2); + + // XQueryParser.g:268:70: ( $ah)* + while ( stream_ah.hasNext() ) { + this.adaptor.addChild(root_2, stream_ah.nextTree()); + + } + stream_ah.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaPrefix_return: (function() { + XQueryParser.p_SchemaPrefix_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaPrefix_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:272:1: p_SchemaPrefix : (k+= NAMESPACE nn= p_NCName EQUAL -> ^( NamespaceName $nn) | k+= DEFAULT k+= ELEMENT k+= NAMESPACE -> DefaultElementNamespace ); + // $ANTLR start "p_SchemaPrefix" + p_SchemaPrefix: function() { + var retval = new XQueryParser.p_SchemaPrefix_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL55 = null; + var k = null; + var list_k=null; + var nn = null; + + var EQUAL55_tree=null; + var k_tree=null; + var stream_ELEMENT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ELEMENT"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_DEFAULT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DEFAULT"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + try { + // XQueryParser.g:273:9: (k+= NAMESPACE nn= p_NCName EQUAL -> ^( NamespaceName $nn) | k+= DEFAULT k+= ELEMENT k+= NAMESPACE -> DefaultElementNamespace ) + var alt21=2; + var LA21_0 = this.input.LA(1); + + if ( (LA21_0==NAMESPACE) ) { + alt21=1; + } + else if ( (LA21_0==DEFAULT) ) { + alt21=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 21, 0, this.input); + + throw nvae; + } + switch (alt21) { + case 1 : + // XQueryParser.g:273:11: k+= NAMESPACE nn= p_NCName EQUAL + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_SchemaPrefix2299); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_SchemaPrefix2303); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL55=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_SchemaPrefix2305); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL55); + + + + // AST REWRITE + // elements: nn + // token labels: + // rule labels: retval, nn + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + + root_0 = this.adaptor.nil(); + // 274:17: -> ^( NamespaceName $nn) + { + // XQueryParser.g:274:20: ^( NamespaceName $nn) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceName, "NamespaceName"), root_1); + + this.adaptor.addChild(root_1, stream_nn.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:275:11: k+= DEFAULT k+= ELEMENT k+= NAMESPACE + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_SchemaPrefix2345); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DEFAULT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_SchemaPrefix2349); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ELEMENT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_SchemaPrefix2353); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 276:17: -> DefaultElementNamespace + { + this.adaptor.addChild(root_0, this.adaptor.create(DefaultElementNamespace, "DefaultElementNamespace")); + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ModuleImport_return: (function() { + XQueryParser.pm_ModuleImport_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ModuleImport_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:280:1: pm_ModuleImport : k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) ; + // $ANTLR start "pm_ModuleImport" + pm_ModuleImport: function() { + var retval = new XQueryParser.pm_ModuleImport_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL56 = null; + var COMMA57 = null; + var SEMICOLON58 = null; + var k = null; + var list_k=null; + var list_ah=null; + var nn = null; + var us = null; + var ah = null; + var EQUAL56_tree=null; + var COMMA57_tree=null; + var SEMICOLON58_tree=null; + var k_tree=null; + var stream_AT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AT"); + var stream_IMPORT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token IMPORT"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_MODULE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MODULE"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:281:9: (k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) ) + // XQueryParser.g:281:11: k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON + k=this.match(this.input,IMPORT,XQueryParser.FOLLOW_IMPORT_in_pm_ModuleImport2402); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_IMPORT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MODULE,XQueryParser.FOLLOW_MODULE_in_pm_ModuleImport2406); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MODULE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:281:31: (k+= NAMESPACE nn= p_NCName EQUAL )? + var alt22=2; + var LA22_0 = this.input.LA(1); + + if ( (LA22_0==NAMESPACE) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // XQueryParser.g:281:32: k+= NAMESPACE nn= p_NCName EQUAL + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_ModuleImport2411); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_pm_ModuleImport2415); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL56=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_pm_ModuleImport2417); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL56); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2423); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + // XQueryParser.g:281:84: (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? + var alt24=2; + var LA24_0 = this.input.LA(1); + + if ( (LA24_0==AT) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // XQueryParser.g:281:85: k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* + k=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_pm_ModuleImport2428); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2432); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + // XQueryParser.g:281:111: ( COMMA ah+= p_StringLiteral )* + loop23: + do { + var alt23=2; + var LA23_0 = this.input.LA(1); + + if ( (LA23_0==COMMA) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // XQueryParser.g:281:112: COMMA ah+= p_StringLiteral + COMMA57=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_ModuleImport2435); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA57); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2439); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + + + break; + + default : + break loop23; + } + } while (true); + + + + break; + + } + + SEMICOLON58=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ModuleImport2445); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON58); + + + + // AST REWRITE + // elements: nn, us, ah + // token labels: + // rule labels: retval, nn, us + // token list labels: + // rule list labels: ah + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + var stream_ah=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ah",list_ah); + root_0 = this.adaptor.nil(); + // 282:17: -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) + { + // XQueryParser.g:282:20: ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ModuleImport, "ModuleImport"), root_1); + + // XQueryParser.g:282:35: ^( NamespaceName ( $nn)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceName, "NamespaceName"), root_2); + + // XQueryParser.g:282:51: ( $nn)? + if ( stream_nn.hasNext() ) { + this.adaptor.addChild(root_2, stream_nn.nextTree()); + + } + stream_nn.reset(); + + this.adaptor.addChild(root_1, root_2); + } + this.adaptor.addChild(root_1, stream_us.nextTree()); + // XQueryParser.g:282:61: ^( AtHints ( $ah)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(AtHints, "AtHints"), root_2); + + // XQueryParser.g:282:71: ( $ah)* + while ( stream_ah.hasNext() ) { + this.adaptor.addChild(root_2, stream_ah.nextTree()); + + } + stream_ah.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_VarDecl_return: (function() { + XQueryParser.pm_VarDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_VarDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:286:1: pm_VarDecl : k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) ; + // $ANTLR start "pm_VarDecl" + pm_VarDecl: function() { + var retval = new XQueryParser.pm_VarDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR60 = null; + var BIND61 = null; + var BIND62 = null; + var SEMICOLON63 = null; + var k = null; + var list_k=null; + var vdt = null; + var qn = null; + var td = null; + var es = null; + var des = null; + var p_PrivateOption59 = null; + + var DOLLAR60_tree=null; + var BIND61_tree=null; + var BIND62_tree=null; + var SEMICOLON63_tree=null; + var k_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_EXTERNAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EXTERNAL"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_BIND=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BIND"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + var stream_p_PrivateOption=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_PrivateOption"); + var stream_p_ExprSingle=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ExprSingle"); + var stream_pg_VarDeclType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pg_VarDeclType"); + try { + // XQueryParser.g:287:9: (k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) ) + // XQueryParser.g:287:11: k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_VarDecl2515); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PrivateOption_in_pm_VarDecl2517); + p_PrivateOption59=this.p_PrivateOption(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_PrivateOption.add(p_PrivateOption59.getTree()); + this.pushFollow(XQueryParser.FOLLOW_pg_VarDeclType_in_pm_VarDecl2521); + vdt=this.pg_VarDeclType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pg_VarDeclType.add(vdt.getTree()); + DOLLAR60=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_VarDecl2523); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR60); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_VarDecl2527); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + // XQueryParser.g:287:77: (td= p_TypeDeclaration )? + var alt25=2; + var LA25_0 = this.input.LA(1); + + if ( (LA25_0==AS) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // XQueryParser.g:287:77: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_VarDecl2531); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:287:97: ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) + var alt27=2; + var LA27_0 = this.input.LA(1); + + if ( (LA27_0==BIND) ) { + alt27=1; + } + else if ( (LA27_0==EXTERNAL) ) { + alt27=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 27, 0, this.input); + + throw nvae; + } + switch (alt27) { + case 1 : + // XQueryParser.g:287:98: ( BIND es= p_ExprSingle ) + // XQueryParser.g:287:98: ( BIND es= p_ExprSingle ) + // XQueryParser.g:287:99: BIND es= p_ExprSingle + BIND61=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_VarDecl2536); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND61); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_VarDecl2540); + es=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(es.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:287:123: (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) + // XQueryParser.g:287:123: (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) + // XQueryParser.g:287:124: k+= EXTERNAL ( BIND des= p_ExprSingle )? + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_VarDecl2548); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:287:136: ( BIND des= p_ExprSingle )? + var alt26=2; + var LA26_0 = this.input.LA(1); + + if ( (LA26_0==BIND) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // XQueryParser.g:287:137: BIND des= p_ExprSingle + BIND62=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_VarDecl2551); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND62); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_VarDecl2555); + des=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(des.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON63=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_VarDecl2561); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON63); + + + + // AST REWRITE + // elements: des, td, es, vdt, qn + // token labels: + // rule labels: qn, retval, des, td, vdt, es + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_des=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token des",des!=null?des.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + var stream_vdt=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token vdt",vdt!=null?vdt.tree:null); + var stream_es=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token es",es!=null?es.tree:null); + + root_0 = this.adaptor.nil(); + // 288:17: -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) + { + // XQueryParser.g:288:20: ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(VarDecl, "VarDecl"), root_1); + + this.adaptor.addChild(root_1, stream_vdt.nextTree()); + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:288:39: ^( VarType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VarType, "VarType"), root_2); + + // XQueryParser.g:288:49: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:288:55: ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VarValue, "VarValue"), root_2); + + // XQueryParser.g:288:66: ( $es)? + if ( stream_es.hasNext() ) { + this.adaptor.addChild(root_2, stream_es.nextTree()); + + } + stream_es.reset(); + // XQueryParser.g:288:71: ^( VarDefaultValue ( $des)? ) + { + var root_3 = this.adaptor.nil(); + root_3 = this.adaptor.becomeRoot(this.adaptor.create(VarDefaultValue, "VarDefaultValue"), root_3); + + // XQueryParser.g:288:89: ( $des)? + if ( stream_des.hasNext() ) { + this.adaptor.addChild(root_3, stream_des.nextTree()); + + } + stream_des.reset(); + + this.adaptor.addChild(root_2, root_3); + } + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_VarDeclType_return: (function() { + XQueryParser.pg_VarDeclType_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_VarDeclType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:295:1: pg_VarDeclType : ({...}? =>ku= CONSTANT -> VarConstantDecl | kv= VARIABLE -> VarVariableDecl ); + // $ANTLR start "pg_VarDeclType" + pg_VarDeclType: function() { + var retval = new XQueryParser.pg_VarDeclType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var kv = null; + + var ku_tree=null; + var kv_tree=null; + var stream_CONSTANT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token CONSTANT"); + var stream_VARIABLE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token VARIABLE"); + + try { + // XQueryParser.g:296:9: ({...}? =>ku= CONSTANT -> VarConstantDecl | kv= VARIABLE -> VarVariableDecl ) + var alt28=2; + var LA28_0 = this.input.LA(1); + + if ( (LA28_0==CONSTANT) && ((true))) { + alt28=1; + } + else if ( (LA28_0==VARIABLE) ) { + alt28=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 28, 0, this.input); + + throw nvae; + } + switch (alt28) { + case 1 : + // XQueryParser.g:296:11: {...}? =>ku= CONSTANT + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_VarDeclType", "true"); + } + ku=this.match(this.input,CONSTANT,XQueryParser.FOLLOW_CONSTANT_in_pg_VarDeclType2648); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_CONSTANT.add(ku); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 297:17: -> VarConstantDecl + { + this.adaptor.addChild(root_0, this.adaptor.create(VarConstantDecl, "VarConstantDecl")); + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:298:11: kv= VARIABLE + kv=this.match(this.input,VARIABLE,XQueryParser.FOLLOW_VARIABLE_in_pg_VarDeclType2682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_VARIABLE.add(kv); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 299:17: -> VarVariableDecl + { + this.adaptor.addChild(root_0, this.adaptor.create(VarVariableDecl, "VarVariableDecl")); + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ContextItemDecl_return: (function() { + XQueryParser.pm_ContextItemDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ContextItemDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:310:1: pm_ContextItemDecl : k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON ; + // $ANTLR start "pm_ContextItemDecl" + pm_ContextItemDecl: function() { + var retval = new XQueryParser.pm_ContextItemDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var BIND65 = null; + var BIND67 = null; + var SEMICOLON69 = null; + var k = null; + var list_k=null; + var p_ItemType64 = null; + var p_ExprSingle66 = null; + var p_ExprSingle68 = null; + + var BIND65_tree=null; + var BIND67_tree=null; + var SEMICOLON69_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:311:9: (k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON ) + // XQueryParser.g:311:13: k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_ContextItemDecl2739); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONTEXT,XQueryParser.FOLLOW_CONTEXT_in_pm_ContextItemDecl2743); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ITEM,XQueryParser.FOLLOW_ITEM_in_pm_ContextItemDecl2747); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:311:43: (k+= AS p_ItemType )? + var alt29=2; + var LA29_0 = this.input.LA(1); + + if ( (LA29_0==AS) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // XQueryParser.g:311:44: k+= AS p_ItemType + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_pm_ContextItemDecl2752); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ItemType_in_pm_ContextItemDecl2754); + p_ItemType64=this.p_ItemType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ItemType64.getTree()); + + + break; + + } + + // XQueryParser.g:311:63: ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) + var alt31=2; + var LA31_0 = this.input.LA(1); + + if ( (LA31_0==BIND) ) { + alt31=1; + } + else if ( (LA31_0==EXTERNAL) ) { + alt31=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 31, 0, this.input); + + throw nvae; + } + switch (alt31) { + case 1 : + // XQueryParser.g:311:64: ( BIND p_ExprSingle ) + // XQueryParser.g:311:64: ( BIND p_ExprSingle ) + // XQueryParser.g:311:65: BIND p_ExprSingle + BIND65=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_ContextItemDecl2760); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND65_tree = this.adaptor.create(BIND65); + this.adaptor.addChild(root_0, BIND65_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2762); + p_ExprSingle66=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle66.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:311:86: (k+= EXTERNAL ( BIND p_ExprSingle )? ) + // XQueryParser.g:311:86: (k+= EXTERNAL ( BIND p_ExprSingle )? ) + // XQueryParser.g:311:87: k+= EXTERNAL ( BIND p_ExprSingle )? + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_ContextItemDecl2770); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:311:99: ( BIND p_ExprSingle )? + var alt30=2; + var LA30_0 = this.input.LA(1); + + if ( (LA30_0==BIND) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // XQueryParser.g:311:100: BIND p_ExprSingle + BIND67=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_ContextItemDecl2773); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND67_tree = this.adaptor.create(BIND67); + this.adaptor.addChild(root_0, BIND67_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2775); + p_ExprSingle68=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle68.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON69=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ContextItemDecl2781); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON69_tree = this.adaptor.create(SEMICOLON69); + this.adaptor.addChild(root_0, SEMICOLON69_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ConstructionDecl_return: (function() { + XQueryParser.pm_ConstructionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ConstructionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:318:1: pm_ConstructionDecl : k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON ; + // $ANTLR start "pm_ConstructionDecl" + pm_ConstructionDecl: function() { + var retval = new XQueryParser.pm_ConstructionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON70 = null; + var k = null; + var list_k=null; + + var SEMICOLON70_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:319:9: (k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON ) + // XQueryParser.g:319:13: k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_ConstructionDecl2815); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONSTRUCTION,XQueryParser.FOLLOW_CONSTRUCTION_in_pm_ConstructionDecl2819); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:319:40: (k+= STRIP | k+= PRESERVE ) + var alt32=2; + var LA32_0 = this.input.LA(1); + + if ( (LA32_0==STRIP) ) { + alt32=1; + } + else if ( (LA32_0==PRESERVE) ) { + alt32=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 32, 0, this.input); + + throw nvae; + } + switch (alt32) { + case 1 : + // XQueryParser.g:319:41: k+= STRIP + k=this.match(this.input,STRIP,XQueryParser.FOLLOW_STRIP_in_pm_ConstructionDecl2824); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:319:52: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_pm_ConstructionDecl2830); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON70=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ConstructionDecl2833); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON70_tree = this.adaptor.create(SEMICOLON70); + this.adaptor.addChild(root_0, SEMICOLON70_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_FunctionDecl_return: (function() { + XQueryParser.pm_FunctionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_FunctionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:325:1: pm_FunctionDecl : ({...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) | k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) ); + // $ANTLR start "pm_FunctionDecl" + pm_FunctionDecl: function() { + var retval = new XQueryParser.pm_FunctionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN71 = null; + var RPAREN72 = null; + var SEMICOLON73 = null; + var LPAREN76 = null; + var RPAREN77 = null; + var SEMICOLON78 = null; + var k = null; + var list_k=null; + var qn = null; + var pl = null; + var td = null; + var b = null; + var ee = null; + var p_PrivateOption74 = null; + var p_FunctionType75 = null; + + var LPAREN71_tree=null; + var RPAREN72_tree=null; + var SEMICOLON73_tree=null; + var LPAREN76_tree=null; + var RPAREN77_tree=null; + var SEMICOLON78_tree=null; + var k_tree=null; + var stream_FUNCTION=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token FUNCTION"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_EXTERNAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EXTERNAL"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_SEQUENTIAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEQUENTIAL"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_Block=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Block"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + var stream_p_ParamList=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ParamList"); + var stream_p_PrivateOption=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_PrivateOption"); + var stream_p_FunctionType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_FunctionType"); + var stream_p_EnclosedExpr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_EnclosedExpr"); + try { + // XQueryParser.g:326:9: ({...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) | k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) ) + var alt39=2; + var LA39_0 = this.input.LA(1); + + if ( (LA39_0==DECLARE) ) { + var LA39_1 = this.input.LA(2); + + if ( (LA39_1==SEQUENTIAL) && ((true))) { + alt39=1; + } + else if ( (LA39_1==FUNCTION||LA39_1==UPDATING||LA39_1==SIMPLE||LA39_1==PRIVATE) ) { + alt39=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 39, 1, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 39, 0, this.input); + + throw nvae; + } + switch (alt39) { + case 1 : + // XQueryParser.g:326:13: {...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_FunctionDecl", "true"); + } + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_FunctionDecl2869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,SEQUENTIAL,XQueryParser.FOLLOW_SEQUENTIAL_in_pm_FunctionDecl2873); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEQUENTIAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_FunctionDecl2877); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_FUNCTION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_FunctionDecl2881); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + LPAREN71=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_pm_FunctionDecl2883); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN71); + + // XQueryParser.g:326:80: (pl= p_ParamList )? + var alt33=2; + var LA33_0 = this.input.LA(1); + + if ( (LA33_0==DOLLAR) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // XQueryParser.g:326:80: pl= p_ParamList + this.pushFollow(XQueryParser.FOLLOW_p_ParamList_in_pm_FunctionDecl2887); + pl=this.p_ParamList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ParamList.add(pl.getTree()); + + + break; + + } + + RPAREN72=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_pm_FunctionDecl2890); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN72); + + // XQueryParser.g:326:103: (td= p_TypeDeclaration )? + var alt34=2; + var LA34_0 = this.input.LA(1); + + if ( (LA34_0==AS) ) { + alt34=1; + } + switch (alt34) { + case 1 : + // XQueryParser.g:326:103: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2894); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:326:123: (b= p_Block | k+= EXTERNAL ) + var alt35=2; + var LA35_0 = this.input.LA(1); + + if ( (LA35_0==LBRACKET) ) { + alt35=1; + } + else if ( (LA35_0==EXTERNAL) ) { + alt35=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 35, 0, this.input); + + throw nvae; + } + switch (alt35) { + case 1 : + // XQueryParser.g:326:124: b= p_Block + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_pm_FunctionDecl2900); + b=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Block.add(b.getTree()); + + + break; + case 2 : + // XQueryParser.g:326:136: k+= EXTERNAL + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_FunctionDecl2906); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON73=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_FunctionDecl2909); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON73); + + + + // AST REWRITE + // elements: b, qn, td, pl + // token labels: + // rule labels: qn, retval, b, pl, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_b=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token b",b!=null?b.tree:null); + var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 327:17: -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) + { + // XQueryParser.g:327:20: ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(FunctionDecl, "FunctionDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:327:39: ^( ParamList ( $pl)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ParamList, "ParamList"), root_2); + + // XQueryParser.g:327:51: ( $pl)? + if ( stream_pl.hasNext() ) { + this.adaptor.addChild(root_2, stream_pl.nextTree()); + + } + stream_pl.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:327:57: ^( ReturnType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ReturnType, "ReturnType"), root_2); + + // XQueryParser.g:327:70: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:327:76: ( $b)? + if ( stream_b.hasNext() ) { + this.adaptor.addChild(root_1, stream_b.nextTree()); + + } + stream_b.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:328:13: k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_FunctionDecl2971); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PrivateOption_in_pm_FunctionDecl2973); + p_PrivateOption74=this.p_PrivateOption(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_PrivateOption.add(p_PrivateOption74.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_FunctionType_in_pm_FunctionDecl2975); + p_FunctionType75=this.p_FunctionType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_FunctionType.add(p_FunctionType75.getTree()); + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_FunctionDecl2979); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_FUNCTION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_FunctionDecl2983); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + LPAREN76=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_pm_FunctionDecl2985); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN76); + + // XQueryParser.g:328:87: (pl= p_ParamList )? + var alt36=2; + var LA36_0 = this.input.LA(1); + + if ( (LA36_0==DOLLAR) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // XQueryParser.g:328:87: pl= p_ParamList + this.pushFollow(XQueryParser.FOLLOW_p_ParamList_in_pm_FunctionDecl2989); + pl=this.p_ParamList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ParamList.add(pl.getTree()); + + + break; + + } + + RPAREN77=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_pm_FunctionDecl2992); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN77); + + // XQueryParser.g:328:110: (td= p_TypeDeclaration )? + var alt37=2; + var LA37_0 = this.input.LA(1); + + if ( (LA37_0==AS) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // XQueryParser.g:328:110: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2996); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:328:130: (ee= p_EnclosedExpr | k+= EXTERNAL ) + var alt38=2; + var LA38_0 = this.input.LA(1); + + if ( (LA38_0==LBRACKET) ) { + alt38=1; + } + else if ( (LA38_0==EXTERNAL) ) { + alt38=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 38, 0, this.input); + + throw nvae; + } + switch (alt38) { + case 1 : + // XQueryParser.g:328:131: ee= p_EnclosedExpr + this.pushFollow(XQueryParser.FOLLOW_p_EnclosedExpr_in_pm_FunctionDecl3002); + ee=this.p_EnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_EnclosedExpr.add(ee.getTree()); + + + break; + case 2 : + // XQueryParser.g:328:151: k+= EXTERNAL + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_FunctionDecl3008); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON78=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_FunctionDecl3011); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON78); + + + + // AST REWRITE + // elements: qn, td, ee, pl + // token labels: + // rule labels: qn, retval, ee, pl, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_ee=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ee",ee!=null?ee.tree:null); + var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 329:17: -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) + { + // XQueryParser.g:329:20: ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(FunctionDecl, "FunctionDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:329:39: ^( ParamList ( $pl)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ParamList, "ParamList"), root_2); + + // XQueryParser.g:329:51: ( $pl)? + if ( stream_pl.hasNext() ) { + this.adaptor.addChild(root_2, stream_pl.nextTree()); + + } + stream_pl.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:329:57: ^( ReturnType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ReturnType, "ReturnType"), root_2); + + // XQueryParser.g:329:70: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:329:76: ( $ee)? + if ( stream_ee.hasNext() ) { + this.adaptor.addChild(root_1, stream_ee.nextTree()); + + } + stream_ee.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FunctionType_return: (function() { + XQueryParser.p_FunctionType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FunctionType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:336:1: p_FunctionType : ({...}? =>ku= UPDATING | {...}? =>ks= SIMPLE | ); + // $ANTLR start "p_FunctionType" + p_FunctionType: function() { + var retval = new XQueryParser.p_FunctionType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var ks = null; + + var ku_tree=null; + var ks_tree=null; + + try { + // XQueryParser.g:337:9: ({...}? =>ku= UPDATING | {...}? =>ks= SIMPLE | ) + var alt40=3; + var LA40_0 = this.input.LA(1); + + if ( (LA40_0==UPDATING) && ((true))) { + alt40=1; + } + else if ( (LA40_0==SIMPLE) && ((true))) { + alt40=2; + } + else if ( (LA40_0==FUNCTION) ) { + alt40=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 40, 0, this.input); + + throw nvae; + } + switch (alt40) { + case 1 : + // XQueryParser.g:337:11: {...}? =>ku= UPDATING + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_FunctionType", "true"); + } + ku=this.match(this.input,UPDATING,XQueryParser.FOLLOW_UPDATING_in_p_FunctionType3091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + + + break; + case 2 : + // XQueryParser.g:338:11: {...}? =>ks= SIMPLE + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_FunctionType", "true"); + } + ks=this.match(this.input,SIMPLE,XQueryParser.FOLLOW_SIMPLE_in_p_FunctionType3108); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ks_tree = this.adaptor.create(ks); + this.adaptor.addChild(root_0, ks_tree); + } + + + break; + case 3 : + // XQueryParser.g:340:9: + root_0 = this.adaptor.nil(); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PrivateOption_return: (function() { + XQueryParser.p_PrivateOption_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PrivateOption_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:342:1: p_PrivateOption : ({...}? =>kv= PRIVATE | ); + // $ANTLR start "p_PrivateOption" + p_PrivateOption: function() { + var retval = new XQueryParser.p_PrivateOption_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kv = null; + + var kv_tree=null; + + try { + // XQueryParser.g:343:9: ({...}? =>kv= PRIVATE | ) + var alt41=2; + var LA41_0 = this.input.LA(1); + + if ( (LA41_0==PRIVATE) && ((false))) { + alt41=1; + } + else if ( (LA41_0==CONSTANT) && ((true))) { + alt41=2; + } + else if ( (LA41_0==VARIABLE) ) { + alt41=2; + } + else if ( (LA41_0==UPDATING||LA41_0==SIMPLE) && ((true))) { + alt41=2; + } + else if ( (LA41_0==FUNCTION) ) { + alt41=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 41, 0, this.input); + + throw nvae; + } + switch (alt41) { + case 1 : + // XQueryParser.g:343:11: {...}? =>kv= PRIVATE + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_PrivateOption", "false"); + } + kv=this.match(this.input,PRIVATE,XQueryParser.FOLLOW_PRIVATE_in_p_PrivateOption3150); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kv_tree = this.adaptor.create(kv); + this.adaptor.addChild(root_0, kv_tree); + } + + + break; + case 2 : + // XQueryParser.g:345:9: + root_0 = this.adaptor.nil(); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ParamList_return: (function() { + XQueryParser.p_ParamList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ParamList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:351:1: p_ParamList : p+= p_Param ( COMMA p+= p_Param )* -> ( $p)+ ; + // $ANTLR start "p_ParamList" + p_ParamList: function() { + var retval = new XQueryParser.p_ParamList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA79 = null; + var list_p=null; + var p = null; + var COMMA79_tree=null; + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_p_Param=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Param"); + try { + // XQueryParser.g:352:9: (p+= p_Param ( COMMA p+= p_Param )* -> ( $p)+ ) + // XQueryParser.g:352:11: p+= p_Param ( COMMA p+= p_Param )* + this.pushFollow(XQueryParser.FOLLOW_p_Param_in_p_ParamList3193); + p=this.p_Param(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Param.add(p.getTree()); + if (org.antlr.lang.isNull(list_p)) list_p = []; + list_p.push(p.getTree()); + + // XQueryParser.g:352:22: ( COMMA p+= p_Param )* + loop42: + do { + var alt42=2; + var LA42_0 = this.input.LA(1); + + if ( (LA42_0==COMMA) ) { + alt42=1; + } + + + switch (alt42) { + case 1 : + // XQueryParser.g:352:23: COMMA p+= p_Param + COMMA79=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ParamList3196); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA79); + + this.pushFollow(XQueryParser.FOLLOW_p_Param_in_p_ParamList3200); + p=this.p_Param(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Param.add(p.getTree()); + if (org.antlr.lang.isNull(list_p)) list_p = []; + list_p.push(p.getTree()); + + + + break; + + default : + break loop42; + } + } while (true); + + + + // AST REWRITE + // elements: p + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: p + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_p=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token p",list_p); + root_0 = this.adaptor.nil(); + // 353:17: -> ( $p)+ + { + if ( !(stream_p.hasNext()) ) { + throw new org.antlr.runtime.tree.RewriteEarlyExitException(); + } + while ( stream_p.hasNext() ) { + this.adaptor.addChild(root_0, stream_p.nextTree()); + + } + stream_p.reset(); + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Param_return: (function() { + XQueryParser.p_Param_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Param_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:357:1: p_Param : DOLLAR qn= p_QName (td= p_TypeDeclaration )? -> ^( Param $qn ( $td)? ) ; + // $ANTLR start "p_Param" + p_Param: function() { + var retval = new XQueryParser.p_Param_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR80 = null; + var qn = null; + var td = null; + + var DOLLAR80_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:358:9: ( DOLLAR qn= p_QName (td= p_TypeDeclaration )? -> ^( Param $qn ( $td)? ) ) + // XQueryParser.g:358:11: DOLLAR qn= p_QName (td= p_TypeDeclaration )? + DOLLAR80=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_Param3258); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR80); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_Param3262); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + // XQueryParser.g:358:31: (td= p_TypeDeclaration )? + var alt43=2; + var LA43_0 = this.input.LA(1); + + if ( (LA43_0==AS) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // XQueryParser.g:358:31: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_Param3266); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + + + // AST REWRITE + // elements: qn, td + // token labels: + // rule labels: qn, retval, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 359:17: -> ^( Param $qn ( $td)? ) + { + // XQueryParser.g:359:20: ^( Param $qn ( $td)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Param, "Param"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:359:32: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_1, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_EnclosedExpr_return: (function() { + XQueryParser.p_EnclosedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_EnclosedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:363:1: p_EnclosedExpr : LBRACKET pm_Expr RBRACKET -> ^( EnclosedExpr pm_Expr ) ; + // $ANTLR start "p_EnclosedExpr" + p_EnclosedExpr: function() { + var retval = new XQueryParser.p_EnclosedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET81 = null; + var RBRACKET83 = null; + var pm_Expr82 = null; + + var LBRACKET81_tree=null; + var RBRACKET83_tree=null; + var stream_LBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LBRACKET"); + var stream_RBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RBRACKET"); + var stream_pm_Expr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Expr"); + try { + // XQueryParser.g:364:9: ( LBRACKET pm_Expr RBRACKET -> ^( EnclosedExpr pm_Expr ) ) + // XQueryParser.g:364:11: LBRACKET pm_Expr RBRACKET + LBRACKET81=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_EnclosedExpr3322); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LBRACKET.add(LBRACKET81); + + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_EnclosedExpr3324); + pm_Expr82=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Expr.add(pm_Expr82.getTree()); + RBRACKET83=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_EnclosedExpr3326); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RBRACKET.add(RBRACKET83); + + + + // AST REWRITE + // elements: pm_Expr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 365:17: -> ^( EnclosedExpr pm_Expr ) + { + // XQueryParser.g:365:20: ^( EnclosedExpr pm_Expr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(EnclosedExpr, "EnclosedExpr"), root_1); + + this.adaptor.addChild(root_1, stream_pm_Expr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QueryBody_return: (function() { + XQueryParser.p_QueryBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QueryBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:369:1: p_QueryBody : pm_Expr -> ^( QueryBody pm_Expr ) ; + // $ANTLR start "p_QueryBody" + p_QueryBody: function() { + var retval = new XQueryParser.p_QueryBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Expr84 = null; + + var stream_pm_Expr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Expr"); + try { + // XQueryParser.g:370:9: ( pm_Expr -> ^( QueryBody pm_Expr ) ) + // XQueryParser.g:370:11: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_QueryBody3376); + pm_Expr84=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Expr.add(pm_Expr84.getTree()); + + + // AST REWRITE + // elements: pm_Expr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 371:17: -> ^( QueryBody pm_Expr ) + { + // XQueryParser.g:371:20: ^( QueryBody pm_Expr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(QueryBody, "QueryBody"), root_1); + + this.adaptor.addChild(root_1, stream_pm_Expr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_Expr_return: (function() { + XQueryParser.pm_Expr_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_Expr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:376:1: pm_Expr : p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) ; + // $ANTLR start "pm_Expr" + pm_Expr: function() { + var retval = new XQueryParser.pm_Expr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON86 = null; + var SEMICOLON88 = null; + var p_ConcatExpr85 = null; + var pm_ApplyExpr87 = null; + var p_ConcatExpr89 = null; + + var SEMICOLON86_tree=null; + var SEMICOLON88_tree=null; + + try { + // XQueryParser.g:377:9: ( p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) ) + // XQueryParser.g:377:11: p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_Expr3427); + p_ConcatExpr85=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr85.getTree()); + // XQueryParser.g:378:11: ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) + var alt46=2; + var LA46_0 = this.input.LA(1); + + if ( (LA46_0==SEMICOLON) && ((((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||(true)||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||(false)||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))))) { + var LA46_1 = this.input.LA(2); + + if ( ((((true)&&(false))||(true))) ) { + alt46=1; + } + else if ( ((false)) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 1, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RBRACKET) ) { + var LA46_2 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 2, this.input); + + throw nvae; + } + } + else if ( (LA46_0==EOF) ) { + var LA46_3 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 3, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RPAREN) ) { + var LA46_4 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 4, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RSQUARE) ) { + var LA46_5 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 5, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 0, this.input); + + throw nvae; + } + switch (alt46) { + case 1 : + // XQueryParser.g:378:12: {...}? => ( SEMICOLON ( pm_ApplyExpr )* )? + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_Expr", "true"); + } + // XQueryParser.g:378:22: ( SEMICOLON ( pm_ApplyExpr )* )? + var alt45=2; + var LA45_0 = this.input.LA(1); + + if ( (LA45_0==SEMICOLON) ) { + var LA45_1 = this.input.LA(2); + + if ( (!(((false)))) ) { + alt45=1; + } + } + switch (alt45) { + case 1 : + // XQueryParser.g:378:23: SEMICOLON ( pm_ApplyExpr )* + SEMICOLON86=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_Expr3444); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON86_tree = this.adaptor.create(SEMICOLON86); + this.adaptor.addChild(root_0, SEMICOLON86_tree); + } + // XQueryParser.g:378:33: ( pm_ApplyExpr )* + loop44: + do { + var alt44=2; + var LA44_0 = this.input.LA(1); + + if ( ((LA44_0>=ANCESTOR && LA44_0<=EXIT)||(LA44_0>=SEQUENTIAL && LA44_0<=MAINTAINED)||(LA44_0>=MUTABLE && LA44_0<=LPAREN)||LA44_0==DOLLAR||(LA44_0>=STAR && LA44_0<=SMALLER)||(LA44_0>=SLASH && LA44_0<=DOT_DOT)||LA44_0==ATTR_SIGN||(LA44_0>=APOS && LA44_0<=QUOT)||LA44_0==L_NCName||(LA44_0>=L_Pragma && LA44_0<=L_DoubleLiteral)||(LA44_0>=LETDOLLAR && LA44_0<=EXPLICITLY)) ) { + alt44=1; + } + + + switch (alt44) { + case 1 : + // XQueryParser.g:378:33: pm_ApplyExpr + this.pushFollow(XQueryParser.FOLLOW_pm_ApplyExpr_in_pm_Expr3446); + pm_ApplyExpr87=this.pm_ApplyExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ApplyExpr87.getTree()); + + + break; + + default : + break loop44; + } + } while (true); + + + + break; + + } + + + + break; + case 2 : + // XQueryParser.g:378:64: + + break; + + } + + // XQueryParser.g:379:11: ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) + var alt48=2; + var LA48_0 = this.input.LA(1); + + if ( (LA48_0==SEMICOLON) && ((false))) { + alt48=1; + } + else if ( (LA48_0==EOF||LA48_0==RPAREN||LA48_0==RBRACKET||LA48_0==RSQUARE) ) { + alt48=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 48, 0, this.input); + + throw nvae; + } + switch (alt48) { + case 1 : + // XQueryParser.g:379:12: {...}? => ( SEMICOLON p_ConcatExpr )+ + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_Expr", "false"); + } + // XQueryParser.g:379:23: ( SEMICOLON p_ConcatExpr )+ + var cnt47=0; + loop47: + do { + var alt47=2; + var LA47_0 = this.input.LA(1); + + if ( (LA47_0==SEMICOLON) ) { + alt47=1; + } + + + switch (alt47) { + case 1 : + // XQueryParser.g:379:24: SEMICOLON p_ConcatExpr + SEMICOLON88=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_Expr3471); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON88_tree = this.adaptor.create(SEMICOLON88); + this.adaptor.addChild(root_0, SEMICOLON88_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_Expr3473); + p_ConcatExpr89=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr89.getTree()); + + + break; + + default : + if ( cnt47 >= 1 ) { + break loop47; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(47, this.input); + throw eee; + } + cnt47++; + } while (true); + + + + break; + case 2 : + // XQueryParser.g:379:64: + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExprSingle_return: (function() { + XQueryParser.p_ExprSingle_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExprSingle_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:384:1: p_ExprSingle : ( p_FLWORExpr | p_QuantifiedExpr | p_TypeswitchExpr | p_IfExpr | p_TryCatchExpr | {...}? => p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr ); + // $ANTLR start "p_ExprSingle" + p_ExprSingle: function() { + var retval = new XQueryParser.p_ExprSingle_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_FLWORExpr90 = null; + var p_QuantifiedExpr91 = null; + var p_TypeswitchExpr92 = null; + var p_IfExpr93 = null; + var p_TryCatchExpr94 = null; + var p_EvalExpr95 = null; + var p_InsertExpr96 = null; + var p_DeleteExpr97 = null; + var p_RenameExpr98 = null; + var p_ReplaceExpr99 = null; + var p_TransformExpr100 = null; + var p_BlockExpr101 = null; + var p_AssignmentExpr102 = null; + var p_ExitExpr103 = null; + var p_WhileExpr104 = null; + var p_OrExpr105 = null; + + + try { + // XQueryParser.g:385:9: ( p_FLWORExpr | p_QuantifiedExpr | p_TypeswitchExpr | p_IfExpr | p_TryCatchExpr | {...}? => p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr ) + var alt49=16; + alt49 = this.dfa49.predict(this.input); + switch (alt49) { + case 1 : + // XQueryParser.g:385:11: p_FLWORExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FLWORExpr_in_p_ExprSingle3507); + p_FLWORExpr90=this.p_FLWORExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FLWORExpr90.getTree()); + + + break; + case 2 : + // XQueryParser.g:386:11: p_QuantifiedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QuantifiedExpr_in_p_ExprSingle3519); + p_QuantifiedExpr91=this.p_QuantifiedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QuantifiedExpr91.getTree()); + + + break; + case 3 : + // XQueryParser.g:387:11: p_TypeswitchExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TypeswitchExpr_in_p_ExprSingle3531); + p_TypeswitchExpr92=this.p_TypeswitchExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeswitchExpr92.getTree()); + + + break; + case 4 : + // XQueryParser.g:388:11: p_IfExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IfExpr_in_p_ExprSingle3543); + p_IfExpr93=this.p_IfExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IfExpr93.getTree()); + + + break; + case 5 : + // XQueryParser.g:389:11: p_TryCatchExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TryCatchExpr_in_p_ExprSingle3555); + p_TryCatchExpr94=this.p_TryCatchExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TryCatchExpr94.getTree()); + + + break; + case 6 : + // XQueryParser.g:390:11: {...}? => p_EvalExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_EvalExpr_in_p_ExprSingle3570); + p_EvalExpr95=this.p_EvalExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_EvalExpr95.getTree()); + + + break; + case 7 : + // XQueryParser.g:391:11: {...}? => p_InsertExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_InsertExpr_in_p_ExprSingle3585); + p_InsertExpr96=this.p_InsertExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InsertExpr96.getTree()); + + + break; + case 8 : + // XQueryParser.g:392:11: {...}? => p_DeleteExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_DeleteExpr_in_p_ExprSingle3600); + p_DeleteExpr97=this.p_DeleteExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DeleteExpr97.getTree()); + + + break; + case 9 : + // XQueryParser.g:393:11: {...}? => p_RenameExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_RenameExpr_in_p_ExprSingle3615); + p_RenameExpr98=this.p_RenameExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RenameExpr98.getTree()); + + + break; + case 10 : + // XQueryParser.g:394:11: {...}? => p_ReplaceExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ReplaceExpr_in_p_ExprSingle3630); + p_ReplaceExpr99=this.p_ReplaceExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReplaceExpr99.getTree()); + + + break; + case 11 : + // XQueryParser.g:395:11: {...}? => p_TransformExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_TransformExpr_in_p_ExprSingle3645); + p_TransformExpr100=this.p_TransformExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TransformExpr100.getTree()); + + + break; + case 12 : + // XQueryParser.g:396:11: {...}? => p_BlockExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_BlockExpr_in_p_ExprSingle3660); + p_BlockExpr101=this.p_BlockExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_BlockExpr101.getTree()); + + + break; + case 13 : + // XQueryParser.g:397:11: {...}? => p_AssignmentExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_AssignmentExpr_in_p_ExprSingle3675); + p_AssignmentExpr102=this.p_AssignmentExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AssignmentExpr102.getTree()); + + + break; + case 14 : + // XQueryParser.g:398:11: {...}? => p_ExitExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExitExpr_in_p_ExprSingle3690); + p_ExitExpr103=this.p_ExitExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExitExpr103.getTree()); + + + break; + case 15 : + // XQueryParser.g:399:11: {...}? => p_WhileExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_WhileExpr_in_p_ExprSingle3705); + p_WhileExpr104=this.p_WhileExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhileExpr104.getTree()); + + + break; + case 16 : + // XQueryParser.g:400:11: p_OrExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrExpr_in_p_ExprSingle3717); + p_OrExpr105=this.p_OrExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrExpr105.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FLWORExpr_return: (function() { + XQueryParser.p_FLWORExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FLWORExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:404:1: p_FLWORExpr : p_InitialClause ( p_IntermediateClause )* p_ReturnClause ; + // $ANTLR start "p_FLWORExpr" + p_FLWORExpr: function() { + var retval = new XQueryParser.p_FLWORExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_InitialClause106 = null; + var p_IntermediateClause107 = null; + var p_ReturnClause108 = null; + + + try { + // XQueryParser.g:405:9: ( p_InitialClause ( p_IntermediateClause )* p_ReturnClause ) + // XQueryParser.g:405:11: p_InitialClause ( p_IntermediateClause )* p_ReturnClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InitialClause_in_p_FLWORExpr3743); + p_InitialClause106=this.p_InitialClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InitialClause106.getTree()); + // XQueryParser.g:405:27: ( p_IntermediateClause )* + loop50: + do { + var alt50=2; + var LA50_0 = this.input.LA(1); + + if ( (LA50_0==FOR||LA50_0==ORDER||LA50_0==STABLE||LA50_0==WHERE||LA50_0==COUNT||LA50_0==GROUP||LA50_0==LETDOLLAR) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // XQueryParser.g:405:27: p_IntermediateClause + this.pushFollow(XQueryParser.FOLLOW_p_IntermediateClause_in_p_FLWORExpr3745); + p_IntermediateClause107=this.p_IntermediateClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntermediateClause107.getTree()); + + + break; + + default : + break loop50; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_p_ReturnClause_in_p_FLWORExpr3748); + p_ReturnClause108=this.p_ReturnClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReturnClause108.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InitialClause_return: (function() { + XQueryParser.p_InitialClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InitialClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:409:1: p_InitialClause : ( p_ForClause | p_LetClause | p_WindowClause ); + // $ANTLR start "p_InitialClause" + p_InitialClause: function() { + var retval = new XQueryParser.p_InitialClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ForClause109 = null; + var p_LetClause110 = null; + var p_WindowClause111 = null; + + + try { + // XQueryParser.g:410:9: ( p_ForClause | p_LetClause | p_WindowClause ) + var alt51=3; + var LA51_0 = this.input.LA(1); + + if ( (LA51_0==FOR) ) { + var LA51_1 = this.input.LA(2); + + if ( (LA51_1==DOLLAR) ) { + alt51=1; + } + else if ( (LA51_1==SLIDING||LA51_1==TUMBLING) ) { + alt51=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 51, 1, this.input); + + throw nvae; + } + } + else if ( (LA51_0==LETDOLLAR) ) { + alt51=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 51, 0, this.input); + + throw nvae; + } + switch (alt51) { + case 1 : + // XQueryParser.g:410:11: p_ForClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ForClause_in_p_InitialClause3774); + p_ForClause109=this.p_ForClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForClause109.getTree()); + + + break; + case 2 : + // XQueryParser.g:410:25: p_LetClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_LetClause_in_p_InitialClause3778); + p_LetClause110=this.p_LetClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_LetClause110.getTree()); + + + break; + case 3 : + // XQueryParser.g:410:39: p_WindowClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowClause_in_p_InitialClause3782); + p_WindowClause111=this.p_WindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowClause111.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IntermediateClause_return: (function() { + XQueryParser.p_IntermediateClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IntermediateClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:414:1: p_IntermediateClause : ( p_InitialClause | p_WhereClause | p_GroupByClause | p_OrderByClause | p_CountClause ); + // $ANTLR start "p_IntermediateClause" + p_IntermediateClause: function() { + var retval = new XQueryParser.p_IntermediateClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_InitialClause112 = null; + var p_WhereClause113 = null; + var p_GroupByClause114 = null; + var p_OrderByClause115 = null; + var p_CountClause116 = null; + + + try { + // XQueryParser.g:415:9: ( p_InitialClause | p_WhereClause | p_GroupByClause | p_OrderByClause | p_CountClause ) + var alt52=5; + switch ( this.input.LA(1) ) { + case FOR: + case LETDOLLAR: + alt52=1; + break; + case WHERE: + alt52=2; + break; + case GROUP: + alt52=3; + break; + case ORDER: + case STABLE: + alt52=4; + break; + case COUNT: + alt52=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 52, 0, this.input); + + throw nvae; + } + + switch (alt52) { + case 1 : + // XQueryParser.g:415:11: p_InitialClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InitialClause_in_p_IntermediateClause3808); + p_InitialClause112=this.p_InitialClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InitialClause112.getTree()); + + + break; + case 2 : + // XQueryParser.g:415:29: p_WhereClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_WhereClause_in_p_IntermediateClause3812); + p_WhereClause113=this.p_WhereClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhereClause113.getTree()); + + + break; + case 3 : + // XQueryParser.g:415:45: p_GroupByClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupByClause_in_p_IntermediateClause3816); + p_GroupByClause114=this.p_GroupByClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupByClause114.getTree()); + + + break; + case 4 : + // XQueryParser.g:415:63: p_OrderByClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderByClause_in_p_IntermediateClause3820); + p_OrderByClause115=this.p_OrderByClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderByClause115.getTree()); + + + break; + case 5 : + // XQueryParser.g:415:81: p_CountClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CountClause_in_p_IntermediateClause3824); + p_CountClause116=this.p_CountClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CountClause116.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForClause_return: (function() { + XQueryParser.p_ForClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:419:1: p_ForClause : k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* ; + // $ANTLR start "p_ForClause" + p_ForClause: function() { + var retval = new XQueryParser.p_ForClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR117 = null; + var COMMA122 = null; + var DOLLAR123 = null; + var k = null; + var list_k=null; + var p_VarName118 = null; + var p_TypeDeclaration119 = null; + var p_PositionalVar120 = null; + var p_ExprSingle121 = null; + var p_VarName124 = null; + var p_TypeDeclaration125 = null; + var p_PositionalVar126 = null; + var p_ExprSingle127 = null; + + var DOLLAR117_tree=null; + var COMMA122_tree=null; + var DOLLAR123_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:420:9: (k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* ) + // XQueryParser.g:420:11: k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOR,XQueryParser.FOLLOW_FOR_in_p_ForClause3852); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR117=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ForClause3854); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR117_tree = this.adaptor.create(DOLLAR117); + this.adaptor.addChild(root_0, DOLLAR117_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_ForClause3856); + p_VarName118=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName118.getTree()); + // XQueryParser.g:420:35: ( p_TypeDeclaration )? + var alt53=2; + var LA53_0 = this.input.LA(1); + + if ( (LA53_0==AS) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // XQueryParser.g:420:35: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_ForClause3858); + p_TypeDeclaration119=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration119.getTree()); + + + break; + + } + + // XQueryParser.g:420:54: ( p_PositionalVar )? + var alt54=2; + var LA54_0 = this.input.LA(1); + + if ( (LA54_0==AT) ) { + alt54=1; + } + switch (alt54) { + case 1 : + // XQueryParser.g:420:54: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_ForClause3861); + p_PositionalVar120=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar120.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_ForClause3866); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ForClause3868); + p_ExprSingle121=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle121.getTree()); + // XQueryParser.g:420:90: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* + loop57: + do { + var alt57=2; + var LA57_0 = this.input.LA(1); + + if ( (LA57_0==COMMA) ) { + alt57=1; + } + + + switch (alt57) { + case 1 : + // XQueryParser.g:420:91: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle + COMMA122=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ForClause3871); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA122_tree = this.adaptor.create(COMMA122); + this.adaptor.addChild(root_0, COMMA122_tree); + } + DOLLAR123=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ForClause3873); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR123_tree = this.adaptor.create(DOLLAR123); + this.adaptor.addChild(root_0, DOLLAR123_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_ForClause3875); + p_VarName124=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName124.getTree()); + // XQueryParser.g:420:114: ( p_TypeDeclaration )? + var alt55=2; + var LA55_0 = this.input.LA(1); + + if ( (LA55_0==AS) ) { + alt55=1; + } + switch (alt55) { + case 1 : + // XQueryParser.g:420:114: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_ForClause3877); + p_TypeDeclaration125=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration125.getTree()); + + + break; + + } + + // XQueryParser.g:420:133: ( p_PositionalVar )? + var alt56=2; + var LA56_0 = this.input.LA(1); + + if ( (LA56_0==AT) ) { + alt56=1; + } + switch (alt56) { + case 1 : + // XQueryParser.g:420:133: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_ForClause3880); + p_PositionalVar126=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar126.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_ForClause3885); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ForClause3887); + p_ExprSingle127=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle127.getTree()); + + + break; + + default : + break loop57; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PositionalVar_return: (function() { + XQueryParser.p_PositionalVar_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PositionalVar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:424:1: p_PositionalVar : ka= AT DOLLAR p_VarName ; + // $ANTLR start "p_PositionalVar" + p_PositionalVar: function() { + var retval = new XQueryParser.p_PositionalVar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var DOLLAR128 = null; + var p_VarName129 = null; + + var ka_tree=null; + var DOLLAR128_tree=null; + + try { + // XQueryParser.g:425:9: (ka= AT DOLLAR p_VarName ) + // XQueryParser.g:425:11: ka= AT DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_p_PositionalVar3918); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + DOLLAR128=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_PositionalVar3920); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR128_tree = this.adaptor.create(DOLLAR128); + this.adaptor.addChild(root_0, DOLLAR128_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_PositionalVar3922); + p_VarName129=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName129.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LetClause_return: (function() { + XQueryParser.p_LetClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LetClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:429:1: p_LetClause : kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* ; + // $ANTLR start "p_LetClause" + p_LetClause: function() { + var retval = new XQueryParser.p_LetClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kl = null; + var BIND132 = null; + var COMMA134 = null; + var DOLLAR135 = null; + var BIND138 = null; + var p_VarName130 = null; + var p_TypeDeclaration131 = null; + var p_ExprSingle133 = null; + var p_VarName136 = null; + var p_TypeDeclaration137 = null; + var p_ExprSingle139 = null; + + var kl_tree=null; + var BIND132_tree=null; + var COMMA134_tree=null; + var DOLLAR135_tree=null; + var BIND138_tree=null; + + try { + // XQueryParser.g:430:9: (kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* ) + // XQueryParser.g:430:11: kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* + root_0 = this.adaptor.nil(); + + kl=this.match(this.input,LETDOLLAR,XQueryParser.FOLLOW_LETDOLLAR_in_p_LetClause3950); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kl_tree = this.adaptor.create(kl); + this.adaptor.addChild(root_0, kl_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_LetClause3952); + p_VarName130=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName130.getTree()); + // XQueryParser.g:430:34: ( p_TypeDeclaration )? + var alt58=2; + var LA58_0 = this.input.LA(1); + + if ( (LA58_0==AS) ) { + alt58=1; + } + switch (alt58) { + case 1 : + // XQueryParser.g:430:34: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_LetClause3954); + p_TypeDeclaration131=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration131.getTree()); + + + break; + + } + + BIND132=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_LetClause3957); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND132_tree = this.adaptor.create(BIND132); + this.adaptor.addChild(root_0, BIND132_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_LetClause3959); + p_ExprSingle133=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle133.getTree()); + // XQueryParser.g:430:71: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* + loop60: + do { + var alt60=2; + var LA60_0 = this.input.LA(1); + + if ( (LA60_0==COMMA) ) { + alt60=1; + } + + + switch (alt60) { + case 1 : + // XQueryParser.g:430:72: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle + COMMA134=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_LetClause3962); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA134_tree = this.adaptor.create(COMMA134); + this.adaptor.addChild(root_0, COMMA134_tree); + } + DOLLAR135=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_LetClause3964); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR135_tree = this.adaptor.create(DOLLAR135); + this.adaptor.addChild(root_0, DOLLAR135_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_LetClause3966); + p_VarName136=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName136.getTree()); + // XQueryParser.g:430:95: ( p_TypeDeclaration )? + var alt59=2; + var LA59_0 = this.input.LA(1); + + if ( (LA59_0==AS) ) { + alt59=1; + } + switch (alt59) { + case 1 : + // XQueryParser.g:430:95: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_LetClause3968); + p_TypeDeclaration137=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration137.getTree()); + + + break; + + } + + BIND138=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_LetClause3971); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND138_tree = this.adaptor.create(BIND138); + this.adaptor.addChild(root_0, BIND138_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_LetClause3973); + p_ExprSingle139=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle139.getTree()); + + + break; + + default : + break loop60; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowClause_return: (function() { + XQueryParser.p_WindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:434:1: p_WindowClause : kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) ; + // $ANTLR start "p_WindowClause" + p_WindowClause: function() { + var retval = new XQueryParser.p_WindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kf = null; + var p_TumblingWindowClause140 = null; + var p_SlidingWindowClause141 = null; + + var kf_tree=null; + + try { + // XQueryParser.g:435:9: (kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) ) + // XQueryParser.g:435:11: kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) + root_0 = this.adaptor.nil(); + + kf=this.match(this.input,FOR,XQueryParser.FOLLOW_FOR_in_p_WindowClause4003); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kf_tree = this.adaptor.create(kf); + this.adaptor.addChild(root_0, kf_tree); + } + // XQueryParser.g:435:18: ( p_TumblingWindowClause | p_SlidingWindowClause ) + var alt61=2; + var LA61_0 = this.input.LA(1); + + if ( (LA61_0==TUMBLING) ) { + alt61=1; + } + else if ( (LA61_0==SLIDING) ) { + alt61=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 61, 0, this.input); + + throw nvae; + } + switch (alt61) { + case 1 : + // XQueryParser.g:435:19: p_TumblingWindowClause + this.pushFollow(XQueryParser.FOLLOW_p_TumblingWindowClause_in_p_WindowClause4006); + p_TumblingWindowClause140=this.p_TumblingWindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TumblingWindowClause140.getTree()); + + + break; + case 2 : + // XQueryParser.g:435:44: p_SlidingWindowClause + this.pushFollow(XQueryParser.FOLLOW_p_SlidingWindowClause_in_p_WindowClause4010); + p_SlidingWindowClause141=this.p_SlidingWindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SlidingWindowClause141.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TumblingWindowClause_return: (function() { + XQueryParser.p_TumblingWindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TumblingWindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:439:1: p_TumblingWindowClause : k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ; + // $ANTLR start "p_TumblingWindowClause" + p_TumblingWindowClause: function() { + var retval = new XQueryParser.p_TumblingWindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR142 = null; + var IN145 = null; + var k = null; + var list_k=null; + var p_VarName143 = null; + var p_TypeDeclaration144 = null; + var p_ExprSingle146 = null; + var p_WindowStartCondition147 = null; + var p_WindowEndCondition148 = null; + + var DOLLAR142_tree=null; + var IN145_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:440:9: (k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ) + // XQueryParser.g:440:11: k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TUMBLING,XQueryParser.FOLLOW_TUMBLING_in_p_TumblingWindowClause4047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,WINDOW,XQueryParser.FOLLOW_WINDOW_in_p_TumblingWindowClause4051); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR142=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TumblingWindowClause4053); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR142_tree = this.adaptor.create(DOLLAR142); + this.adaptor.addChild(root_0, DOLLAR142_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TumblingWindowClause4055); + p_VarName143=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName143.getTree()); + // XQueryParser.g:440:50: ( p_TypeDeclaration )? + var alt62=2; + var LA62_0 = this.input.LA(1); + + if ( (LA62_0==AS) ) { + alt62=1; + } + switch (alt62) { + case 1 : + // XQueryParser.g:440:50: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_TumblingWindowClause4057); + p_TypeDeclaration144=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration144.getTree()); + + + break; + + } + + IN145=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_TumblingWindowClause4060); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + IN145_tree = this.adaptor.create(IN145); + this.adaptor.addChild(root_0, IN145_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TumblingWindowClause4062); + p_ExprSingle146=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle146.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_WindowStartCondition_in_p_TumblingWindowClause4064); + p_WindowStartCondition147=this.p_WindowStartCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowStartCondition147.getTree()); + // XQueryParser.g:440:108: ( p_WindowEndCondition )? + var alt63=2; + var LA63_0 = this.input.LA(1); + + if ( (LA63_0==END||LA63_0==ONLY) ) { + alt63=1; + } + switch (alt63) { + case 1 : + // XQueryParser.g:440:108: p_WindowEndCondition + this.pushFollow(XQueryParser.FOLLOW_p_WindowEndCondition_in_p_TumblingWindowClause4066); + p_WindowEndCondition148=this.p_WindowEndCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowEndCondition148.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SlidingWindowClause_return: (function() { + XQueryParser.p_SlidingWindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SlidingWindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:444:1: p_SlidingWindowClause : k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ; + // $ANTLR start "p_SlidingWindowClause" + p_SlidingWindowClause: function() { + var retval = new XQueryParser.p_SlidingWindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR149 = null; + var IN152 = null; + var k = null; + var list_k=null; + var p_VarName150 = null; + var p_TypeDeclaration151 = null; + var p_ExprSingle153 = null; + var p_WindowStartCondition154 = null; + var p_WindowEndCondition155 = null; + + var DOLLAR149_tree=null; + var IN152_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:445:9: (k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ) + // XQueryParser.g:445:11: k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? + root_0 = this.adaptor.nil(); + + k=this.match(this.input,SLIDING,XQueryParser.FOLLOW_SLIDING_in_p_SlidingWindowClause4096); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,WINDOW,XQueryParser.FOLLOW_WINDOW_in_p_SlidingWindowClause4100); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR149=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_SlidingWindowClause4102); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR149_tree = this.adaptor.create(DOLLAR149); + this.adaptor.addChild(root_0, DOLLAR149_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_SlidingWindowClause4104); + p_VarName150=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName150.getTree()); + // XQueryParser.g:445:49: ( p_TypeDeclaration )? + var alt64=2; + var LA64_0 = this.input.LA(1); + + if ( (LA64_0==AS) ) { + alt64=1; + } + switch (alt64) { + case 1 : + // XQueryParser.g:445:49: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_SlidingWindowClause4106); + p_TypeDeclaration151=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration151.getTree()); + + + break; + + } + + IN152=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_SlidingWindowClause4109); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + IN152_tree = this.adaptor.create(IN152); + this.adaptor.addChild(root_0, IN152_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_SlidingWindowClause4111); + p_ExprSingle153=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle153.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_WindowStartCondition_in_p_SlidingWindowClause4113); + p_WindowStartCondition154=this.p_WindowStartCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowStartCondition154.getTree()); + // XQueryParser.g:445:107: ( p_WindowEndCondition )? + var alt65=2; + var LA65_0 = this.input.LA(1); + + if ( (LA65_0==END||LA65_0==ONLY) ) { + alt65=1; + } + switch (alt65) { + case 1 : + // XQueryParser.g:445:107: p_WindowEndCondition + this.pushFollow(XQueryParser.FOLLOW_p_WindowEndCondition_in_p_SlidingWindowClause4115); + p_WindowEndCondition155=this.p_WindowEndCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowEndCondition155.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowStartCondition_return: (function() { + XQueryParser.p_WindowStartCondition_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowStartCondition_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:449:1: p_WindowStartCondition : k+= START p_WindowVars k+= WHEN p_ExprSingle ; + // $ANTLR start "p_WindowStartCondition" + p_WindowStartCondition: function() { + var retval = new XQueryParser.p_WindowStartCondition_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_WindowVars156 = null; + var p_ExprSingle157 = null; + + var k_tree=null; + + try { + // XQueryParser.g:450:9: (k+= START p_WindowVars k+= WHEN p_ExprSingle ) + // XQueryParser.g:450:11: k+= START p_WindowVars k+= WHEN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,START,XQueryParser.FOLLOW_START_in_p_WindowStartCondition4145); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowVars_in_p_WindowStartCondition4147); + p_WindowVars156=this.p_WindowVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowVars156.getTree()); + k=this.match(this.input,WHEN,XQueryParser.FOLLOW_WHEN_in_p_WindowStartCondition4151); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WindowStartCondition4153); + p_ExprSingle157=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle157.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowEndCondition_return: (function() { + XQueryParser.p_WindowEndCondition_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowEndCondition_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:454:1: p_WindowEndCondition : (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle ; + // $ANTLR start "p_WindowEndCondition" + p_WindowEndCondition: function() { + var retval = new XQueryParser.p_WindowEndCondition_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_WindowVars158 = null; + var p_ExprSingle159 = null; + + var k_tree=null; + + try { + // XQueryParser.g:455:9: ( (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle ) + // XQueryParser.g:455:11: (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle + root_0 = this.adaptor.nil(); + + // XQueryParser.g:455:12: (k+= ONLY )? + var alt66=2; + var LA66_0 = this.input.LA(1); + + if ( (LA66_0==ONLY) ) { + alt66=1; + } + switch (alt66) { + case 1 : + // XQueryParser.g:455:12: k+= ONLY + k=this.match(this.input,ONLY,XQueryParser.FOLLOW_ONLY_in_p_WindowEndCondition4182); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,END,XQueryParser.FOLLOW_END_in_p_WindowEndCondition4187); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowVars_in_p_WindowEndCondition4189); + p_WindowVars158=this.p_WindowVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowVars158.getTree()); + k=this.match(this.input,WHEN,XQueryParser.FOLLOW_WHEN_in_p_WindowEndCondition4193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WindowEndCondition4195); + p_ExprSingle159=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle159.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowVars_return: (function() { + XQueryParser.p_WindowVars_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowVars_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:459:1: p_WindowVars : ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? ; + // $ANTLR start "p_WindowVars" + p_WindowVars: function() { + var retval = new XQueryParser.p_WindowVars_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR160 = null; + var DOLLAR163 = null; + var DOLLAR165 = null; + var k = null; + var list_k=null; + var p_QName161 = null; + var p_PositionalVar162 = null; + var p_QName164 = null; + var p_QName166 = null; + + var DOLLAR160_tree=null; + var DOLLAR163_tree=null; + var DOLLAR165_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:460:9: ( ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? ) + // XQueryParser.g:460:11: ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:460:11: ( DOLLAR p_QName )? + var alt67=2; + var LA67_0 = this.input.LA(1); + + if ( (LA67_0==DOLLAR) ) { + alt67=1; + } + switch (alt67) { + case 1 : + // XQueryParser.g:460:12: DOLLAR p_QName + DOLLAR160=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4223); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR160_tree = this.adaptor.create(DOLLAR160); + this.adaptor.addChild(root_0, DOLLAR160_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4225); + p_QName161=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName161.getTree()); + + + break; + + } + + // XQueryParser.g:460:29: ( p_PositionalVar )? + var alt68=2; + var LA68_0 = this.input.LA(1); + + if ( (LA68_0==AT) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // XQueryParser.g:460:29: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_WindowVars4229); + p_PositionalVar162=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar162.getTree()); + + + break; + + } + + // XQueryParser.g:460:46: (k+= PREVIOUS DOLLAR p_QName )? + var alt69=2; + var LA69_0 = this.input.LA(1); + + if ( (LA69_0==PREVIOUS) ) { + alt69=1; + } + switch (alt69) { + case 1 : + // XQueryParser.g:460:47: k+= PREVIOUS DOLLAR p_QName + k=this.match(this.input,PREVIOUS,XQueryParser.FOLLOW_PREVIOUS_in_p_WindowVars4235); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR163=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4237); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR163_tree = this.adaptor.create(DOLLAR163); + this.adaptor.addChild(root_0, DOLLAR163_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4239); + p_QName164=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName164.getTree()); + + + break; + + } + + // XQueryParser.g:460:76: (k+= NEXT DOLLAR p_QName )? + var alt70=2; + var LA70_0 = this.input.LA(1); + + if ( (LA70_0==NEXT) ) { + alt70=1; + } + switch (alt70) { + case 1 : + // XQueryParser.g:460:77: k+= NEXT DOLLAR p_QName + k=this.match(this.input,NEXT,XQueryParser.FOLLOW_NEXT_in_p_WindowVars4246); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR165=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4248); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR165_tree = this.adaptor.create(DOLLAR165); + this.adaptor.addChild(root_0, DOLLAR165_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4250); + p_QName166=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName166.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CountClause_return: (function() { + XQueryParser.p_CountClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CountClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:473:1: p_CountClause : kc+= COUNT DOLLAR p_VarName ; + // $ANTLR start "p_CountClause" + p_CountClause: function() { + var retval = new XQueryParser.p_CountClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR167 = null; + var kc = null; + var list_kc=null; + var p_VarName168 = null; + + var DOLLAR167_tree=null; + var kc_tree=null; + + try { + // XQueryParser.g:474:9: (kc+= COUNT DOLLAR p_VarName ) + // XQueryParser.g:474:11: kc+= COUNT DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,COUNT,XQueryParser.FOLLOW_COUNT_in_p_CountClause4290); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + if (org.antlr.lang.isNull(list_kc)) list_kc = []; + list_kc.push(kc); + + DOLLAR167=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CountClause4292); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR167_tree = this.adaptor.create(DOLLAR167); + this.adaptor.addChild(root_0, DOLLAR167_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CountClause4294); + p_VarName168=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName168.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhereClause_return: (function() { + XQueryParser.p_WhereClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhereClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:478:1: p_WhereClause : kw+= WHERE p_ExprSingle ; + // $ANTLR start "p_WhereClause" + p_WhereClause: function() { + var retval = new XQueryParser.p_WhereClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kw = null; + var list_kw=null; + var p_ExprSingle169 = null; + + var kw_tree=null; + + try { + // XQueryParser.g:479:9: (kw+= WHERE p_ExprSingle ) + // XQueryParser.g:479:11: kw+= WHERE p_ExprSingle + root_0 = this.adaptor.nil(); + + kw=this.match(this.input,WHERE,XQueryParser.FOLLOW_WHERE_in_p_WhereClause4330); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kw_tree = this.adaptor.create(kw); + this.adaptor.addChild(root_0, kw_tree); + } + if (org.antlr.lang.isNull(list_kw)) list_kw = []; + list_kw.push(kw); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WhereClause4332); + p_ExprSingle169=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle169.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupByClause_return: (function() { + XQueryParser.p_GroupByClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupByClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:483:1: p_GroupByClause : k+= GROUP k+= BY p_GroupingSpecList ; + // $ANTLR start "p_GroupByClause" + p_GroupByClause: function() { + var retval = new XQueryParser.p_GroupByClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_GroupingSpecList170 = null; + + var k_tree=null; + + try { + // XQueryParser.g:484:9: (k+= GROUP k+= BY p_GroupingSpecList ) + // XQueryParser.g:484:13: k+= GROUP k+= BY p_GroupingSpecList + root_0 = this.adaptor.nil(); + + k=this.match(this.input,GROUP,XQueryParser.FOLLOW_GROUP_in_p_GroupByClause4362); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_GroupByClause4366); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpecList_in_p_GroupByClause4368); + p_GroupingSpecList170=this.p_GroupingSpecList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpecList170.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupingSpecList_return: (function() { + XQueryParser.p_GroupingSpecList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupingSpecList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:488:1: p_GroupingSpecList : p_GroupingSpec ( COMMA p_GroupingSpec )* ; + // $ANTLR start "p_GroupingSpecList" + p_GroupingSpecList: function() { + var retval = new XQueryParser.p_GroupingSpecList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA172 = null; + var p_GroupingSpec171 = null; + var p_GroupingSpec173 = null; + + var COMMA172_tree=null; + + try { + // XQueryParser.g:489:9: ( p_GroupingSpec ( COMMA p_GroupingSpec )* ) + // XQueryParser.g:489:13: p_GroupingSpec ( COMMA p_GroupingSpec )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4397); + p_GroupingSpec171=this.p_GroupingSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpec171.getTree()); + // XQueryParser.g:489:28: ( COMMA p_GroupingSpec )* + loop71: + do { + var alt71=2; + var LA71_0 = this.input.LA(1); + + if ( (LA71_0==COMMA) ) { + alt71=1; + } + + + switch (alt71) { + case 1 : + // XQueryParser.g:489:29: COMMA p_GroupingSpec + COMMA172=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_GroupingSpecList4400); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA172_tree = this.adaptor.create(COMMA172); + this.adaptor.addChild(root_0, COMMA172_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4402); + p_GroupingSpec173=this.p_GroupingSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpec173.getTree()); + + + break; + + default : + break loop71; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupingSpec_return: (function() { + XQueryParser.p_GroupingSpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupingSpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:493:1: p_GroupingSpec : DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? ; + // $ANTLR start "p_GroupingSpec" + p_GroupingSpec: function() { + var retval = new XQueryParser.p_GroupingSpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var DOLLAR174 = null; + var p_VarName175 = null; + var p_StringLiteral176 = null; + + var kc_tree=null; + var DOLLAR174_tree=null; + + try { + // XQueryParser.g:494:9: ( DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? ) + // XQueryParser.g:494:13: DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? + root_0 = this.adaptor.nil(); + + DOLLAR174=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_GroupingSpec4432); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR174_tree = this.adaptor.create(DOLLAR174); + this.adaptor.addChild(root_0, DOLLAR174_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_GroupingSpec4434); + p_VarName175=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName175.getTree()); + // XQueryParser.g:494:30: (kc= COLLATION p_StringLiteral )? + var alt72=2; + var LA72_0 = this.input.LA(1); + + if ( (LA72_0==COLLATION) ) { + alt72=1; + } + switch (alt72) { + case 1 : + // XQueryParser.g:494:31: kc= COLLATION p_StringLiteral + kc=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_GroupingSpec4439); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_GroupingSpec4441); + p_StringLiteral176=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral176.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderByClause_return: (function() { + XQueryParser.p_OrderByClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderByClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:498:1: p_OrderByClause : ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList ; + // $ANTLR start "p_OrderByClause" + p_OrderByClause: function() { + var retval = new XQueryParser.p_OrderByClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_OrderSpecList177 = null; + + var k_tree=null; + + try { + // XQueryParser.g:499:9: ( ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList ) + // XQueryParser.g:499:13: ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList + root_0 = this.adaptor.nil(); + + // XQueryParser.g:499:13: ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) + var alt73=2; + var LA73_0 = this.input.LA(1); + + if ( (LA73_0==ORDER) ) { + alt73=1; + } + else if ( (LA73_0==STABLE) ) { + alt73=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 73, 0, this.input); + + throw nvae; + } + switch (alt73) { + case 1 : + // XQueryParser.g:499:14: (k+= ORDER k+= BY ) + // XQueryParser.g:499:14: (k+= ORDER k+= BY ) + // XQueryParser.g:499:15: k+= ORDER k+= BY + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_p_OrderByClause4476); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_OrderByClause4480); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + case 2 : + // XQueryParser.g:499:33: (k+= STABLE k+= ORDER k+= BY ) + // XQueryParser.g:499:33: (k+= STABLE k+= ORDER k+= BY ) + // XQueryParser.g:499:34: k+= STABLE k+= ORDER k+= BY + k=this.match(this.input,STABLE,XQueryParser.FOLLOW_STABLE_in_p_OrderByClause4488); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_p_OrderByClause4492); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_OrderByClause4496); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpecList_in_p_OrderByClause4500); + p_OrderSpecList177=this.p_OrderSpecList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpecList177.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderSpecList_return: (function() { + XQueryParser.p_OrderSpecList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderSpecList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:503:1: p_OrderSpecList : p_OrderSpec ( COMMA p_OrderSpec )* ; + // $ANTLR start "p_OrderSpecList" + p_OrderSpecList: function() { + var retval = new XQueryParser.p_OrderSpecList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA179 = null; + var p_OrderSpec178 = null; + var p_OrderSpec180 = null; + + var COMMA179_tree=null; + + try { + // XQueryParser.g:504:9: ( p_OrderSpec ( COMMA p_OrderSpec )* ) + // XQueryParser.g:504:13: p_OrderSpec ( COMMA p_OrderSpec )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpec_in_p_OrderSpecList4529); + p_OrderSpec178=this.p_OrderSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpec178.getTree()); + // XQueryParser.g:504:25: ( COMMA p_OrderSpec )* + loop74: + do { + var alt74=2; + var LA74_0 = this.input.LA(1); + + if ( (LA74_0==COMMA) ) { + alt74=1; + } + + + switch (alt74) { + case 1 : + // XQueryParser.g:504:26: COMMA p_OrderSpec + COMMA179=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_OrderSpecList4532); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA179_tree = this.adaptor.create(COMMA179); + this.adaptor.addChild(root_0, COMMA179_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpec_in_p_OrderSpecList4534); + p_OrderSpec180=this.p_OrderSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpec180.getTree()); + + + break; + + default : + break loop74; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderSpec_return: (function() { + XQueryParser.p_OrderSpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderSpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:508:1: p_OrderSpec : p_ExprSingle p_OrderModifier ; + // $ANTLR start "p_OrderSpec" + p_OrderSpec: function() { + var retval = new XQueryParser.p_OrderSpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle181 = null; + var p_OrderModifier182 = null; + + + try { + // XQueryParser.g:509:9: ( p_ExprSingle p_OrderModifier ) + // XQueryParser.g:509:13: p_ExprSingle p_OrderModifier + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_OrderSpec4564); + p_ExprSingle181=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle181.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_OrderModifier_in_p_OrderSpec4566); + p_OrderModifier182=this.p_OrderModifier(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderModifier182.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderModifier_return: (function() { + XQueryParser.p_OrderModifier_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderModifier_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:513:1: p_OrderModifier : (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? ; + // $ANTLR start "p_OrderModifier" + p_OrderModifier: function() { + var retval = new XQueryParser.p_OrderModifier_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var k = null; + var list_k=null; + var p_StringLiteral183 = null; + + var ka_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:514:9: ( (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? ) + // XQueryParser.g:514:11: (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:514:11: (ka= ASCENDING | k+= DESCENDING )? + var alt75=3; + var LA75_0 = this.input.LA(1); + + if ( (LA75_0==ASCENDING) ) { + alt75=1; + } + else if ( (LA75_0==DESCENDING) ) { + alt75=2; + } + switch (alt75) { + case 1 : + // XQueryParser.g:514:12: ka= ASCENDING + ka=this.match(this.input,ASCENDING,XQueryParser.FOLLOW_ASCENDING_in_p_OrderModifier4595); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + + + break; + case 2 : + // XQueryParser.g:514:27: k+= DESCENDING + k=this.match(this.input,DESCENDING,XQueryParser.FOLLOW_DESCENDING_in_p_OrderModifier4601); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + // XQueryParser.g:514:43: (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? + var alt77=2; + var LA77_0 = this.input.LA(1); + + if ( (LA77_0==EMPTY) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // XQueryParser.g:514:44: k+= EMPTY (k+= GREATEST | k+= LEAST ) + k=this.match(this.input,EMPTY,XQueryParser.FOLLOW_EMPTY_in_p_OrderModifier4608); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:514:53: (k+= GREATEST | k+= LEAST ) + var alt76=2; + var LA76_0 = this.input.LA(1); + + if ( (LA76_0==GREATEST) ) { + alt76=1; + } + else if ( (LA76_0==LEAST) ) { + alt76=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 76, 0, this.input); + + throw nvae; + } + switch (alt76) { + case 1 : + // XQueryParser.g:514:54: k+= GREATEST + k=this.match(this.input,GREATEST,XQueryParser.FOLLOW_GREATEST_in_p_OrderModifier4613); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:514:68: k+= LEAST + k=this.match(this.input,LEAST,XQueryParser.FOLLOW_LEAST_in_p_OrderModifier4619); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + break; + + } + + // XQueryParser.g:514:80: (k+= COLLATION p_StringLiteral )? + var alt78=2; + var LA78_0 = this.input.LA(1); + + if ( (LA78_0==COLLATION) ) { + alt78=1; + } + switch (alt78) { + case 1 : + // XQueryParser.g:514:81: k+= COLLATION p_StringLiteral + k=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_OrderModifier4627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_OrderModifier4629); + p_StringLiteral183=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral183.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReturnClause_return: (function() { + XQueryParser.p_ReturnClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReturnClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:518:1: p_ReturnClause : kr= RETURN p_ExprSingle ; + // $ANTLR start "p_ReturnClause" + p_ReturnClause: function() { + var retval = new XQueryParser.p_ReturnClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kr = null; + var p_ExprSingle184 = null; + + var kr_tree=null; + + try { + // XQueryParser.g:519:9: (kr= RETURN p_ExprSingle ) + // XQueryParser.g:519:11: kr= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + kr=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_ReturnClause4660); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kr_tree = this.adaptor.create(kr); + this.adaptor.addChild(root_0, kr_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReturnClause4662); + p_ExprSingle184=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle184.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QuantifiedExpr_return: (function() { + XQueryParser.p_QuantifiedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QuantifiedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:523:1: p_QuantifiedExpr : (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle ; + // $ANTLR start "p_QuantifiedExpr" + p_QuantifiedExpr: function() { + var retval = new XQueryParser.p_QuantifiedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR185 = null; + var COMMA189 = null; + var DOLLAR190 = null; + var k = null; + var list_k=null; + var p_VarName186 = null; + var p_TypeDeclaration187 = null; + var p_ExprSingle188 = null; + var p_QName191 = null; + var p_TypeDeclaration192 = null; + var p_ExprSingle193 = null; + var p_ExprSingle194 = null; + + var DOLLAR185_tree=null; + var COMMA189_tree=null; + var DOLLAR190_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:524:9: ( (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle ) + // XQueryParser.g:524:13: (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle + root_0 = this.adaptor.nil(); + + // XQueryParser.g:524:13: (k+= SOME | k+= EVERY ) + var alt79=2; + var LA79_0 = this.input.LA(1); + + if ( (LA79_0==SOME) ) { + alt79=1; + } + else if ( (LA79_0==EVERY) ) { + alt79=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 79, 0, this.input); + + throw nvae; + } + switch (alt79) { + case 1 : + // XQueryParser.g:524:14: k+= SOME + k=this.match(this.input,SOME,XQueryParser.FOLLOW_SOME_in_p_QuantifiedExpr4693); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:524:24: k+= EVERY + k=this.match(this.input,EVERY,XQueryParser.FOLLOW_EVERY_in_p_QuantifiedExpr4699); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + DOLLAR185=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_QuantifiedExpr4702); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR185_tree = this.adaptor.create(DOLLAR185); + this.adaptor.addChild(root_0, DOLLAR185_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_QuantifiedExpr4704); + p_VarName186=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName186.getTree()); + // XQueryParser.g:524:51: ( p_TypeDeclaration )? + var alt80=2; + var LA80_0 = this.input.LA(1); + + if ( (LA80_0==AS) ) { + alt80=1; + } + switch (alt80) { + case 1 : + // XQueryParser.g:524:51: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4706); + p_TypeDeclaration187=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration187.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_QuantifiedExpr4711); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4713); + p_ExprSingle188=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle188.getTree()); + // XQueryParser.g:524:89: ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* + loop82: + do { + var alt82=2; + var LA82_0 = this.input.LA(1); + + if ( (LA82_0==COMMA) ) { + alt82=1; + } + + + switch (alt82) { + case 1 : + // XQueryParser.g:524:90: COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle + COMMA189=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_QuantifiedExpr4716); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA189_tree = this.adaptor.create(COMMA189); + this.adaptor.addChild(root_0, COMMA189_tree); + } + DOLLAR190=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_QuantifiedExpr4718); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR190_tree = this.adaptor.create(DOLLAR190); + this.adaptor.addChild(root_0, DOLLAR190_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_QuantifiedExpr4720); + p_QName191=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName191.getTree()); + // XQueryParser.g:524:111: ( p_TypeDeclaration )? + var alt81=2; + var LA81_0 = this.input.LA(1); + + if ( (LA81_0==AS) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // XQueryParser.g:524:111: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4722); + p_TypeDeclaration192=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration192.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_QuantifiedExpr4727); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4729); + p_ExprSingle193=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle193.getTree()); + + + break; + + default : + break loop82; + } + } while (true); + + k=this.match(this.input,SATISFIES,XQueryParser.FOLLOW_SATISFIES_in_p_QuantifiedExpr4735); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4737); + p_ExprSingle194=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle194.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeswitchExpr_return: (function() { + XQueryParser.p_TypeswitchExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeswitchExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:528:1: p_TypeswitchExpr : k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle ; + // $ANTLR start "p_TypeswitchExpr" + p_TypeswitchExpr: function() { + var retval = new XQueryParser.p_TypeswitchExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN195 = null; + var RPAREN197 = null; + var DOLLAR199 = null; + var k = null; + var list_k=null; + var pm_Expr196 = null; + var p_CaseClause198 = null; + var p_VarName200 = null; + var p_ExprSingle201 = null; + + var LPAREN195_tree=null; + var RPAREN197_tree=null; + var DOLLAR199_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:529:9: (k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle ) + // XQueryParser.g:529:11: k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TYPESWITCH,XQueryParser.FOLLOW_TYPESWITCH_in_p_TypeswitchExpr4766); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + LPAREN195=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_TypeswitchExpr4768); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN195_tree = this.adaptor.create(LPAREN195); + this.adaptor.addChild(root_0, LPAREN195_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_TypeswitchExpr4770); + pm_Expr196=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr196.getTree()); + RPAREN197=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_TypeswitchExpr4772); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN197_tree = this.adaptor.create(RPAREN197); + this.adaptor.addChild(root_0, RPAREN197_tree); + } + // XQueryParser.g:529:47: ( p_CaseClause )+ + var cnt83=0; + loop83: + do { + var alt83=2; + var LA83_0 = this.input.LA(1); + + if ( (LA83_0==CASE) ) { + alt83=1; + } + + + switch (alt83) { + case 1 : + // XQueryParser.g:529:47: p_CaseClause + this.pushFollow(XQueryParser.FOLLOW_p_CaseClause_in_p_TypeswitchExpr4774); + p_CaseClause198=this.p_CaseClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CaseClause198.getTree()); + + + break; + + default : + if ( cnt83 >= 1 ) { + break loop83; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(83, this.input); + throw eee; + } + cnt83++; + } while (true); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_TypeswitchExpr4779); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:529:72: ( DOLLAR p_VarName )? + var alt84=2; + var LA84_0 = this.input.LA(1); + + if ( (LA84_0==DOLLAR) ) { + alt84=1; + } + switch (alt84) { + case 1 : + // XQueryParser.g:529:73: DOLLAR p_VarName + DOLLAR199=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TypeswitchExpr4782); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR199_tree = this.adaptor.create(DOLLAR199); + this.adaptor.addChild(root_0, DOLLAR199_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TypeswitchExpr4784); + p_VarName200=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName200.getTree()); + + + break; + + } + + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_TypeswitchExpr4790); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TypeswitchExpr4792); + p_ExprSingle201=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle201.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CaseClause_return: (function() { + XQueryParser.p_CaseClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CaseClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:533:1: p_CaseClause : k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle ; + // $ANTLR start "p_CaseClause" + p_CaseClause: function() { + var retval = new XQueryParser.p_CaseClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR202 = null; + var k = null; + var list_k=null; + var p_VarName203 = null; + var p_SequenceType204 = null; + var p_ExprSingle205 = null; + + var DOLLAR202_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:534:9: (k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle ) + // XQueryParser.g:534:11: k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,CASE,XQueryParser.FOLLOW_CASE_in_p_CaseClause4821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:534:19: ( DOLLAR p_VarName k+= AS )? + var alt85=2; + var LA85_0 = this.input.LA(1); + + if ( (LA85_0==DOLLAR) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // XQueryParser.g:534:20: DOLLAR p_VarName k+= AS + DOLLAR202=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CaseClause4824); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR202_tree = this.adaptor.create(DOLLAR202); + this.adaptor.addChild(root_0, DOLLAR202_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CaseClause4826); + p_VarName203=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName203.getTree()); + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CaseClause4830); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_CaseClause4834); + p_SequenceType204=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType204.getTree()); + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_CaseClause4838); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_CaseClause4840); + p_ExprSingle205=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle205.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IfExpr_return: (function() { + XQueryParser.p_IfExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IfExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:538:1: p_IfExpr : k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle ; + // $ANTLR start "p_IfExpr" + p_IfExpr: function() { + var retval = new XQueryParser.p_IfExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN206 = null; + var RPAREN208 = null; + var k = null; + var list_k=null; + var pm_Expr207 = null; + var p_ExprSingle209 = null; + var p_ExprSingle210 = null; + + var LPAREN206_tree=null; + var RPAREN208_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:539:9: (k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle ) + // XQueryParser.g:539:11: k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,IF,XQueryParser.FOLLOW_IF_in_p_IfExpr4869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + LPAREN206=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_IfExpr4871); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN206_tree = this.adaptor.create(LPAREN206); + this.adaptor.addChild(root_0, LPAREN206_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_IfExpr4873); + pm_Expr207=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr207.getTree()); + RPAREN208=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_IfExpr4875); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN208_tree = this.adaptor.create(RPAREN208); + this.adaptor.addChild(root_0, RPAREN208_tree); + } + k=this.match(this.input,THEN,XQueryParser.FOLLOW_THEN_in_p_IfExpr4879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_IfExpr4881); + p_ExprSingle209=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle209.getTree()); + k=this.match(this.input,ELSE,XQueryParser.FOLLOW_ELSE_in_p_IfExpr4885); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_IfExpr4887); + p_ExprSingle210=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle210.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrExpr_return: (function() { + XQueryParser.p_OrExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:543:1: p_OrExpr : p_AndExpr (k= OR p_AndExpr )* ; + // $ANTLR start "p_OrExpr" + p_OrExpr: function() { + var retval = new XQueryParser.p_OrExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_AndExpr211 = null; + var p_AndExpr212 = null; + + var k_tree=null; + + try { + // XQueryParser.g:544:9: ( p_AndExpr (k= OR p_AndExpr )* ) + // XQueryParser.g:544:11: p_AndExpr (k= OR p_AndExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AndExpr_in_p_OrExpr4914); + p_AndExpr211=this.p_AndExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AndExpr211.getTree()); + // XQueryParser.g:544:21: (k= OR p_AndExpr )* + loop86: + do { + var alt86=2; + var LA86_0 = this.input.LA(1); + + if ( (LA86_0==OR) ) { + alt86=1; + } + + + switch (alt86) { + case 1 : + // XQueryParser.g:544:23: k= OR p_AndExpr + k=this.match(this.input,OR,XQueryParser.FOLLOW_OR_in_p_OrExpr4920); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AndExpr_in_p_OrExpr4923); + p_AndExpr212=this.p_AndExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AndExpr212.getTree()); + + + break; + + default : + break loop86; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AndExpr_return: (function() { + XQueryParser.p_AndExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AndExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:548:1: p_AndExpr : p_ComparisonExpr (k= AND p_ComparisonExpr )* ; + // $ANTLR start "p_AndExpr" + p_AndExpr: function() { + var retval = new XQueryParser.p_AndExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_ComparisonExpr213 = null; + var p_ComparisonExpr214 = null; + + var k_tree=null; + + try { + // XQueryParser.g:549:9: ( p_ComparisonExpr (k= AND p_ComparisonExpr )* ) + // XQueryParser.g:549:13: p_ComparisonExpr (k= AND p_ComparisonExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ComparisonExpr_in_p_AndExpr4954); + p_ComparisonExpr213=this.p_ComparisonExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComparisonExpr213.getTree()); + // XQueryParser.g:549:30: (k= AND p_ComparisonExpr )* + loop87: + do { + var alt87=2; + var LA87_0 = this.input.LA(1); + + if ( (LA87_0==AND) ) { + alt87=1; + } + + + switch (alt87) { + case 1 : + // XQueryParser.g:549:32: k= AND p_ComparisonExpr + k=this.match(this.input,AND,XQueryParser.FOLLOW_AND_in_p_AndExpr4960); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ComparisonExpr_in_p_AndExpr4963); + p_ComparisonExpr214=this.p_ComparisonExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComparisonExpr214.getTree()); + + + break; + + default : + break loop87; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ComparisonExpr_return: (function() { + XQueryParser.p_ComparisonExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ComparisonExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:553:1: p_ComparisonExpr : p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? ; + // $ANTLR start "p_ComparisonExpr" + p_ComparisonExpr: function() { + var retval = new XQueryParser.p_ComparisonExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_RangeExpr215 = null; + var p_ValueComp216 = null; + var p_GeneralComp217 = null; + var p_NodeComp218 = null; + var p_RangeExpr219 = null; + + + try { + // XQueryParser.g:554:9: ( p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? ) + // XQueryParser.g:554:13: p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_RangeExpr_in_p_ComparisonExpr4994); + p_RangeExpr215=this.p_RangeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RangeExpr215.getTree()); + // XQueryParser.g:554:25: ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? + var alt89=2; + var LA89_0 = this.input.LA(1); + + if ( (LA89_0==EQ||LA89_0==GE||LA89_0==GT||LA89_0==IS||LA89_0==LE||LA89_0==LT||LA89_0==NE||LA89_0==EQUAL||LA89_0==NOTEQUAL||(LA89_0>=SMALLER && LA89_0<=GREATER_GREATER)) ) { + alt89=1; + } + switch (alt89) { + case 1 : + // XQueryParser.g:554:27: ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr + // XQueryParser.g:554:27: ( p_ValueComp | p_GeneralComp | p_NodeComp ) + var alt88=3; + switch ( this.input.LA(1) ) { + case EQ: + case GE: + case GT: + case LE: + case LT: + case NE: + alt88=1; + break; + case EQUAL: + case NOTEQUAL: + case SMALLER: + case GREATER: + case SMALLEREQ: + case GREATEREQ: + alt88=2; + break; + case IS: + case SMALLER_SMALLER: + case GREATER_GREATER: + alt88=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 88, 0, this.input); + + throw nvae; + } + + switch (alt88) { + case 1 : + // XQueryParser.g:554:28: p_ValueComp + this.pushFollow(XQueryParser.FOLLOW_p_ValueComp_in_p_ComparisonExpr4999); + p_ValueComp216=this.p_ValueComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValueComp216.getTree()); + + + break; + case 2 : + // XQueryParser.g:554:42: p_GeneralComp + this.pushFollow(XQueryParser.FOLLOW_p_GeneralComp_in_p_ComparisonExpr5003); + p_GeneralComp217=this.p_GeneralComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GeneralComp217.getTree()); + + + break; + case 3 : + // XQueryParser.g:554:58: p_NodeComp + this.pushFollow(XQueryParser.FOLLOW_p_NodeComp_in_p_ComparisonExpr5007); + p_NodeComp218=this.p_NodeComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeComp218.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_RangeExpr_in_p_ComparisonExpr5010); + p_RangeExpr219=this.p_RangeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RangeExpr219.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RangeExpr_return: (function() { + XQueryParser.p_RangeExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RangeExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:558:1: p_RangeExpr : p_AdditiveExpr (k= TO p_AdditiveExpr )? ; + // $ANTLR start "p_RangeExpr" + p_RangeExpr: function() { + var retval = new XQueryParser.p_RangeExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_AdditiveExpr220 = null; + var p_AdditiveExpr221 = null; + + var k_tree=null; + + try { + // XQueryParser.g:559:9: ( p_AdditiveExpr (k= TO p_AdditiveExpr )? ) + // XQueryParser.g:559:13: p_AdditiveExpr (k= TO p_AdditiveExpr )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AdditiveExpr_in_p_RangeExpr5041); + p_AdditiveExpr220=this.p_AdditiveExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AdditiveExpr220.getTree()); + // XQueryParser.g:559:28: (k= TO p_AdditiveExpr )? + var alt90=2; + var LA90_0 = this.input.LA(1); + + if ( (LA90_0==TO) ) { + alt90=1; + } + switch (alt90) { + case 1 : + // XQueryParser.g:559:30: k= TO p_AdditiveExpr + k=this.match(this.input,TO,XQueryParser.FOLLOW_TO_in_p_RangeExpr5047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AdditiveExpr_in_p_RangeExpr5050); + p_AdditiveExpr221=this.p_AdditiveExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AdditiveExpr221.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AdditiveExpr_return: (function() { + XQueryParser.p_AdditiveExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AdditiveExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:563:1: p_AdditiveExpr : p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* ; + // $ANTLR start "p_AdditiveExpr" + p_AdditiveExpr: function() { + var retval = new XQueryParser.p_AdditiveExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set223 = null; + var p_MultiplicativeExpr222 = null; + var p_MultiplicativeExpr224 = null; + + var set223_tree=null; + + try { + // XQueryParser.g:564:9: ( p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* ) + // XQueryParser.g:564:13: p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5081); + p_MultiplicativeExpr222=this.p_MultiplicativeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_MultiplicativeExpr222.getTree()); + // XQueryParser.g:564:34: ( ( PLUS | MINUS ) p_MultiplicativeExpr )* + loop91: + do { + var alt91=2; + var LA91_0 = this.input.LA(1); + + if ( ((LA91_0>=PLUS && LA91_0<=MINUS)) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // XQueryParser.g:564:36: ( PLUS | MINUS ) p_MultiplicativeExpr + set223=this.input.LT(1); + if ( (this.input.LA(1)>=PLUS && this.input.LA(1)<=MINUS) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set223)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + this.pushFollow(XQueryParser.FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5093); + p_MultiplicativeExpr224=this.p_MultiplicativeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_MultiplicativeExpr224.getTree()); + + + break; + + default : + break loop91; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_MultiplicativeExpr_return: (function() { + XQueryParser.p_MultiplicativeExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_MultiplicativeExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:568:1: p_MultiplicativeExpr : p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* ; + // $ANTLR start "p_MultiplicativeExpr" + p_MultiplicativeExpr: function() { + var retval = new XQueryParser.p_MultiplicativeExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kd = null; + var ki = null; + var km = null; + var STAR226 = null; + var p_UnionExpr225 = null; + var p_UnionExpr227 = null; + + var kd_tree=null; + var ki_tree=null; + var km_tree=null; + var STAR226_tree=null; + + try { + // XQueryParser.g:569:9: ( p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* ) + // XQueryParser.g:569:13: p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5124); + p_UnionExpr225=this.p_UnionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnionExpr225.getTree()); + // XQueryParser.g:569:25: ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* + loop93: + do { + var alt93=2; + var LA93_0 = this.input.LA(1); + + if ( (LA93_0==DIV||LA93_0==IDIV||LA93_0==MOD||LA93_0==STAR) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // XQueryParser.g:569:27: ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr + // XQueryParser.g:569:27: ( STAR | kd= DIV | ki= IDIV | km= MOD ) + var alt92=4; + switch ( this.input.LA(1) ) { + case STAR: + alt92=1; + break; + case DIV: + alt92=2; + break; + case IDIV: + alt92=3; + break; + case MOD: + alt92=4; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 92, 0, this.input); + + throw nvae; + } + + switch (alt92) { + case 1 : + // XQueryParser.g:569:28: STAR + STAR226=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_MultiplicativeExpr5129); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR226_tree = this.adaptor.create(STAR226); + this.adaptor.addChild(root_0, STAR226_tree); + } + + + break; + case 2 : + // XQueryParser.g:569:35: kd= DIV + kd=this.match(this.input,DIV,XQueryParser.FOLLOW_DIV_in_p_MultiplicativeExpr5135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kd_tree = this.adaptor.create(kd); + this.adaptor.addChild(root_0, kd_tree); + } + + + break; + case 3 : + // XQueryParser.g:569:44: ki= IDIV + ki=this.match(this.input,IDIV,XQueryParser.FOLLOW_IDIV_in_p_MultiplicativeExpr5141); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + if ( this.state.backtracking===0 ) { + } + + + break; + case 4 : + // XQueryParser.g:569:57: km= MOD + km=this.match(this.input,MOD,XQueryParser.FOLLOW_MOD_in_p_MultiplicativeExpr5149); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + km_tree = this.adaptor.create(km); + this.adaptor.addChild(root_0, km_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5153); + p_UnionExpr227=this.p_UnionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnionExpr227.getTree()); + + + break; + + default : + break loop93; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnionExpr_return: (function() { + XQueryParser.p_UnionExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnionExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:573:1: p_UnionExpr : p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* ; + // $ANTLR start "p_UnionExpr" + p_UnionExpr: function() { + var retval = new XQueryParser.p_UnionExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var VBAR229 = null; + var p_IntersectExceptExpr228 = null; + var p_IntersectExceptExpr230 = null; + + var ku_tree=null; + var VBAR229_tree=null; + + try { + // XQueryParser.g:574:9: ( p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* ) + // XQueryParser.g:574:13: p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5184); + p_IntersectExceptExpr228=this.p_IntersectExceptExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntersectExceptExpr228.getTree()); + // XQueryParser.g:574:35: ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* + loop95: + do { + var alt95=2; + var LA95_0 = this.input.LA(1); + + if ( (LA95_0==UNION||LA95_0==VBAR) ) { + alt95=1; + } + + + switch (alt95) { + case 1 : + // XQueryParser.g:574:37: (ku= UNION | VBAR ) p_IntersectExceptExpr + // XQueryParser.g:574:37: (ku= UNION | VBAR ) + var alt94=2; + var LA94_0 = this.input.LA(1); + + if ( (LA94_0==UNION) ) { + alt94=1; + } + else if ( (LA94_0==VBAR) ) { + alt94=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 94, 0, this.input); + + throw nvae; + } + switch (alt94) { + case 1 : + // XQueryParser.g:574:38: ku= UNION + ku=this.match(this.input,UNION,XQueryParser.FOLLOW_UNION_in_p_UnionExpr5191); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + + + break; + case 2 : + // XQueryParser.g:574:49: VBAR + VBAR229=this.match(this.input,VBAR,XQueryParser.FOLLOW_VBAR_in_p_UnionExpr5195); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + VBAR229_tree = this.adaptor.create(VBAR229); + this.adaptor.addChild(root_0, VBAR229_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5198); + p_IntersectExceptExpr230=this.p_IntersectExceptExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntersectExceptExpr230.getTree()); + + + break; + + default : + break loop95; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IntersectExceptExpr_return: (function() { + XQueryParser.p_IntersectExceptExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IntersectExceptExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:578:1: p_IntersectExceptExpr : p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* ; + // $ANTLR start "p_IntersectExceptExpr" + p_IntersectExceptExpr: function() { + var retval = new XQueryParser.p_IntersectExceptExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_InstanceofExpr231 = null; + var p_InstanceofExpr232 = null; + + var k_tree=null; + + try { + // XQueryParser.g:579:9: ( p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* ) + // XQueryParser.g:579:13: p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5229); + p_InstanceofExpr231=this.p_InstanceofExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InstanceofExpr231.getTree()); + // XQueryParser.g:579:30: ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* + loop97: + do { + var alt97=2; + var LA97_0 = this.input.LA(1); + + if ( (LA97_0==EXCEPT||LA97_0==INTERSECT) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // XQueryParser.g:579:32: (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr + // XQueryParser.g:579:32: (k= INTERSECT | k= EXCEPT ) + var alt96=2; + var LA96_0 = this.input.LA(1); + + if ( (LA96_0==INTERSECT) ) { + alt96=1; + } + else if ( (LA96_0==EXCEPT) ) { + alt96=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 96, 0, this.input); + + throw nvae; + } + switch (alt96) { + case 1 : + // XQueryParser.g:579:33: k= INTERSECT + k=this.match(this.input,INTERSECT,XQueryParser.FOLLOW_INTERSECT_in_p_IntersectExceptExpr5236); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:579:47: k= EXCEPT + k=this.match(this.input,EXCEPT,XQueryParser.FOLLOW_EXCEPT_in_p_IntersectExceptExpr5242); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5246); + p_InstanceofExpr232=this.p_InstanceofExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InstanceofExpr232.getTree()); + + + break; + + default : + break loop97; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InstanceofExpr_return: (function() { + XQueryParser.p_InstanceofExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InstanceofExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:583:1: p_InstanceofExpr : p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? ; + // $ANTLR start "p_InstanceofExpr" + p_InstanceofExpr: function() { + var retval = new XQueryParser.p_InstanceofExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ki = null; + var ko = null; + var p_TreatExpr233 = null; + var p_SequenceType234 = null; + + var ki_tree=null; + var ko_tree=null; + + try { + // XQueryParser.g:584:9: ( p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? ) + // XQueryParser.g:584:13: p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TreatExpr_in_p_InstanceofExpr5277); + p_TreatExpr233=this.p_TreatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TreatExpr233.getTree()); + // XQueryParser.g:584:25: (ki= INSTANCE ko= OF p_SequenceType )? + var alt98=2; + var LA98_0 = this.input.LA(1); + + if ( (LA98_0==INSTANCE) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // XQueryParser.g:584:27: ki= INSTANCE ko= OF p_SequenceType + ki=this.match(this.input,INSTANCE,XQueryParser.FOLLOW_INSTANCE_in_p_InstanceofExpr5283); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + ko=this.match(this.input,OF,XQueryParser.FOLLOW_OF_in_p_InstanceofExpr5287); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ko_tree = this.adaptor.create(ko); + this.adaptor.addChild(root_0, ko_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_InstanceofExpr5289); + p_SequenceType234=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType234.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TreatExpr_return: (function() { + XQueryParser.p_TreatExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TreatExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:588:1: p_TreatExpr : p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? ; + // $ANTLR start "p_TreatExpr" + p_TreatExpr: function() { + var retval = new XQueryParser.p_TreatExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kt = null; + var ka = null; + var p_CastableExpr235 = null; + var p_SequenceType236 = null; + + var kt_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:589:9: ( p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? ) + // XQueryParser.g:589:13: p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CastableExpr_in_p_TreatExpr5319); + p_CastableExpr235=this.p_CastableExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CastableExpr235.getTree()); + // XQueryParser.g:589:28: (kt= TREAT ka= AS p_SequenceType )? + var alt99=2; + var LA99_0 = this.input.LA(1); + + if ( (LA99_0==TREAT) ) { + alt99=1; + } + switch (alt99) { + case 1 : + // XQueryParser.g:589:30: kt= TREAT ka= AS p_SequenceType + kt=this.match(this.input,TREAT,XQueryParser.FOLLOW_TREAT_in_p_TreatExpr5325); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kt_tree = this.adaptor.create(kt); + this.adaptor.addChild(root_0, kt_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_TreatExpr5329); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_TreatExpr5331); + p_SequenceType236=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType236.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CastableExpr_return: (function() { + XQueryParser.p_CastableExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CastableExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:593:1: p_CastableExpr : p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? ; + // $ANTLR start "p_CastableExpr" + p_CastableExpr: function() { + var retval = new XQueryParser.p_CastableExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var ka = null; + var p_CastExpr237 = null; + var p_SingleType238 = null; + + var kc_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:594:9: ( p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? ) + // XQueryParser.g:594:13: p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CastExpr_in_p_CastableExpr5370); + p_CastExpr237=this.p_CastExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CastExpr237.getTree()); + // XQueryParser.g:594:24: (kc= CASTABLE ka= AS p_SingleType )? + var alt100=2; + var LA100_0 = this.input.LA(1); + + if ( (LA100_0==CASTABLE) ) { + alt100=1; + } + switch (alt100) { + case 1 : + // XQueryParser.g:594:26: kc= CASTABLE ka= AS p_SingleType + kc=this.match(this.input,CASTABLE,XQueryParser.FOLLOW_CASTABLE_in_p_CastableExpr5376); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CastableExpr5380); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SingleType_in_p_CastableExpr5382); + p_SingleType238=this.p_SingleType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SingleType238.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CastExpr_return: (function() { + XQueryParser.p_CastExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CastExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:598:1: p_CastExpr : p_UnaryExpr (kc= CAST ka= AS p_SingleType )? ; + // $ANTLR start "p_CastExpr" + p_CastExpr: function() { + var retval = new XQueryParser.p_CastExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var ka = null; + var p_UnaryExpr239 = null; + var p_SingleType240 = null; + + var kc_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:599:9: ( p_UnaryExpr (kc= CAST ka= AS p_SingleType )? ) + // XQueryParser.g:599:13: p_UnaryExpr (kc= CAST ka= AS p_SingleType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnaryExpr_in_p_CastExpr5421); + p_UnaryExpr239=this.p_UnaryExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnaryExpr239.getTree()); + // XQueryParser.g:599:25: (kc= CAST ka= AS p_SingleType )? + var alt101=2; + var LA101_0 = this.input.LA(1); + + if ( (LA101_0==CAST) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // XQueryParser.g:599:27: kc= CAST ka= AS p_SingleType + kc=this.match(this.input,CAST,XQueryParser.FOLLOW_CAST_in_p_CastExpr5427); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CastExpr5431); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SingleType_in_p_CastExpr5433); + p_SingleType240=this.p_SingleType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SingleType240.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnaryExpr_return: (function() { + XQueryParser.p_UnaryExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnaryExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:603:1: p_UnaryExpr : ( PLUS | MINUS )* p_ValueExpr -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) ; + // $ANTLR start "p_UnaryExpr" + p_UnaryExpr: function() { + var retval = new XQueryParser.p_UnaryExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PLUS241 = null; + var MINUS242 = null; + var p_ValueExpr243 = null; + + var PLUS241_tree=null; + var MINUS242_tree=null; + var stream_PLUS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token PLUS"); + var stream_MINUS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MINUS"); + var stream_p_ValueExpr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ValueExpr"); + try { + // XQueryParser.g:604:9: ( ( PLUS | MINUS )* p_ValueExpr -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) ) + // XQueryParser.g:604:13: ( PLUS | MINUS )* p_ValueExpr + // XQueryParser.g:604:13: ( PLUS | MINUS )* + loop102: + do { + var alt102=3; + var LA102_0 = this.input.LA(1); + + if ( (LA102_0==PLUS) ) { + alt102=1; + } + else if ( (LA102_0==MINUS) ) { + alt102=2; + } + + + switch (alt102) { + case 1 : + // XQueryParser.g:604:14: PLUS + PLUS241=this.match(this.input,PLUS,XQueryParser.FOLLOW_PLUS_in_p_UnaryExpr5465); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_PLUS.add(PLUS241); + + + + break; + case 2 : + // XQueryParser.g:604:21: MINUS + MINUS242=this.match(this.input,MINUS,XQueryParser.FOLLOW_MINUS_in_p_UnaryExpr5469); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MINUS.add(MINUS242); + + + + break; + + default : + break loop102; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_p_ValueExpr_in_p_UnaryExpr5473); + p_ValueExpr243=this.p_ValueExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ValueExpr.add(p_ValueExpr243.getTree()); + + + // AST REWRITE + // elements: PLUS, p_ValueExpr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 605:17: -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) + { + // XQueryParser.g:605:20: ^( UnaryExpr ( PLUS )* p_ValueExpr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(UnaryExpr, "UnaryExpr"), root_1); + + // XQueryParser.g:605:32: ( PLUS )* + while ( stream_PLUS.hasNext() ) { + this.adaptor.addChild(root_1, stream_PLUS.nextNode()); + + } + stream_PLUS.reset(); + this.adaptor.addChild(root_1, stream_p_ValueExpr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValueExpr_return: (function() { + XQueryParser.p_ValueExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValueExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:612:1: p_ValueExpr : ( p_ValidateExpr | p_PathExpr | p_ExtensionExpr ); + // $ANTLR start "p_ValueExpr" + p_ValueExpr: function() { + var retval = new XQueryParser.p_ValueExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ValidateExpr244 = null; + var p_PathExpr245 = null; + var p_ExtensionExpr246 = null; + + + try { + // XQueryParser.g:613:9: ( p_ValidateExpr | p_PathExpr | p_ExtensionExpr ) + var alt103=3; + alt103 = this.dfa103.predict(this.input); + switch (alt103) { + case 1 : + // XQueryParser.g:613:11: p_ValidateExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ValidateExpr_in_p_ValueExpr5529); + p_ValidateExpr244=this.p_ValidateExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValidateExpr244.getTree()); + + + break; + case 2 : + // XQueryParser.g:614:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ValueExpr5541); + p_PathExpr245=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr245.getTree()); + + + break; + case 3 : + // XQueryParser.g:615:11: p_ExtensionExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExtensionExpr_in_p_ValueExpr5553); + p_ExtensionExpr246=this.p_ExtensionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExtensionExpr246.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GeneralComp_return: (function() { + XQueryParser.p_GeneralComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GeneralComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:619:1: p_GeneralComp : ( EQUAL | NOTEQUAL | SMALLER | SMALLEREQ | GREATER | GREATEREQ ); + // $ANTLR start "p_GeneralComp" + p_GeneralComp: function() { + var retval = new XQueryParser.p_GeneralComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set247 = null; + + var set247_tree=null; + + try { + // XQueryParser.g:620:9: ( EQUAL | NOTEQUAL | SMALLER | SMALLEREQ | GREATER | GREATEREQ ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set247=this.input.LT(1); + if ( this.input.LA(1)==EQUAL||this.input.LA(1)==NOTEQUAL||(this.input.LA(1)>=SMALLER && this.input.LA(1)<=GREATEREQ) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set247)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValueComp_return: (function() { + XQueryParser.p_ValueComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValueComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:624:1: p_ValueComp : (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) ; + // $ANTLR start "p_ValueComp" + p_ValueComp: function() { + var retval = new XQueryParser.p_ValueComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + + var k_tree=null; + + try { + // XQueryParser.g:625:9: ( (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) ) + // XQueryParser.g:625:13: (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:625:13: (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) + var alt104=6; + switch ( this.input.LA(1) ) { + case EQ: + alt104=1; + break; + case NE: + alt104=2; + break; + case LT: + alt104=3; + break; + case LE: + alt104=4; + break; + case GT: + alt104=5; + break; + case GE: + alt104=6; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 104, 0, this.input); + + throw nvae; + } + + switch (alt104) { + case 1 : + // XQueryParser.g:625:14: k= EQ + k=this.match(this.input,EQ,XQueryParser.FOLLOW_EQ_in_p_ValueComp5632); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:625:21: k= NE + k=this.match(this.input,NE,XQueryParser.FOLLOW_NE_in_p_ValueComp5638); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:625:28: k= LT + k=this.match(this.input,LT,XQueryParser.FOLLOW_LT_in_p_ValueComp5644); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 4 : + // XQueryParser.g:625:35: k= LE + k=this.match(this.input,LE,XQueryParser.FOLLOW_LE_in_p_ValueComp5650); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 5 : + // XQueryParser.g:625:42: k= GT + k=this.match(this.input,GT,XQueryParser.FOLLOW_GT_in_p_ValueComp5656); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 6 : + // XQueryParser.g:625:49: k= GE + k=this.match(this.input,GE,XQueryParser.FOLLOW_GE_in_p_ValueComp5662); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeComp_return: (function() { + XQueryParser.p_NodeComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:629:1: p_NodeComp : (ki= IS | SMALLER_SMALLER | GREATER_GREATER ); + // $ANTLR start "p_NodeComp" + p_NodeComp: function() { + var retval = new XQueryParser.p_NodeComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ki = null; + var SMALLER_SMALLER248 = null; + var GREATER_GREATER249 = null; + + var ki_tree=null; + var SMALLER_SMALLER248_tree=null; + var GREATER_GREATER249_tree=null; + + try { + // XQueryParser.g:630:9: (ki= IS | SMALLER_SMALLER | GREATER_GREATER ) + var alt105=3; + switch ( this.input.LA(1) ) { + case IS: + alt105=1; + break; + case SMALLER_SMALLER: + alt105=2; + break; + case GREATER_GREATER: + alt105=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 105, 0, this.input); + + throw nvae; + } + + switch (alt105) { + case 1 : + // XQueryParser.g:630:13: ki= IS + root_0 = this.adaptor.nil(); + + ki=this.match(this.input,IS,XQueryParser.FOLLOW_IS_in_p_NodeComp5694); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + + + break; + case 2 : + // XQueryParser.g:630:21: SMALLER_SMALLER + root_0 = this.adaptor.nil(); + + SMALLER_SMALLER248=this.match(this.input,SMALLER_SMALLER,XQueryParser.FOLLOW_SMALLER_SMALLER_in_p_NodeComp5698); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SMALLER_SMALLER248_tree = this.adaptor.create(SMALLER_SMALLER248); + this.adaptor.addChild(root_0, SMALLER_SMALLER248_tree); + } + + + break; + case 3 : + // XQueryParser.g:630:39: GREATER_GREATER + root_0 = this.adaptor.nil(); + + GREATER_GREATER249=this.match(this.input,GREATER_GREATER,XQueryParser.FOLLOW_GREATER_GREATER_in_p_NodeComp5702); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + GREATER_GREATER249_tree = this.adaptor.create(GREATER_GREATER249); + this.adaptor.addChild(root_0, GREATER_GREATER249_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValidateExpr_return: (function() { + XQueryParser.p_ValidateExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValidateExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:634:1: p_ValidateExpr : kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_ValidateExpr" + p_ValidateExpr: function() { + var retval = new XQueryParser.p_ValidateExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kv = null; + var LBRACKET251 = null; + var RBRACKET253 = null; + var p_ValidationMode250 = null; + var pm_Expr252 = null; + + var kv_tree=null; + var LBRACKET251_tree=null; + var RBRACKET253_tree=null; + + try { + // XQueryParser.g:635:9: (kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:635:13: kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kv=this.match(this.input,VALIDATE,XQueryParser.FOLLOW_VALIDATE_in_p_ValidateExpr5732); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kv_tree = this.adaptor.create(kv); + this.adaptor.addChild(root_0, kv_tree); + } + // XQueryParser.g:635:25: ( p_ValidationMode )? + var alt106=2; + var LA106_0 = this.input.LA(1); + + if ( (LA106_0==AS||LA106_0==LAX||LA106_0==STRICT) ) { + alt106=1; + } + switch (alt106) { + case 1 : + // XQueryParser.g:635:25: p_ValidationMode + this.pushFollow(XQueryParser.FOLLOW_p_ValidationMode_in_p_ValidateExpr5734); + p_ValidationMode250=this.p_ValidationMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValidationMode250.getTree()); + + + break; + + } + + LBRACKET251=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ValidateExpr5737); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET251_tree = this.adaptor.create(LBRACKET251); + this.adaptor.addChild(root_0, LBRACKET251_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ValidateExpr5739); + pm_Expr252=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr252.getTree()); + RBRACKET253=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ValidateExpr5741); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET253_tree = this.adaptor.create(RBRACKET253); + this.adaptor.addChild(root_0, RBRACKET253_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValidationMode_return: (function() { + XQueryParser.p_ValidationMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValidationMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:639:1: p_ValidationMode : (k= LAX | k= STRICT | (k= AS p_QName ) ) ; + // $ANTLR start "p_ValidationMode" + p_ValidationMode: function() { + var retval = new XQueryParser.p_ValidationMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_QName254 = null; + + var k_tree=null; + + try { + // XQueryParser.g:640:9: ( (k= LAX | k= STRICT | (k= AS p_QName ) ) ) + // XQueryParser.g:640:13: (k= LAX | k= STRICT | (k= AS p_QName ) ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:640:13: (k= LAX | k= STRICT | (k= AS p_QName ) ) + var alt107=3; + switch ( this.input.LA(1) ) { + case LAX: + alt107=1; + break; + case STRICT: + alt107=2; + break; + case AS: + alt107=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 107, 0, this.input); + + throw nvae; + } + + switch (alt107) { + case 1 : + // XQueryParser.g:640:14: k= LAX + k=this.match(this.input,LAX,XQueryParser.FOLLOW_LAX_in_p_ValidationMode5772); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:640:22: k= STRICT + k=this.match(this.input,STRICT,XQueryParser.FOLLOW_STRICT_in_p_ValidationMode5778); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:640:33: (k= AS p_QName ) + // XQueryParser.g:640:33: (k= AS p_QName ) + // XQueryParser.g:640:34: k= AS p_QName + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_ValidationMode5785); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ValidationMode5787); + p_QName254=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName254.getTree()); + + + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExtensionExpr_return: (function() { + XQueryParser.p_ExtensionExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExtensionExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:644:1: p_ExtensionExpr : ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_ExtensionExpr" + p_ExtensionExpr: function() { + var retval = new XQueryParser.p_ExtensionExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_Pragma255 = null; + var LBRACKET256 = null; + var RBRACKET258 = null; + var pm_Expr257 = null; + + var L_Pragma255_tree=null; + var LBRACKET256_tree=null; + var RBRACKET258_tree=null; + + try { + // XQueryParser.g:645:9: ( ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:645:13: ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + // XQueryParser.g:645:13: ( L_Pragma )+ + var cnt108=0; + loop108: + do { + var alt108=2; + var LA108_0 = this.input.LA(1); + + if ( (LA108_0==L_Pragma) ) { + alt108=1; + } + + + switch (alt108) { + case 1 : + // XQueryParser.g:645:13: L_Pragma + L_Pragma255=this.match(this.input,L_Pragma,XQueryParser.FOLLOW_L_Pragma_in_p_ExtensionExpr5818); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_Pragma255_tree = this.adaptor.create(L_Pragma255); + this.adaptor.addChild(root_0, L_Pragma255_tree); + } + + + break; + + default : + if ( cnt108 >= 1 ) { + break loop108; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(108, this.input); + throw eee; + } + cnt108++; + } while (true); + + LBRACKET256=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ExtensionExpr5821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET256_tree = this.adaptor.create(LBRACKET256); + this.adaptor.addChild(root_0, LBRACKET256_tree); + } + // XQueryParser.g:645:32: ( pm_Expr )? + var alt109=2; + var LA109_0 = this.input.LA(1); + + if ( ((LA109_0>=ANCESTOR && LA109_0<=EXIT)||(LA109_0>=SEQUENTIAL && LA109_0<=MAINTAINED)||(LA109_0>=MUTABLE && LA109_0<=LPAREN)||LA109_0==DOLLAR||(LA109_0>=STAR && LA109_0<=SMALLER)||(LA109_0>=SLASH && LA109_0<=DOT_DOT)||LA109_0==ATTR_SIGN||(LA109_0>=APOS && LA109_0<=QUOT)||LA109_0==L_NCName||(LA109_0>=L_Pragma && LA109_0<=L_DoubleLiteral)||(LA109_0>=LETDOLLAR && LA109_0<=EXPLICITLY)) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // XQueryParser.g:645:32: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ExtensionExpr5823); + pm_Expr257=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr257.getTree()); + + + break; + + } + + RBRACKET258=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ExtensionExpr5826); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET258_tree = this.adaptor.create(RBRACKET258); + this.adaptor.addChild(root_0, RBRACKET258_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PathExpr_return: (function() { + XQueryParser.p_PathExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PathExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:656:1: p_PathExpr : ( ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr ); + // $ANTLR start "p_PathExpr" + p_PathExpr: function() { + var retval = new XQueryParser.p_PathExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SLASH259 = null; + var SLASH261 = null; + var SLASH_SLASH262 = null; + var p_RelativePathExpr260 = null; + var p_RelativePathExpr263 = null; + var p_RelativePathExpr264 = null; + + var SLASH259_tree=null; + var SLASH261_tree=null; + var SLASH_SLASH262_tree=null; + + try { + // XQueryParser.g:657:9: ( ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr ) + var alt110=4; + alt110 = this.dfa110.predict(this.input); + switch (alt110) { + case 1 : + // XQueryParser.g:657:11: ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:657:41: ( SLASH p_RelativePathExpr ) + // XQueryParser.g:657:42: SLASH p_RelativePathExpr + SLASH259=this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_p_PathExpr5868); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH259_tree = this.adaptor.create(SLASH259); + this.adaptor.addChild(root_0, SLASH259_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5870); + p_RelativePathExpr260=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr260.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:658:11: SLASH + root_0 = this.adaptor.nil(); + + SLASH261=this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_p_PathExpr5883); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH261_tree = this.adaptor.create(SLASH261); + this.adaptor.addChild(root_0, SLASH261_tree); + } + + + break; + case 3 : + // XQueryParser.g:659:11: SLASH_SLASH p_RelativePathExpr + root_0 = this.adaptor.nil(); + + SLASH_SLASH262=this.match(this.input,SLASH_SLASH,XQueryParser.FOLLOW_SLASH_SLASH_in_p_PathExpr5895); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH_SLASH262_tree = this.adaptor.create(SLASH_SLASH262); + this.adaptor.addChild(root_0, SLASH_SLASH262_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5897); + p_RelativePathExpr263=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr263.getTree()); + + + break; + case 4 : + // XQueryParser.g:660:11: p_RelativePathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5909); + p_RelativePathExpr264=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr264.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RelativePathExpr_return: (function() { + XQueryParser.p_RelativePathExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RelativePathExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:664:1: p_RelativePathExpr : p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* ; + // $ANTLR start "p_RelativePathExpr" + p_RelativePathExpr: function() { + var retval = new XQueryParser.p_RelativePathExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set266 = null; + var p_StepExpr265 = null; + var p_StepExpr267 = null; + + var set266_tree=null; + + try { + // XQueryParser.g:665:9: ( p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* ) + // XQueryParser.g:665:11: p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_StepExpr_in_p_RelativePathExpr5937); + p_StepExpr265=this.p_StepExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StepExpr265.getTree()); + // XQueryParser.g:665:22: ( ( SLASH | SLASH_SLASH ) p_StepExpr )* + loop111: + do { + var alt111=2; + var LA111_0 = this.input.LA(1); + + if ( ((LA111_0>=SLASH && LA111_0<=SLASH_SLASH)) ) { + alt111=1; + } + + + switch (alt111) { + case 1 : + // XQueryParser.g:665:23: ( SLASH | SLASH_SLASH ) p_StepExpr + set266=this.input.LT(1); + if ( (this.input.LA(1)>=SLASH && this.input.LA(1)<=SLASH_SLASH) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set266)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + this.pushFollow(XQueryParser.FOLLOW_p_StepExpr_in_p_RelativePathExpr5948); + p_StepExpr267=this.p_StepExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StepExpr267.getTree()); + + + break; + + default : + break loop111; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_StepExpr_return: (function() { + XQueryParser.p_StepExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_StepExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:669:1: p_StepExpr : ( p_AxisStep | p_FilterExpr ); + // $ANTLR start "p_StepExpr" + p_StepExpr: function() { + var retval = new XQueryParser.p_StepExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_AxisStep268 = null; + var p_FilterExpr269 = null; + + + try { + // XQueryParser.g:670:9: ( p_AxisStep | p_FilterExpr ) + var alt112=2; + alt112 = this.dfa112.predict(this.input); + switch (alt112) { + case 1 : + // XQueryParser.g:670:11: p_AxisStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AxisStep_in_p_StepExpr5976); + p_AxisStep268=this.p_AxisStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AxisStep268.getTree()); + + + break; + case 2 : + // XQueryParser.g:671:11: p_FilterExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FilterExpr_in_p_StepExpr5988); + p_FilterExpr269=this.p_FilterExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FilterExpr269.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AxisStep_return: (function() { + XQueryParser.p_AxisStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AxisStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:675:1: p_AxisStep : ( p_ReverseStep | p_ForwardStep ) p_PredicateList ; + // $ANTLR start "p_AxisStep" + p_AxisStep: function() { + var retval = new XQueryParser.p_AxisStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ReverseStep270 = null; + var p_ForwardStep271 = null; + var p_PredicateList272 = null; + + + try { + // XQueryParser.g:676:9: ( ( p_ReverseStep | p_ForwardStep ) p_PredicateList ) + // XQueryParser.g:676:11: ( p_ReverseStep | p_ForwardStep ) p_PredicateList + root_0 = this.adaptor.nil(); + + // XQueryParser.g:676:11: ( p_ReverseStep | p_ForwardStep ) + var alt113=2; + switch ( this.input.LA(1) ) { + case PARENT: + var LA113_1 = this.input.LA(2); + + if ( (LA113_1==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_1==EOF||(LA113_1>=AND && LA113_1<=ASCENDING)||(LA113_1>=BY && LA113_1<=CASTABLE)||LA113_1==COLLATION||LA113_1==DEFAULT||(LA113_1>=DESCENDING && LA113_1<=DIV)||(LA113_1>=ELSE && LA113_1<=EMPTY)||LA113_1==EQ||LA113_1==EXCEPT||LA113_1==FOR||LA113_1==GE||(LA113_1>=GT && LA113_1<=IDIV)||(LA113_1>=INSTANCE && LA113_1<=IS)||LA113_1==LE||(LA113_1>=LT && LA113_1<=MOD)||LA113_1==NE||(LA113_1>=OR && LA113_1<=ORDER)||(LA113_1>=RETURN && LA113_1<=SATISFIES)||LA113_1==STABLE||(LA113_1>=TO && LA113_1<=TREAT)||LA113_1==UNION||LA113_1==WHERE||LA113_1==COUNT||(LA113_1>=END && LA113_1<=GROUP)||LA113_1==ONLY||LA113_1==START||(LA113_1>=AFTER && LA113_1<=BEFORE)||LA113_1==INTO||LA113_1==MODIFY||LA113_1==WITH||LA113_1==RPAREN||(LA113_1>=RBRACKET && LA113_1<=EQUAL)||LA113_1==NOTEQUAL||LA113_1==COMMA||(LA113_1>=STAR && LA113_1<=SLASH_SLASH)||LA113_1==COLON||(LA113_1>=SEMICOLON && LA113_1<=VBAR)||LA113_1==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 1, this.input); + + throw nvae; + } + break; + case ANCESTOR: + var LA113_2 = this.input.LA(2); + + if ( (LA113_2==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_2==EOF||(LA113_2>=AND && LA113_2<=ASCENDING)||(LA113_2>=BY && LA113_2<=CASTABLE)||LA113_2==COLLATION||LA113_2==DEFAULT||(LA113_2>=DESCENDING && LA113_2<=DIV)||(LA113_2>=ELSE && LA113_2<=EMPTY)||LA113_2==EQ||LA113_2==EXCEPT||LA113_2==FOR||LA113_2==GE||(LA113_2>=GT && LA113_2<=IDIV)||(LA113_2>=INSTANCE && LA113_2<=IS)||LA113_2==LE||(LA113_2>=LT && LA113_2<=MOD)||LA113_2==NE||(LA113_2>=OR && LA113_2<=ORDER)||(LA113_2>=RETURN && LA113_2<=SATISFIES)||LA113_2==STABLE||(LA113_2>=TO && LA113_2<=TREAT)||LA113_2==UNION||LA113_2==WHERE||LA113_2==COUNT||(LA113_2>=END && LA113_2<=GROUP)||LA113_2==ONLY||LA113_2==START||(LA113_2>=AFTER && LA113_2<=BEFORE)||LA113_2==INTO||LA113_2==MODIFY||LA113_2==WITH||LA113_2==RPAREN||(LA113_2>=RBRACKET && LA113_2<=EQUAL)||LA113_2==NOTEQUAL||LA113_2==COMMA||(LA113_2>=STAR && LA113_2<=SLASH_SLASH)||LA113_2==COLON||(LA113_2>=SEMICOLON && LA113_2<=VBAR)||LA113_2==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 2, this.input); + + throw nvae; + } + break; + case PRECEDING_SIBLING: + var LA113_3 = this.input.LA(2); + + if ( (LA113_3==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_3==EOF||(LA113_3>=AND && LA113_3<=ASCENDING)||(LA113_3>=BY && LA113_3<=CASTABLE)||LA113_3==COLLATION||LA113_3==DEFAULT||(LA113_3>=DESCENDING && LA113_3<=DIV)||(LA113_3>=ELSE && LA113_3<=EMPTY)||LA113_3==EQ||LA113_3==EXCEPT||LA113_3==FOR||LA113_3==GE||(LA113_3>=GT && LA113_3<=IDIV)||(LA113_3>=INSTANCE && LA113_3<=IS)||LA113_3==LE||(LA113_3>=LT && LA113_3<=MOD)||LA113_3==NE||(LA113_3>=OR && LA113_3<=ORDER)||(LA113_3>=RETURN && LA113_3<=SATISFIES)||LA113_3==STABLE||(LA113_3>=TO && LA113_3<=TREAT)||LA113_3==UNION||LA113_3==WHERE||LA113_3==COUNT||(LA113_3>=END && LA113_3<=GROUP)||LA113_3==ONLY||LA113_3==START||(LA113_3>=AFTER && LA113_3<=BEFORE)||LA113_3==INTO||LA113_3==MODIFY||LA113_3==WITH||LA113_3==RPAREN||(LA113_3>=RBRACKET && LA113_3<=EQUAL)||LA113_3==NOTEQUAL||LA113_3==COMMA||(LA113_3>=STAR && LA113_3<=SLASH_SLASH)||LA113_3==COLON||(LA113_3>=SEMICOLON && LA113_3<=VBAR)||LA113_3==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 3, this.input); + + throw nvae; + } + break; + case PRECEDING: + var LA113_4 = this.input.LA(2); + + if ( (LA113_4==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_4==EOF||(LA113_4>=AND && LA113_4<=ASCENDING)||(LA113_4>=BY && LA113_4<=CASTABLE)||LA113_4==COLLATION||LA113_4==DEFAULT||(LA113_4>=DESCENDING && LA113_4<=DIV)||(LA113_4>=ELSE && LA113_4<=EMPTY)||LA113_4==EQ||LA113_4==EXCEPT||LA113_4==FOR||LA113_4==GE||(LA113_4>=GT && LA113_4<=IDIV)||(LA113_4>=INSTANCE && LA113_4<=IS)||LA113_4==LE||(LA113_4>=LT && LA113_4<=MOD)||LA113_4==NE||(LA113_4>=OR && LA113_4<=ORDER)||(LA113_4>=RETURN && LA113_4<=SATISFIES)||LA113_4==STABLE||(LA113_4>=TO && LA113_4<=TREAT)||LA113_4==UNION||LA113_4==WHERE||LA113_4==COUNT||(LA113_4>=END && LA113_4<=GROUP)||LA113_4==ONLY||LA113_4==START||(LA113_4>=AFTER && LA113_4<=BEFORE)||LA113_4==INTO||LA113_4==MODIFY||LA113_4==WITH||LA113_4==RPAREN||(LA113_4>=RBRACKET && LA113_4<=EQUAL)||LA113_4==NOTEQUAL||LA113_4==COMMA||(LA113_4>=STAR && LA113_4<=SLASH_SLASH)||LA113_4==COLON||(LA113_4>=SEMICOLON && LA113_4<=VBAR)||LA113_4==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 4, this.input); + + throw nvae; + } + break; + case ANCESTOR_OR_SELF: + var LA113_5 = this.input.LA(2); + + if ( (LA113_5==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_5==EOF||(LA113_5>=AND && LA113_5<=ASCENDING)||(LA113_5>=BY && LA113_5<=CASTABLE)||LA113_5==COLLATION||LA113_5==DEFAULT||(LA113_5>=DESCENDING && LA113_5<=DIV)||(LA113_5>=ELSE && LA113_5<=EMPTY)||LA113_5==EQ||LA113_5==EXCEPT||LA113_5==FOR||LA113_5==GE||(LA113_5>=GT && LA113_5<=IDIV)||(LA113_5>=INSTANCE && LA113_5<=IS)||LA113_5==LE||(LA113_5>=LT && LA113_5<=MOD)||LA113_5==NE||(LA113_5>=OR && LA113_5<=ORDER)||(LA113_5>=RETURN && LA113_5<=SATISFIES)||LA113_5==STABLE||(LA113_5>=TO && LA113_5<=TREAT)||LA113_5==UNION||LA113_5==WHERE||LA113_5==COUNT||(LA113_5>=END && LA113_5<=GROUP)||LA113_5==ONLY||LA113_5==START||(LA113_5>=AFTER && LA113_5<=BEFORE)||LA113_5==INTO||LA113_5==MODIFY||LA113_5==WITH||LA113_5==RPAREN||(LA113_5>=RBRACKET && LA113_5<=EQUAL)||LA113_5==NOTEQUAL||LA113_5==COMMA||(LA113_5>=STAR && LA113_5<=SLASH_SLASH)||LA113_5==COLON||(LA113_5>=SEMICOLON && LA113_5<=VBAR)||LA113_5==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 5, this.input); + + throw nvae; + } + break; + case DOT_DOT: + alt113=1; + break; + case AND: + case AS: + case ASCENDING: + case AT: + case ATTRIBUTE: + case BASE_URI: + case BOUNDARY_SPACE: + case BY: + case CASE: + case CAST: + case CASTABLE: + case CHILD: + case COLLATION: + case COMMENT: + case CONSTRUCTION: + case COPY_NAMESPACES: + case DECLARE: + case DEFAULT: + case DESCENDANT: + case DESCENDANT_OR_SELF: + case DESCENDING: + case DIV: + case DOCUMENT: + case DOCUMENT_NODE: + case ELEMENT: + case ELSE: + case EMPTY: + case EMPTY_SEQUENCE: + case ENCODING: + case EQ: + case EVERY: + case EXCEPT: + case EXTERNAL: + case FOLLOWING: + case FOLLOWING_SIBLING: + case FOR: + case FUNCTION: + case GE: + case GREATEST: + case GT: + case IDIV: + case IF: + case IMPORT: + case IN: + case INHERIT: + case INSTANCE: + case INTERSECT: + case IS: + case ITEM: + case LAX: + case LE: + case LEAST: + case LET: + case LT: + case MOD: + case MODULE: + case NAMESPACE: + case NE: + case NO_INHERIT: + case NO_PRESERVE: + case NODE: + case OF: + case OPTION: + case OR: + case ORDER: + case ORDERED: + case ORDERING: + case PRESERVE: + case PROCESSING_INSTRUCTION: + case RETURN: + case SATISFIES: + case SCHEMA: + case SCHEMA_ATTRIBUTE: + case SCHEMA_ELEMENT: + case SELF: + case SOME: + case STABLE: + case STRICT: + case STRIP: + case TEXT: + case THEN: + case TO: + case TREAT: + case TYPESWITCH: + case UNION: + case UNORDERED: + case VALIDATE: + case VARIABLE: + case VERSION: + case WHERE: + case XQUERY: + case CATCH: + case CONTEXT: + case COUNT: + case DECIMAL_FORMAT: + case DECIMAL_SEPARATOR: + case DIGIT: + case END: + case GROUP: + case GROUPING_SEPARATOR: + case INFINITY: + case MINUS_SIGN: + case NAMESPACE_NODE: + case NAN: + case NEXT: + case ONLY: + case OUTER: + case PATTERN_SEPARATOR: + case PERCENT: + case PER_MILLE: + case PREVIOUS: + case SLIDING: + case START: + case TRY: + case TUMBLING: + case WHEN: + case WINDOW: + case ZERO_DIGIT: + case AFTER: + case BEFORE: + case COPY: + case DELETE: + case FIRST: + case INSERT: + case INTO: + case LAST: + case MODIFY: + case NODES: + case RENAME: + case REPLACE: + case REVALIDATION: + case SKIP: + case UPDATING: + case VALUE: + case WITH: + case BLOCK: + case CONSTANT: + case EXIT: + case SEQUENTIAL: + case SET: + case SIMPLE: + case WHILE: + case EVAL: + case USING: + case APPEND_ONLY: + case AUTOMATICALLY: + case CHECK: + case COLLECTION: + case CONSTRAINT: + case CONST: + case EQUALITY: + case FOREACH: + case FOREIGN: + case FROM: + case INDEX: + case INTEGRITY: + case KEY: + case MAINTAINED: + case MUTABLE: + case NON: + case ON: + case QUEUE: + case RANGE: + case READ_ONLY: + case UNIQUE: + case BINARY: + case PRIVATE: + case AMP_ER: + case APOS_ER: + case QUOT_ER: + case STAR: + case ATTR_SIGN: + case L_NCName: + case EXPLICITLY: + alt113=2; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 0, this.input); + + throw nvae; + } + + switch (alt113) { + case 1 : + // XQueryParser.g:676:12: p_ReverseStep + this.pushFollow(XQueryParser.FOLLOW_p_ReverseStep_in_p_AxisStep6015); + p_ReverseStep270=this.p_ReverseStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReverseStep270.getTree()); + + + break; + case 2 : + // XQueryParser.g:676:28: p_ForwardStep + this.pushFollow(XQueryParser.FOLLOW_p_ForwardStep_in_p_AxisStep6019); + p_ForwardStep271=this.p_ForwardStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForwardStep271.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_PredicateList_in_p_AxisStep6022); + p_PredicateList272=this.p_PredicateList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PredicateList272.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForwardStep_return: (function() { + XQueryParser.p_ForwardStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForwardStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:680:1: p_ForwardStep : ( ( p_ForwardAxis p_NodeTest ) | p_AbbrevForwardStep ); + // $ANTLR start "p_ForwardStep" + p_ForwardStep: function() { + var retval = new XQueryParser.p_ForwardStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ForwardAxis273 = null; + var p_NodeTest274 = null; + var p_AbbrevForwardStep275 = null; + + + try { + // XQueryParser.g:681:9: ( ( p_ForwardAxis p_NodeTest ) | p_AbbrevForwardStep ) + var alt114=2; + alt114 = this.dfa114.predict(this.input); + switch (alt114) { + case 1 : + // XQueryParser.g:681:11: ( p_ForwardAxis p_NodeTest ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:681:11: ( p_ForwardAxis p_NodeTest ) + // XQueryParser.g:681:12: p_ForwardAxis p_NodeTest + this.pushFollow(XQueryParser.FOLLOW_p_ForwardAxis_in_p_ForwardStep6049); + p_ForwardAxis273=this.p_ForwardAxis(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForwardAxis273.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_ForwardStep6051); + p_NodeTest274=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest274.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:681:40: p_AbbrevForwardStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AbbrevForwardStep_in_p_ForwardStep6056); + p_AbbrevForwardStep275=this.p_AbbrevForwardStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AbbrevForwardStep275.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForwardAxis_return: (function() { + XQueryParser.p_ForwardAxis_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForwardAxis_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:685:1: p_ForwardAxis : ( CHILD COLON_COLON | DESCENDANT COLON_COLON | ATTRIBUTE COLON_COLON | SELF COLON_COLON | DESCENDANT_OR_SELF COLON_COLON | FOLLOWING_SIBLING COLON_COLON | FOLLOWING COLON_COLON ); + // $ANTLR start "p_ForwardAxis" + p_ForwardAxis: function() { + var retval = new XQueryParser.p_ForwardAxis_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var CHILD276 = null; + var COLON_COLON277 = null; + var DESCENDANT278 = null; + var COLON_COLON279 = null; + var ATTRIBUTE280 = null; + var COLON_COLON281 = null; + var SELF282 = null; + var COLON_COLON283 = null; + var DESCENDANT_OR_SELF284 = null; + var COLON_COLON285 = null; + var FOLLOWING_SIBLING286 = null; + var COLON_COLON287 = null; + var FOLLOWING288 = null; + var COLON_COLON289 = null; + + var CHILD276_tree=null; + var COLON_COLON277_tree=null; + var DESCENDANT278_tree=null; + var COLON_COLON279_tree=null; + var ATTRIBUTE280_tree=null; + var COLON_COLON281_tree=null; + var SELF282_tree=null; + var COLON_COLON283_tree=null; + var DESCENDANT_OR_SELF284_tree=null; + var COLON_COLON285_tree=null; + var FOLLOWING_SIBLING286_tree=null; + var COLON_COLON287_tree=null; + var FOLLOWING288_tree=null; + var COLON_COLON289_tree=null; + + try { + // XQueryParser.g:686:9: ( CHILD COLON_COLON | DESCENDANT COLON_COLON | ATTRIBUTE COLON_COLON | SELF COLON_COLON | DESCENDANT_OR_SELF COLON_COLON | FOLLOWING_SIBLING COLON_COLON | FOLLOWING COLON_COLON ) + var alt115=7; + switch ( this.input.LA(1) ) { + case CHILD: + alt115=1; + break; + case DESCENDANT: + alt115=2; + break; + case ATTRIBUTE: + alt115=3; + break; + case SELF: + alt115=4; + break; + case DESCENDANT_OR_SELF: + alt115=5; + break; + case FOLLOWING_SIBLING: + alt115=6; + break; + case FOLLOWING: + alt115=7; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 115, 0, this.input); + + throw nvae; + } + + switch (alt115) { + case 1 : + // XQueryParser.g:686:11: CHILD COLON_COLON + root_0 = this.adaptor.nil(); + + CHILD276=this.match(this.input,CHILD,XQueryParser.FOLLOW_CHILD_in_p_ForwardAxis6082); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + CHILD276_tree = this.adaptor.create(CHILD276); + this.adaptor.addChild(root_0, CHILD276_tree); + } + COLON_COLON277=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6084); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON277_tree = this.adaptor.create(COLON_COLON277); + this.adaptor.addChild(root_0, COLON_COLON277_tree); + } + + + break; + case 2 : + // XQueryParser.g:687:11: DESCENDANT COLON_COLON + root_0 = this.adaptor.nil(); + + DESCENDANT278=this.match(this.input,DESCENDANT,XQueryParser.FOLLOW_DESCENDANT_in_p_ForwardAxis6096); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DESCENDANT278_tree = this.adaptor.create(DESCENDANT278); + this.adaptor.addChild(root_0, DESCENDANT278_tree); + } + COLON_COLON279=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6098); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON279_tree = this.adaptor.create(COLON_COLON279); + this.adaptor.addChild(root_0, COLON_COLON279_tree); + } + + + break; + case 3 : + // XQueryParser.g:688:11: ATTRIBUTE COLON_COLON + root_0 = this.adaptor.nil(); + + ATTRIBUTE280=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_ForwardAxis6110); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTRIBUTE280_tree = this.adaptor.create(ATTRIBUTE280); + this.adaptor.addChild(root_0, ATTRIBUTE280_tree); + } + COLON_COLON281=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6112); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON281_tree = this.adaptor.create(COLON_COLON281); + this.adaptor.addChild(root_0, COLON_COLON281_tree); + } + + + break; + case 4 : + // XQueryParser.g:689:11: SELF COLON_COLON + root_0 = this.adaptor.nil(); + + SELF282=this.match(this.input,SELF,XQueryParser.FOLLOW_SELF_in_p_ForwardAxis6124); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SELF282_tree = this.adaptor.create(SELF282); + this.adaptor.addChild(root_0, SELF282_tree); + } + COLON_COLON283=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6126); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON283_tree = this.adaptor.create(COLON_COLON283); + this.adaptor.addChild(root_0, COLON_COLON283_tree); + } + + + break; + case 5 : + // XQueryParser.g:690:11: DESCENDANT_OR_SELF COLON_COLON + root_0 = this.adaptor.nil(); + + DESCENDANT_OR_SELF284=this.match(this.input,DESCENDANT_OR_SELF,XQueryParser.FOLLOW_DESCENDANT_OR_SELF_in_p_ForwardAxis6138); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DESCENDANT_OR_SELF284_tree = this.adaptor.create(DESCENDANT_OR_SELF284); + this.adaptor.addChild(root_0, DESCENDANT_OR_SELF284_tree); + } + COLON_COLON285=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6140); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON285_tree = this.adaptor.create(COLON_COLON285); + this.adaptor.addChild(root_0, COLON_COLON285_tree); + } + + + break; + case 6 : + // XQueryParser.g:691:11: FOLLOWING_SIBLING COLON_COLON + root_0 = this.adaptor.nil(); + + FOLLOWING_SIBLING286=this.match(this.input,FOLLOWING_SIBLING,XQueryParser.FOLLOW_FOLLOWING_SIBLING_in_p_ForwardAxis6152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + FOLLOWING_SIBLING286_tree = this.adaptor.create(FOLLOWING_SIBLING286); + this.adaptor.addChild(root_0, FOLLOWING_SIBLING286_tree); + } + COLON_COLON287=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6154); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON287_tree = this.adaptor.create(COLON_COLON287); + this.adaptor.addChild(root_0, COLON_COLON287_tree); + } + + + break; + case 7 : + // XQueryParser.g:692:11: FOLLOWING COLON_COLON + root_0 = this.adaptor.nil(); + + FOLLOWING288=this.match(this.input,FOLLOWING,XQueryParser.FOLLOW_FOLLOWING_in_p_ForwardAxis6166); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + FOLLOWING288_tree = this.adaptor.create(FOLLOWING288); + this.adaptor.addChild(root_0, FOLLOWING288_tree); + } + COLON_COLON289=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6168); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON289_tree = this.adaptor.create(COLON_COLON289); + this.adaptor.addChild(root_0, COLON_COLON289_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AbbrevForwardStep_return: (function() { + XQueryParser.p_AbbrevForwardStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AbbrevForwardStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:696:1: p_AbbrevForwardStep : ( ATTR_SIGN )? p_NodeTest ; + // $ANTLR start "p_AbbrevForwardStep" + p_AbbrevForwardStep: function() { + var retval = new XQueryParser.p_AbbrevForwardStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ATTR_SIGN290 = null; + var p_NodeTest291 = null; + + var ATTR_SIGN290_tree=null; + + try { + // XQueryParser.g:697:9: ( ( ATTR_SIGN )? p_NodeTest ) + // XQueryParser.g:697:11: ( ATTR_SIGN )? p_NodeTest + root_0 = this.adaptor.nil(); + + // XQueryParser.g:697:11: ( ATTR_SIGN )? + var alt116=2; + var LA116_0 = this.input.LA(1); + + if ( (LA116_0==ATTR_SIGN) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // XQueryParser.g:697:11: ATTR_SIGN + ATTR_SIGN290=this.match(this.input,ATTR_SIGN,XQueryParser.FOLLOW_ATTR_SIGN_in_p_AbbrevForwardStep6194); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTR_SIGN290_tree = this.adaptor.create(ATTR_SIGN290); + this.adaptor.addChild(root_0, ATTR_SIGN290_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_AbbrevForwardStep6197); + p_NodeTest291=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest291.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReverseStep_return: (function() { + XQueryParser.p_ReverseStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReverseStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:701:1: p_ReverseStep : ( ( p_ReverseAxis p_NodeTest ) | p_AbbrevReverseStep ); + // $ANTLR start "p_ReverseStep" + p_ReverseStep: function() { + var retval = new XQueryParser.p_ReverseStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ReverseAxis292 = null; + var p_NodeTest293 = null; + var p_AbbrevReverseStep294 = null; + + + try { + // XQueryParser.g:702:9: ( ( p_ReverseAxis p_NodeTest ) | p_AbbrevReverseStep ) + var alt117=2; + var LA117_0 = this.input.LA(1); + + if ( ((LA117_0>=ANCESTOR && LA117_0<=ANCESTOR_OR_SELF)||(LA117_0>=PARENT && LA117_0<=PRECEDING_SIBLING)) ) { + alt117=1; + } + else if ( (LA117_0==DOT_DOT) ) { + alt117=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 117, 0, this.input); + + throw nvae; + } + switch (alt117) { + case 1 : + // XQueryParser.g:702:11: ( p_ReverseAxis p_NodeTest ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:702:11: ( p_ReverseAxis p_NodeTest ) + // XQueryParser.g:702:12: p_ReverseAxis p_NodeTest + this.pushFollow(XQueryParser.FOLLOW_p_ReverseAxis_in_p_ReverseStep6224); + p_ReverseAxis292=this.p_ReverseAxis(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReverseAxis292.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_ReverseStep6226); + p_NodeTest293=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest293.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:702:40: p_AbbrevReverseStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AbbrevReverseStep_in_p_ReverseStep6231); + p_AbbrevReverseStep294=this.p_AbbrevReverseStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AbbrevReverseStep294.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReverseAxis_return: (function() { + XQueryParser.p_ReverseAxis_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReverseAxis_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:706:1: p_ReverseAxis : ( PARENT COLON_COLON | ANCESTOR COLON_COLON | PRECEDING_SIBLING COLON_COLON | PRECEDING COLON_COLON | ANCESTOR_OR_SELF COLON_COLON ); + // $ANTLR start "p_ReverseAxis" + p_ReverseAxis: function() { + var retval = new XQueryParser.p_ReverseAxis_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PARENT295 = null; + var COLON_COLON296 = null; + var ANCESTOR297 = null; + var COLON_COLON298 = null; + var PRECEDING_SIBLING299 = null; + var COLON_COLON300 = null; + var PRECEDING301 = null; + var COLON_COLON302 = null; + var ANCESTOR_OR_SELF303 = null; + var COLON_COLON304 = null; + + var PARENT295_tree=null; + var COLON_COLON296_tree=null; + var ANCESTOR297_tree=null; + var COLON_COLON298_tree=null; + var PRECEDING_SIBLING299_tree=null; + var COLON_COLON300_tree=null; + var PRECEDING301_tree=null; + var COLON_COLON302_tree=null; + var ANCESTOR_OR_SELF303_tree=null; + var COLON_COLON304_tree=null; + + try { + // XQueryParser.g:707:9: ( PARENT COLON_COLON | ANCESTOR COLON_COLON | PRECEDING_SIBLING COLON_COLON | PRECEDING COLON_COLON | ANCESTOR_OR_SELF COLON_COLON ) + var alt118=5; + switch ( this.input.LA(1) ) { + case PARENT: + alt118=1; + break; + case ANCESTOR: + alt118=2; + break; + case PRECEDING_SIBLING: + alt118=3; + break; + case PRECEDING: + alt118=4; + break; + case ANCESTOR_OR_SELF: + alt118=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 118, 0, this.input); + + throw nvae; + } + + switch (alt118) { + case 1 : + // XQueryParser.g:707:11: PARENT COLON_COLON + root_0 = this.adaptor.nil(); + + PARENT295=this.match(this.input,PARENT,XQueryParser.FOLLOW_PARENT_in_p_ReverseAxis6257); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PARENT295_tree = this.adaptor.create(PARENT295); + this.adaptor.addChild(root_0, PARENT295_tree); + } + COLON_COLON296=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6259); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON296_tree = this.adaptor.create(COLON_COLON296); + this.adaptor.addChild(root_0, COLON_COLON296_tree); + } + + + break; + case 2 : + // XQueryParser.g:708:11: ANCESTOR COLON_COLON + root_0 = this.adaptor.nil(); + + ANCESTOR297=this.match(this.input,ANCESTOR,XQueryParser.FOLLOW_ANCESTOR_in_p_ReverseAxis6271); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ANCESTOR297_tree = this.adaptor.create(ANCESTOR297); + this.adaptor.addChild(root_0, ANCESTOR297_tree); + } + COLON_COLON298=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6273); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON298_tree = this.adaptor.create(COLON_COLON298); + this.adaptor.addChild(root_0, COLON_COLON298_tree); + } + + + break; + case 3 : + // XQueryParser.g:709:11: PRECEDING_SIBLING COLON_COLON + root_0 = this.adaptor.nil(); + + PRECEDING_SIBLING299=this.match(this.input,PRECEDING_SIBLING,XQueryParser.FOLLOW_PRECEDING_SIBLING_in_p_ReverseAxis6285); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PRECEDING_SIBLING299_tree = this.adaptor.create(PRECEDING_SIBLING299); + this.adaptor.addChild(root_0, PRECEDING_SIBLING299_tree); + } + COLON_COLON300=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6287); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON300_tree = this.adaptor.create(COLON_COLON300); + this.adaptor.addChild(root_0, COLON_COLON300_tree); + } + + + break; + case 4 : + // XQueryParser.g:710:11: PRECEDING COLON_COLON + root_0 = this.adaptor.nil(); + + PRECEDING301=this.match(this.input,PRECEDING,XQueryParser.FOLLOW_PRECEDING_in_p_ReverseAxis6299); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PRECEDING301_tree = this.adaptor.create(PRECEDING301); + this.adaptor.addChild(root_0, PRECEDING301_tree); + } + COLON_COLON302=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6301); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON302_tree = this.adaptor.create(COLON_COLON302); + this.adaptor.addChild(root_0, COLON_COLON302_tree); + } + + + break; + case 5 : + // XQueryParser.g:711:11: ANCESTOR_OR_SELF COLON_COLON + root_0 = this.adaptor.nil(); + + ANCESTOR_OR_SELF303=this.match(this.input,ANCESTOR_OR_SELF,XQueryParser.FOLLOW_ANCESTOR_OR_SELF_in_p_ReverseAxis6313); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ANCESTOR_OR_SELF303_tree = this.adaptor.create(ANCESTOR_OR_SELF303); + this.adaptor.addChild(root_0, ANCESTOR_OR_SELF303_tree); + } + COLON_COLON304=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6315); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON304_tree = this.adaptor.create(COLON_COLON304); + this.adaptor.addChild(root_0, COLON_COLON304_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AbbrevReverseStep_return: (function() { + XQueryParser.p_AbbrevReverseStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AbbrevReverseStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:715:1: p_AbbrevReverseStep : DOT_DOT ; + // $ANTLR start "p_AbbrevReverseStep" + p_AbbrevReverseStep: function() { + var retval = new XQueryParser.p_AbbrevReverseStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOT_DOT305 = null; + + var DOT_DOT305_tree=null; + + try { + // XQueryParser.g:716:9: ( DOT_DOT ) + // XQueryParser.g:716:11: DOT_DOT + root_0 = this.adaptor.nil(); + + DOT_DOT305=this.match(this.input,DOT_DOT,XQueryParser.FOLLOW_DOT_DOT_in_p_AbbrevReverseStep6341); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOT_DOT305_tree = this.adaptor.create(DOT_DOT305); + this.adaptor.addChild(root_0, DOT_DOT305_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeTest_return: (function() { + XQueryParser.p_NodeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:720:1: p_NodeTest : ( p_KindTest | p_NameTest ); + // $ANTLR start "p_NodeTest" + p_NodeTest: function() { + var retval = new XQueryParser.p_NodeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_KindTest306 = null; + var p_NameTest307 = null; + + + try { + // XQueryParser.g:721:9: ( p_KindTest | p_NameTest ) + var alt119=2; + alt119 = this.dfa119.predict(this.input); + switch (alt119) { + case 1 : + // XQueryParser.g:721:11: p_KindTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_NodeTest6367); + p_KindTest306=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_KindTest306.getTree()); + + + break; + case 2 : + // XQueryParser.g:721:24: p_NameTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_NodeTest6371); + p_NameTest307=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest307.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NameTest_return: (function() { + XQueryParser.p_NameTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NameTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:725:1: p_NameTest : ( p_QName | p_Wildcard ); + // $ANTLR start "p_NameTest" + p_NameTest: function() { + var retval = new XQueryParser.p_NameTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName308 = null; + var p_Wildcard309 = null; + + + try { + // XQueryParser.g:726:9: ( p_QName | p_Wildcard ) + var alt120=2; + var LA120_0 = this.input.LA(1); + + if ( ((LA120_0>=ANCESTOR && LA120_0<=EXIT)||(LA120_0>=SEQUENTIAL && LA120_0<=MAINTAINED)||(LA120_0>=MUTABLE && LA120_0<=QUOT_ER)||LA120_0==L_NCName||LA120_0==EXPLICITLY) ) { + var LA120_1 = this.input.LA(2); + + if ( (LA120_1==COLON) ) { + var LA120_3 = this.input.LA(3); + + if ( (LA120_3==STAR) ) { + alt120=2; + } + else if ( ((LA120_3>=ANCESTOR && LA120_3<=EXIT)||(LA120_3>=SEQUENTIAL && LA120_3<=MAINTAINED)||(LA120_3>=MUTABLE && LA120_3<=QUOT_ER)||LA120_3==L_NCName||LA120_3==EXPLICITLY) ) { + alt120=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 3, this.input); + + throw nvae; + } + } + else if ( (LA120_1==EOF||(LA120_1>=AND && LA120_1<=ASCENDING)||(LA120_1>=BY && LA120_1<=CASTABLE)||LA120_1==COLLATION||LA120_1==DEFAULT||(LA120_1>=DESCENDING && LA120_1<=DIV)||(LA120_1>=ELSE && LA120_1<=EMPTY)||LA120_1==EQ||LA120_1==EXCEPT||LA120_1==FOR||LA120_1==GE||(LA120_1>=GT && LA120_1<=IDIV)||(LA120_1>=INSTANCE && LA120_1<=IS)||LA120_1==LE||(LA120_1>=LT && LA120_1<=MOD)||LA120_1==NE||(LA120_1>=OR && LA120_1<=ORDER)||(LA120_1>=RETURN && LA120_1<=SATISFIES)||LA120_1==STABLE||(LA120_1>=TO && LA120_1<=TREAT)||LA120_1==UNION||LA120_1==WHERE||LA120_1==COUNT||(LA120_1>=END && LA120_1<=GROUP)||LA120_1==ONLY||LA120_1==START||(LA120_1>=AFTER && LA120_1<=BEFORE)||LA120_1==INTO||LA120_1==MODIFY||LA120_1==WITH||(LA120_1>=LPAREN && LA120_1<=RPAREN)||(LA120_1>=LBRACKET && LA120_1<=EQUAL)||LA120_1==NOTEQUAL||LA120_1==COMMA||(LA120_1>=STAR && LA120_1<=SLASH_SLASH)||(LA120_1>=SEMICOLON && LA120_1<=VBAR)||LA120_1==LETDOLLAR) ) { + alt120=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 1, this.input); + + throw nvae; + } + } + else if ( (LA120_0==STAR) ) { + alt120=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 0, this.input); + + throw nvae; + } + switch (alt120) { + case 1 : + // XQueryParser.g:726:11: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_NameTest6397); + p_QName308=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName308.getTree()); + + + break; + case 2 : + // XQueryParser.g:726:21: p_Wildcard + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Wildcard_in_p_NameTest6401); + p_Wildcard309=this.p_Wildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Wildcard309.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Wildcard_return: (function() { + XQueryParser.p_Wildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Wildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:730:1: p_Wildcard : ( STAR ( COLON p_NCName )? | ( p_NCName COLON STAR ) ); + // $ANTLR start "p_Wildcard" + p_Wildcard: function() { + var retval = new XQueryParser.p_Wildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR310 = null; + var COLON311 = null; + var COLON314 = null; + var STAR315 = null; + var p_NCName312 = null; + var p_NCName313 = null; + + var STAR310_tree=null; + var COLON311_tree=null; + var COLON314_tree=null; + var STAR315_tree=null; + + try { + // XQueryParser.g:731:9: ( STAR ( COLON p_NCName )? | ( p_NCName COLON STAR ) ) + var alt122=2; + var LA122_0 = this.input.LA(1); + + if ( (LA122_0==STAR) ) { + alt122=1; + } + else if ( ((LA122_0>=ANCESTOR && LA122_0<=EXIT)||(LA122_0>=SEQUENTIAL && LA122_0<=MAINTAINED)||(LA122_0>=MUTABLE && LA122_0<=QUOT_ER)||LA122_0==L_NCName||LA122_0==EXPLICITLY) ) { + alt122=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 122, 0, this.input); + + throw nvae; + } + switch (alt122) { + case 1 : + // XQueryParser.g:731:11: STAR ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + STAR310=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_Wildcard6427); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR310_tree = this.adaptor.create(STAR310); + this.adaptor.addChild(root_0, STAR310_tree); + } + // XQueryParser.g:731:16: ( COLON p_NCName )? + var alt121=2; + var LA121_0 = this.input.LA(1); + + if ( (LA121_0==COLON) ) { + alt121=1; + } + switch (alt121) { + case 1 : + // XQueryParser.g:731:17: COLON p_NCName + COLON311=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_Wildcard6430); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON311_tree = this.adaptor.create(COLON311); + this.adaptor.addChild(root_0, COLON311_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_Wildcard6432); + p_NCName312=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName312.getTree()); + + + break; + + } + + + + break; + case 2 : + // XQueryParser.g:731:36: ( p_NCName COLON STAR ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:731:36: ( p_NCName COLON STAR ) + // XQueryParser.g:731:37: p_NCName COLON STAR + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_Wildcard6439); + p_NCName313=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName313.getTree()); + COLON314=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_Wildcard6441); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON314_tree = this.adaptor.create(COLON314); + this.adaptor.addChild(root_0, COLON314_tree); + } + STAR315=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_Wildcard6443); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR315_tree = this.adaptor.create(STAR315); + this.adaptor.addChild(root_0, STAR315_tree); + } + + + + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FilterExpr_return: (function() { + XQueryParser.p_FilterExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FilterExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:736:1: p_FilterExpr : p_PrimaryExpr p_PredicateList ; + // $ANTLR start "p_FilterExpr" + p_FilterExpr: function() { + var retval = new XQueryParser.p_FilterExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PrimaryExpr316 = null; + var p_PredicateList317 = null; + + + try { + // XQueryParser.g:737:9: ( p_PrimaryExpr p_PredicateList ) + // XQueryParser.g:737:13: p_PrimaryExpr p_PredicateList + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PrimaryExpr_in_p_FilterExpr6479); + p_PrimaryExpr316=this.p_PrimaryExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PrimaryExpr316.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_PredicateList_in_p_FilterExpr6481); + p_PredicateList317=this.p_PredicateList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PredicateList317.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PredicateList_return: (function() { + XQueryParser.p_PredicateList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PredicateList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:741:1: p_PredicateList : ( p_Predicate )* ; + // $ANTLR start "p_PredicateList" + p_PredicateList: function() { + var retval = new XQueryParser.p_PredicateList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Predicate318 = null; + + + try { + // XQueryParser.g:742:9: ( ( p_Predicate )* ) + // XQueryParser.g:742:13: ( p_Predicate )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:742:13: ( p_Predicate )* + loop123: + do { + var alt123=2; + var LA123_0 = this.input.LA(1); + + if ( (LA123_0==LSQUARE) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // XQueryParser.g:742:13: p_Predicate + this.pushFollow(XQueryParser.FOLLOW_p_Predicate_in_p_PredicateList6509); + p_Predicate318=this.p_Predicate(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Predicate318.getTree()); + + + break; + + default : + break loop123; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Predicate_return: (function() { + XQueryParser.p_Predicate_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Predicate_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:746:1: p_Predicate : LSQUARE pm_Expr RSQUARE ; + // $ANTLR start "p_Predicate" + p_Predicate: function() { + var retval = new XQueryParser.p_Predicate_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LSQUARE319 = null; + var RSQUARE321 = null; + var pm_Expr320 = null; + + var LSQUARE319_tree=null; + var RSQUARE321_tree=null; + + try { + // XQueryParser.g:747:9: ( LSQUARE pm_Expr RSQUARE ) + // XQueryParser.g:747:13: LSQUARE pm_Expr RSQUARE + root_0 = this.adaptor.nil(); + + LSQUARE319=this.match(this.input,LSQUARE,XQueryParser.FOLLOW_LSQUARE_in_p_Predicate6538); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LSQUARE319_tree = this.adaptor.create(LSQUARE319); + this.adaptor.addChild(root_0, LSQUARE319_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_Predicate6540); + pm_Expr320=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr320.getTree()); + RSQUARE321=this.match(this.input,RSQUARE,XQueryParser.FOLLOW_RSQUARE_in_p_Predicate6542); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RSQUARE321_tree = this.adaptor.create(RSQUARE321); + this.adaptor.addChild(root_0, RSQUARE321_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PrimaryExpr_return: (function() { + XQueryParser.p_PrimaryExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PrimaryExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:751:1: p_PrimaryExpr : ( p_Literal | p_VarRef | p_ParenthesizedExpr | p_ContextItemExpr | p_FunctionCall | p_OrderedExpr | p_UnorderedExpr | p_Constructor ); + // $ANTLR start "p_PrimaryExpr" + p_PrimaryExpr: function() { + var retval = new XQueryParser.p_PrimaryExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Literal322 = null; + var p_VarRef323 = null; + var p_ParenthesizedExpr324 = null; + var p_ContextItemExpr325 = null; + var p_FunctionCall326 = null; + var p_OrderedExpr327 = null; + var p_UnorderedExpr328 = null; + var p_Constructor329 = null; + + + try { + // XQueryParser.g:752:9: ( p_Literal | p_VarRef | p_ParenthesizedExpr | p_ContextItemExpr | p_FunctionCall | p_OrderedExpr | p_UnorderedExpr | p_Constructor ) + var alt124=8; + alt124 = this.dfa124.predict(this.input); + switch (alt124) { + case 1 : + // XQueryParser.g:752:13: p_Literal + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Literal_in_p_PrimaryExpr6570); + p_Literal322=this.p_Literal(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Literal322.getTree()); + + + break; + case 2 : + // XQueryParser.g:753:11: p_VarRef + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_VarRef_in_p_PrimaryExpr6582); + p_VarRef323=this.p_VarRef(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarRef323.getTree()); + + + break; + case 3 : + // XQueryParser.g:754:11: p_ParenthesizedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ParenthesizedExpr_in_p_PrimaryExpr6594); + p_ParenthesizedExpr324=this.p_ParenthesizedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ParenthesizedExpr324.getTree()); + + + break; + case 4 : + // XQueryParser.g:755:11: p_ContextItemExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ContextItemExpr_in_p_PrimaryExpr6606); + p_ContextItemExpr325=this.p_ContextItemExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ContextItemExpr325.getTree()); + + + break; + case 5 : + // XQueryParser.g:756:11: p_FunctionCall + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FunctionCall_in_p_PrimaryExpr6618); + p_FunctionCall326=this.p_FunctionCall(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FunctionCall326.getTree()); + + + break; + case 6 : + // XQueryParser.g:757:11: p_OrderedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderedExpr_in_p_PrimaryExpr6630); + p_OrderedExpr327=this.p_OrderedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderedExpr327.getTree()); + + + break; + case 7 : + // XQueryParser.g:758:11: p_UnorderedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnorderedExpr_in_p_PrimaryExpr6642); + p_UnorderedExpr328=this.p_UnorderedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnorderedExpr328.getTree()); + + + break; + case 8 : + // XQueryParser.g:759:11: p_Constructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Constructor_in_p_PrimaryExpr6654); + p_Constructor329=this.p_Constructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Constructor329.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Literal_return: (function() { + XQueryParser.p_Literal_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Literal_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:763:1: p_Literal : ( p_NumericLiteral | p_StringLiteral ); + // $ANTLR start "p_Literal" + p_Literal: function() { + var retval = new XQueryParser.p_Literal_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_NumericLiteral330 = null; + var p_StringLiteral331 = null; + + + try { + // XQueryParser.g:764:9: ( p_NumericLiteral | p_StringLiteral ) + var alt125=2; + var LA125_0 = this.input.LA(1); + + if ( ((LA125_0>=L_IntegerLiteral && LA125_0<=L_DoubleLiteral)) ) { + alt125=1; + } + else if ( ((LA125_0>=APOS && LA125_0<=QUOT)) ) { + alt125=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 125, 0, this.input); + + throw nvae; + } + switch (alt125) { + case 1 : + // XQueryParser.g:764:13: p_NumericLiteral + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NumericLiteral_in_p_Literal6682); + p_NumericLiteral330=this.p_NumericLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NumericLiteral330.getTree()); + + + break; + case 2 : + // XQueryParser.g:764:32: p_StringLiteral + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_Literal6686); + p_StringLiteral331=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral331.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NumericLiteral_return: (function() { + XQueryParser.p_NumericLiteral_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NumericLiteral_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:768:1: p_NumericLiteral : ( L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral ); + // $ANTLR start "p_NumericLiteral" + p_NumericLiteral: function() { + var retval = new XQueryParser.p_NumericLiteral_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set332 = null; + + var set332_tree=null; + + try { + // XQueryParser.g:769:9: ( L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set332=this.input.LT(1); + if ( (this.input.LA(1)>=L_IntegerLiteral && this.input.LA(1)<=L_DoubleLiteral) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set332)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VarRef_return: (function() { + XQueryParser.p_VarRef_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VarRef_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:773:1: p_VarRef : DOLLAR p_VarName ; + // $ANTLR start "p_VarRef" + p_VarRef: function() { + var retval = new XQueryParser.p_VarRef_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR333 = null; + var p_VarName334 = null; + + var DOLLAR333_tree=null; + + try { + // XQueryParser.g:774:9: ( DOLLAR p_VarName ) + // XQueryParser.g:774:13: DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + DOLLAR333=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_VarRef6758); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR333_tree = this.adaptor.create(DOLLAR333); + this.adaptor.addChild(root_0, DOLLAR333_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_VarRef6760); + p_VarName334=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName334.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VarName_return: (function() { + XQueryParser.p_VarName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VarName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:778:1: p_VarName : p_QName ; + // $ANTLR start "p_VarName" + p_VarName: function() { + var retval = new XQueryParser.p_VarName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName335 = null; + + + try { + // XQueryParser.g:779:9: ( p_QName ) + // XQueryParser.g:779:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_VarName6788); + p_QName335=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName335.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ParenthesizedExpr_return: (function() { + XQueryParser.p_ParenthesizedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ParenthesizedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:783:1: p_ParenthesizedExpr : LPAREN ( pm_Expr )? RPAREN ; + // $ANTLR start "p_ParenthesizedExpr" + p_ParenthesizedExpr: function() { + var retval = new XQueryParser.p_ParenthesizedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN336 = null; + var RPAREN338 = null; + var pm_Expr337 = null; + + var LPAREN336_tree=null; + var RPAREN338_tree=null; + + try { + // XQueryParser.g:784:9: ( LPAREN ( pm_Expr )? RPAREN ) + // XQueryParser.g:784:13: LPAREN ( pm_Expr )? RPAREN + root_0 = this.adaptor.nil(); + + LPAREN336=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ParenthesizedExpr6816); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN336_tree = this.adaptor.create(LPAREN336); + this.adaptor.addChild(root_0, LPAREN336_tree); + } + // XQueryParser.g:784:20: ( pm_Expr )? + var alt126=2; + var LA126_0 = this.input.LA(1); + + if ( ((LA126_0>=ANCESTOR && LA126_0<=EXIT)||(LA126_0>=SEQUENTIAL && LA126_0<=MAINTAINED)||(LA126_0>=MUTABLE && LA126_0<=LPAREN)||LA126_0==DOLLAR||(LA126_0>=STAR && LA126_0<=SMALLER)||(LA126_0>=SLASH && LA126_0<=DOT_DOT)||LA126_0==ATTR_SIGN||(LA126_0>=APOS && LA126_0<=QUOT)||LA126_0==L_NCName||(LA126_0>=L_Pragma && LA126_0<=L_DoubleLiteral)||(LA126_0>=LETDOLLAR && LA126_0<=EXPLICITLY)) ) { + alt126=1; + } + switch (alt126) { + case 1 : + // XQueryParser.g:784:20: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ParenthesizedExpr6818); + pm_Expr337=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr337.getTree()); + + + break; + + } + + RPAREN338=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ParenthesizedExpr6821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN338_tree = this.adaptor.create(RPAREN338); + this.adaptor.addChild(root_0, RPAREN338_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ContextItemExpr_return: (function() { + XQueryParser.p_ContextItemExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ContextItemExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:788:1: p_ContextItemExpr : DOT ; + // $ANTLR start "p_ContextItemExpr" + p_ContextItemExpr: function() { + var retval = new XQueryParser.p_ContextItemExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOT339 = null; + + var DOT339_tree=null; + + try { + // XQueryParser.g:789:9: ( DOT ) + // XQueryParser.g:789:13: DOT + root_0 = this.adaptor.nil(); + + DOT339=this.match(this.input,DOT,XQueryParser.FOLLOW_DOT_in_p_ContextItemExpr6849); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOT339_tree = this.adaptor.create(DOT339); + this.adaptor.addChild(root_0, DOT339_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderedExpr_return: (function() { + XQueryParser.p_OrderedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:793:1: p_OrderedExpr : k= ORDERED LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_OrderedExpr" + p_OrderedExpr: function() { + var retval = new XQueryParser.p_OrderedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET340 = null; + var RBRACKET342 = null; + var pm_Expr341 = null; + + var k_tree=null; + var LBRACKET340_tree=null; + var RBRACKET342_tree=null; + + try { + // XQueryParser.g:794:9: (k= ORDERED LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:794:13: k= ORDERED LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_p_OrderedExpr6879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET340=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_OrderedExpr6882); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET340_tree = this.adaptor.create(LBRACKET340); + this.adaptor.addChild(root_0, LBRACKET340_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_OrderedExpr6884); + pm_Expr341=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr341.getTree()); + RBRACKET342=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_OrderedExpr6886); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET342_tree = this.adaptor.create(RBRACKET342); + this.adaptor.addChild(root_0, RBRACKET342_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnorderedExpr_return: (function() { + XQueryParser.p_UnorderedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnorderedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:798:1: p_UnorderedExpr : k= UNORDERED LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_UnorderedExpr" + p_UnorderedExpr: function() { + var retval = new XQueryParser.p_UnorderedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET343 = null; + var RBRACKET345 = null; + var pm_Expr344 = null; + + var k_tree=null; + var LBRACKET343_tree=null; + var RBRACKET345_tree=null; + + try { + // XQueryParser.g:799:9: (k= UNORDERED LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:799:13: k= UNORDERED LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_p_UnorderedExpr6916); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET343=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_UnorderedExpr6919); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET343_tree = this.adaptor.create(LBRACKET343); + this.adaptor.addChild(root_0, LBRACKET343_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_UnorderedExpr6921); + pm_Expr344=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr344.getTree()); + RBRACKET345=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_UnorderedExpr6923); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET345_tree = this.adaptor.create(RBRACKET345); + this.adaptor.addChild(root_0, RBRACKET345_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FunctionCall_return: (function() { + XQueryParser.p_FunctionCall_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FunctionCall_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:804:1: p_FunctionCall : p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN ; + // $ANTLR start "p_FunctionCall" + p_FunctionCall: function() { + var retval = new XQueryParser.p_FunctionCall_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN347 = null; + var COMMA349 = null; + var RPAREN351 = null; + var p_FQName346 = null; + var p_ExprSingle348 = null; + var p_ExprSingle350 = null; + + var LPAREN347_tree=null; + var COMMA349_tree=null; + var RPAREN351_tree=null; + + try { + // XQueryParser.g:805:9: ( p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN ) + // XQueryParser.g:805:13: p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FQName_in_p_FunctionCall6952); + p_FQName346=this.p_FQName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FQName346.getTree()); + LPAREN347=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_FunctionCall6954); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN347_tree = this.adaptor.create(LPAREN347); + this.adaptor.addChild(root_0, LPAREN347_tree); + } + // XQueryParser.g:805:29: ( p_ExprSingle ( COMMA p_ExprSingle )* )? + var alt128=2; + var LA128_0 = this.input.LA(1); + + if ( ((LA128_0>=ANCESTOR && LA128_0<=EXIT)||(LA128_0>=SEQUENTIAL && LA128_0<=MAINTAINED)||(LA128_0>=MUTABLE && LA128_0<=LPAREN)||LA128_0==DOLLAR||(LA128_0>=STAR && LA128_0<=SMALLER)||(LA128_0>=SLASH && LA128_0<=DOT_DOT)||LA128_0==ATTR_SIGN||(LA128_0>=APOS && LA128_0<=QUOT)||LA128_0==L_NCName||(LA128_0>=L_Pragma && LA128_0<=L_DoubleLiteral)||(LA128_0>=LETDOLLAR && LA128_0<=EXPLICITLY)) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // XQueryParser.g:805:30: p_ExprSingle ( COMMA p_ExprSingle )* + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_FunctionCall6957); + p_ExprSingle348=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle348.getTree()); + // XQueryParser.g:805:43: ( COMMA p_ExprSingle )* + loop127: + do { + var alt127=2; + var LA127_0 = this.input.LA(1); + + if ( (LA127_0==COMMA) ) { + alt127=1; + } + + + switch (alt127) { + case 1 : + // XQueryParser.g:805:44: COMMA p_ExprSingle + COMMA349=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_FunctionCall6960); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA349_tree = this.adaptor.create(COMMA349); + this.adaptor.addChild(root_0, COMMA349_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_FunctionCall6962); + p_ExprSingle350=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle350.getTree()); + + + break; + + default : + break loop127; + } + } while (true); + + + + break; + + } + + RPAREN351=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_FunctionCall6968); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN351_tree = this.adaptor.create(RPAREN351); + this.adaptor.addChild(root_0, RPAREN351_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Constructor_return: (function() { + XQueryParser.p_Constructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Constructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:809:1: p_Constructor : ( p_DirectConstructor | p_ComputedConstructor ); + // $ANTLR start "p_Constructor" + p_Constructor: function() { + var retval = new XQueryParser.p_Constructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_DirectConstructor352 = null; + var p_ComputedConstructor353 = null; + + + try { + // XQueryParser.g:810:9: ( p_DirectConstructor | p_ComputedConstructor ) + var alt129=2; + var LA129_0 = this.input.LA(1); + + if ( (LA129_0==SMALLER||(LA129_0>=L_DirCommentConstructor && LA129_0<=L_DirPIConstructor)) ) { + alt129=1; + } + else if ( (LA129_0==ATTRIBUTE||LA129_0==COMMENT||LA129_0==DOCUMENT||LA129_0==ELEMENT||LA129_0==NAMESPACE||LA129_0==PROCESSING_INSTRUCTION||LA129_0==TEXT) ) { + alt129=2; + } + else if ( (LA129_0==BINARY) && ((false))) { + alt129=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 129, 0, this.input); + + throw nvae; + } + switch (alt129) { + case 1 : + // XQueryParser.g:810:13: p_DirectConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirectConstructor_in_p_Constructor7000); + p_DirectConstructor352=this.p_DirectConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirectConstructor352.getTree()); + + + break; + case 2 : + // XQueryParser.g:810:35: p_ComputedConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ComputedConstructor_in_p_Constructor7004); + p_ComputedConstructor353=this.p_ComputedConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComputedConstructor353.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirectConstructor_return: (function() { + XQueryParser.p_DirectConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirectConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:814:1: p_DirectConstructor : ( p_DirElemConstructor | L_DirCommentConstructor | L_DirPIConstructor ); + // $ANTLR start "p_DirectConstructor" + p_DirectConstructor: function() { + var retval = new XQueryParser.p_DirectConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_DirCommentConstructor355 = null; + var L_DirPIConstructor356 = null; + var p_DirElemConstructor354 = null; + + var L_DirCommentConstructor355_tree=null; + var L_DirPIConstructor356_tree=null; + + try { + // XQueryParser.g:815:9: ( p_DirElemConstructor | L_DirCommentConstructor | L_DirPIConstructor ) + var alt130=3; + switch ( this.input.LA(1) ) { + case SMALLER: + alt130=1; + break; + case L_DirCommentConstructor: + alt130=2; + break; + case L_DirPIConstructor: + alt130=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 130, 0, this.input); + + throw nvae; + } + + switch (alt130) { + case 1 : + // XQueryParser.g:815:13: p_DirElemConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirElemConstructor_in_p_DirectConstructor7032); + p_DirElemConstructor354=this.p_DirElemConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirElemConstructor354.getTree()); + + + break; + case 2 : + // XQueryParser.g:816:11: L_DirCommentConstructor + root_0 = this.adaptor.nil(); + + L_DirCommentConstructor355=this.match(this.input,L_DirCommentConstructor,XQueryParser.FOLLOW_L_DirCommentConstructor_in_p_DirectConstructor7044); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_DirCommentConstructor355_tree = this.adaptor.create(L_DirCommentConstructor355); + this.adaptor.addChild(root_0, L_DirCommentConstructor355_tree); + } + + + break; + case 3 : + // XQueryParser.g:817:11: L_DirPIConstructor + root_0 = this.adaptor.nil(); + + L_DirPIConstructor356=this.match(this.input,L_DirPIConstructor,XQueryParser.FOLLOW_L_DirPIConstructor_in_p_DirectConstructor7056); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_DirPIConstructor356_tree = this.adaptor.create(L_DirPIConstructor356); + this.adaptor.addChild(root_0, L_DirPIConstructor356_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirElemConstructor_return: (function() { + XQueryParser.p_DirElemConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirElemConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:821:1: p_DirElemConstructor : SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) ; + // $ANTLR start "p_DirElemConstructor" + p_DirElemConstructor: function() { + var retval = new XQueryParser.p_DirElemConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SMALLER357 = null; + var EMPTY_CLOSE_TAG360 = null; + var GREATER361 = null; + var CLOSE_TAG363 = null; + var S365 = null; + var GREATER366 = null; + var p_QName358 = null; + var p_DirAttributeList359 = null; + var pm_DirElemContent362 = null; + var p_QName364 = null; + + var SMALLER357_tree=null; + var EMPTY_CLOSE_TAG360_tree=null; + var GREATER361_tree=null; + var CLOSE_TAG363_tree=null; + var S365_tree=null; + var GREATER366_tree=null; + var stream_CLOSE_TAG=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token CLOSE_TAG"); + var stream_GREATER=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token GREATER"); + var stream_S=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token S"); + var stream_EMPTY_CLOSE_TAG=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EMPTY_CLOSE_TAG"); + var stream_SMALLER=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SMALLER"); + var stream_p_DirAttributeList=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_DirAttributeList"); + var stream_pm_DirElemContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_DirElemContent"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:822:9: ( SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) ) + // XQueryParser.g:822:13: SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) + SMALLER357=this.match(this.input,SMALLER,XQueryParser.FOLLOW_SMALLER_in_p_DirElemConstructor7084); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SMALLER.add(SMALLER357); + + if ( this.state.backtracking===0 ) { + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirElemConstructor7100); + p_QName358=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName358.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_DirAttributeList_in_p_DirElemConstructor7102); + p_DirAttributeList359=this.p_DirAttributeList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_DirAttributeList.add(p_DirAttributeList359.getTree()); + // XQueryParser.g:824:13: ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) + var alt133=2; + var LA133_0 = this.input.LA(1); + + if ( (LA133_0==EMPTY_CLOSE_TAG) ) { + alt133=1; + } + else if ( (LA133_0==GREATER) ) { + alt133=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 133, 0, this.input); + + throw nvae; + } + switch (alt133) { + case 1 : + // XQueryParser.g:824:14: EMPTY_CLOSE_TAG + EMPTY_CLOSE_TAG360=this.match(this.input,EMPTY_CLOSE_TAG,XQueryParser.FOLLOW_EMPTY_CLOSE_TAG_in_p_DirElemConstructor7118); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EMPTY_CLOSE_TAG.add(EMPTY_CLOSE_TAG360); + + + + break; + case 2 : + // XQueryParser.g:824:32: ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) + // XQueryParser.g:824:32: ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) + // XQueryParser.g:824:33: GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER + GREATER361=this.match(this.input,GREATER,XQueryParser.FOLLOW_GREATER_in_p_DirElemConstructor7123); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_GREATER.add(GREATER361); + + // XQueryParser.g:824:41: ( pm_DirElemContent )* + loop131: + do { + var alt131=2; + var LA131_0 = this.input.LA(1); + + if ( ((LA131_0>=L_ElementContentChar && LA131_0<=ESCAPE_RBRACKET)||LA131_0==LBRACKET||LA131_0==SMALLER||(LA131_0>=L_DirCommentConstructor && LA131_0<=L_DirPIConstructor)) ) { + alt131=1; + } + + + switch (alt131) { + case 1 : + // XQueryParser.g:824:41: pm_DirElemContent + this.pushFollow(XQueryParser.FOLLOW_pm_DirElemContent_in_p_DirElemConstructor7125); + pm_DirElemContent362=this.pm_DirElemContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_DirElemContent.add(pm_DirElemContent362.getTree()); + + + break; + + default : + break loop131; + } + } while (true); + + CLOSE_TAG363=this.match(this.input,CLOSE_TAG,XQueryParser.FOLLOW_CLOSE_TAG_in_p_DirElemConstructor7128); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_CLOSE_TAG.add(CLOSE_TAG363); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirElemConstructor7130); + p_QName364=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName364.getTree()); + // XQueryParser.g:824:78: ( S )? + var alt132=2; + var LA132_0 = this.input.LA(1); + + if ( (LA132_0==S) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // XQueryParser.g:824:78: S + S365=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirElemConstructor7132); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_S.add(S365); + + + + break; + + } + + GREATER366=this.match(this.input,GREATER,XQueryParser.FOLLOW_GREATER_in_p_DirElemConstructor7135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_GREATER.add(GREATER366); + + + + + + + break; + + } + + + + // AST REWRITE + // elements: p_DirAttributeList, pm_DirElemContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 825:17: -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) + { + // XQueryParser.g:825:20: ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirElemConstructor, "DirElemConstructor"), root_1); + + // XQueryParser.g:825:41: ^( DirAttributeList ( p_DirAttributeList )* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeList, "DirAttributeList"), root_2); + + // XQueryParser.g:825:60: ( p_DirAttributeList )* + while ( stream_p_DirAttributeList.hasNext() ) { + this.adaptor.addChild(root_2, stream_p_DirAttributeList.nextTree()); + + } + stream_p_DirAttributeList.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:825:81: ^( DirElemContent ( pm_DirElemContent )* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DirElemContent, "DirElemContent"), root_2); + + // XQueryParser.g:825:98: ( pm_DirElemContent )* + while ( stream_pm_DirElemContent.hasNext() ) { + this.adaptor.addChild(root_2, stream_pm_DirElemContent.nextTree()); + + } + stream_pm_DirElemContent.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirAttributeList_return: (function() { + XQueryParser.p_DirAttributeList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirAttributeList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:830:1: p_DirAttributeList : ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* ; + // $ANTLR start "p_DirAttributeList" + p_DirAttributeList: function() { + var retval = new XQueryParser.p_DirAttributeList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var S367 = null; + var S369 = null; + var EQUAL370 = null; + var S371 = null; + var p_QName368 = null; + var p_DirAttributeValue372 = null; + + var S367_tree=null; + var S369_tree=null; + var EQUAL370_tree=null; + var S371_tree=null; + + try { + // XQueryParser.g:831:9: ( ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* ) + // XQueryParser.g:831:11: ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:831:11: ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* + loop137: + do { + var alt137=2; + var LA137_0 = this.input.LA(1); + + if ( (LA137_0==S) ) { + alt137=1; + } + + + switch (alt137) { + case 1 : + // XQueryParser.g:831:12: S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? + S367=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7212); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S367_tree = this.adaptor.create(S367); + this.adaptor.addChild(root_0, S367_tree); + } + // XQueryParser.g:831:14: ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? + var alt136=2; + var LA136_0 = this.input.LA(1); + + if ( ((LA136_0>=ANCESTOR && LA136_0<=EXIT)||(LA136_0>=SEQUENTIAL && LA136_0<=MAINTAINED)||(LA136_0>=MUTABLE && LA136_0<=QUOT_ER)||LA136_0==L_NCName||LA136_0==EXPLICITLY) ) { + alt136=1; + } + switch (alt136) { + case 1 : + // XQueryParser.g:831:15: p_QName ( S )? EQUAL ( S )? p_DirAttributeValue + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirAttributeList7215); + p_QName368=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName368.getTree()); + // XQueryParser.g:831:23: ( S )? + var alt134=2; + var LA134_0 = this.input.LA(1); + + if ( (LA134_0==S) ) { + alt134=1; + } + switch (alt134) { + case 1 : + // XQueryParser.g:831:23: S + S369=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7217); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S369_tree = this.adaptor.create(S369); + this.adaptor.addChild(root_0, S369_tree); + } + + + break; + + } + + EQUAL370=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_DirAttributeList7220); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + EQUAL370_tree = this.adaptor.create(EQUAL370); + this.adaptor.addChild(root_0, EQUAL370_tree); + } + // XQueryParser.g:831:32: ( S )? + var alt135=2; + var LA135_0 = this.input.LA(1); + + if ( (LA135_0==S) ) { + alt135=1; + } + switch (alt135) { + case 1 : + // XQueryParser.g:831:32: S + S371=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7222); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S371_tree = this.adaptor.create(S371); + this.adaptor.addChild(root_0, S371_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_DirAttributeValue_in_p_DirAttributeList7225); + p_DirAttributeValue372=this.p_DirAttributeValue(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirAttributeValue372.getTree()); + + + break; + + } + + + + break; + + default : + break loop137; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirAttributeValue_return: (function() { + XQueryParser.p_DirAttributeValue_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirAttributeValue_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:835:1: p_DirAttributeValue : ( ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) | ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) ); + // $ANTLR start "p_DirAttributeValue" + p_DirAttributeValue: function() { + var retval = new XQueryParser.p_DirAttributeValue_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUOT373 = null; + var ESCAPE_QUOT374 = null; + var QUOT376 = null; + var APOS377 = null; + var ESCAPE_APOS378 = null; + var APOS380 = null; + var pm_QuotAttrValueContent375 = null; + var pm_AposAttrValueContent379 = null; + + var QUOT373_tree=null; + var ESCAPE_QUOT374_tree=null; + var QUOT376_tree=null; + var APOS377_tree=null; + var ESCAPE_APOS378_tree=null; + var APOS380_tree=null; + var stream_ESCAPE_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ESCAPE_QUOT"); + var stream_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token APOS"); + var stream_ESCAPE_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ESCAPE_APOS"); + var stream_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token QUOT"); + var stream_pm_QuotAttrValueContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_QuotAttrValueContent"); + var stream_pm_AposAttrValueContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_AposAttrValueContent"); + try { + // XQueryParser.g:836:9: ( ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) | ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) ) + var alt140=2; + var LA140_0 = this.input.LA(1); + + if ( (LA140_0==QUOT) ) { + alt140=1; + } + else if ( (LA140_0==APOS) ) { + alt140=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 140, 0, this.input); + + throw nvae; + } + switch (alt140) { + case 1 : + // XQueryParser.g:836:11: ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) + // XQueryParser.g:836:11: ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) + // XQueryParser.g:836:12: QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT + QUOT373=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_DirAttributeValue7256); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT373); + + // XQueryParser.g:836:17: ( ESCAPE_QUOT | pm_QuotAttrValueContent )* + loop138: + do { + var alt138=3; + var LA138_0 = this.input.LA(1); + + if ( (LA138_0==ESCAPE_QUOT) ) { + alt138=1; + } + else if ( (LA138_0==L_QuotAttrContentChar||(LA138_0>=L_PredefinedEntityRef && LA138_0<=ESCAPE_RBRACKET)||LA138_0==LBRACKET) ) { + alt138=2; + } + + + switch (alt138) { + case 1 : + // XQueryParser.g:836:18: ESCAPE_QUOT + ESCAPE_QUOT374=this.match(this.input,ESCAPE_QUOT,XQueryParser.FOLLOW_ESCAPE_QUOT_in_p_DirAttributeValue7259); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ESCAPE_QUOT.add(ESCAPE_QUOT374); + + + + break; + case 2 : + // XQueryParser.g:836:32: pm_QuotAttrValueContent + this.pushFollow(XQueryParser.FOLLOW_pm_QuotAttrValueContent_in_p_DirAttributeValue7263); + pm_QuotAttrValueContent375=this.pm_QuotAttrValueContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_QuotAttrValueContent.add(pm_QuotAttrValueContent375.getTree()); + + + break; + + default : + break loop138; + } + } while (true); + + QUOT376=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_DirAttributeValue7267); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT376); + + + + + + + // AST REWRITE + // elements: pm_QuotAttrValueContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 837:17: -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) + { + // XQueryParser.g:837:20: ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeValue, "DirAttributeValue"), root_1); + + // XQueryParser.g:837:40: ( pm_QuotAttrValueContent )* + while ( stream_pm_QuotAttrValueContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_pm_QuotAttrValueContent.nextTree()); + + } + stream_pm_QuotAttrValueContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:838:11: ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) + // XQueryParser.g:838:11: ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) + // XQueryParser.g:838:12: APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS + APOS377=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_DirAttributeValue7306); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS377); + + // XQueryParser.g:838:17: ( ESCAPE_APOS | pm_AposAttrValueContent )* + loop139: + do { + var alt139=3; + var LA139_0 = this.input.LA(1); + + if ( (LA139_0==ESCAPE_APOS) ) { + alt139=1; + } + else if ( (LA139_0==L_AposAttrContentChar||(LA139_0>=L_PredefinedEntityRef && LA139_0<=ESCAPE_RBRACKET)||LA139_0==LBRACKET) ) { + alt139=2; + } + + + switch (alt139) { + case 1 : + // XQueryParser.g:838:18: ESCAPE_APOS + ESCAPE_APOS378=this.match(this.input,ESCAPE_APOS,XQueryParser.FOLLOW_ESCAPE_APOS_in_p_DirAttributeValue7309); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ESCAPE_APOS.add(ESCAPE_APOS378); + + + + break; + case 2 : + // XQueryParser.g:838:32: pm_AposAttrValueContent + this.pushFollow(XQueryParser.FOLLOW_pm_AposAttrValueContent_in_p_DirAttributeValue7313); + pm_AposAttrValueContent379=this.pm_AposAttrValueContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_AposAttrValueContent.add(pm_AposAttrValueContent379.getTree()); + + + break; + + default : + break loop139; + } + } while (true); + + APOS380=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_DirAttributeValue7317); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS380); + + + + + + + // AST REWRITE + // elements: pm_AposAttrValueContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 839:17: -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) + { + // XQueryParser.g:839:20: ^( DirAttributeValue ( pm_AposAttrValueContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeValue, "DirAttributeValue"), root_1); + + // XQueryParser.g:839:40: ( pm_AposAttrValueContent )* + while ( stream_pm_AposAttrValueContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_pm_AposAttrValueContent.nextTree()); + + } + stream_pm_AposAttrValueContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_QuotAttrValueContent_return: (function() { + XQueryParser.pm_QuotAttrValueContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_QuotAttrValueContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:843:1: pm_QuotAttrValueContent : ( pg_QuotAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ); + // $ANTLR start "pm_QuotAttrValueContent" + pm_QuotAttrValueContent: function() { + var retval = new XQueryParser.pm_QuotAttrValueContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pg_QuotAttrContentChar381 = null; + var pg_CommonContent382 = null; + var p_ElemEnclosedExpr383 = null; + + + try { + // XQueryParser.g:844:9: ( pg_QuotAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ) + var alt141=3; + switch ( this.input.LA(1) ) { + case L_QuotAttrContentChar: + alt141=1; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt141=2; + break; + case LBRACKET: + alt141=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 141, 0, this.input); + + throw nvae; + } + + switch (alt141) { + case 1 : + // XQueryParser.g:844:11: pg_QuotAttrContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_QuotAttrContentChar_in_pm_QuotAttrValueContent7369); + pg_QuotAttrContentChar381=this.pg_QuotAttrContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_QuotAttrContentChar381.getTree()); + + + break; + case 2 : + // XQueryParser.g:844:36: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_QuotAttrValueContent7373); + pg_CommonContent382=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent382.getTree()); + + + break; + case 3 : + // XQueryParser.g:844:55: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_QuotAttrValueContent7377); + p_ElemEnclosedExpr383=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr383.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_QuotAttrContentChar_return: (function() { + XQueryParser.pg_QuotAttrContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_QuotAttrContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:851:1: pg_QuotAttrContentChar : L_QuotAttrContentChar -> ^( AttributeValueChar L_QuotAttrContentChar ) ; + // $ANTLR start "pg_QuotAttrContentChar" + pg_QuotAttrContentChar: function() { + var retval = new XQueryParser.pg_QuotAttrContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_QuotAttrContentChar384 = null; + + var L_QuotAttrContentChar384_tree=null; + var stream_L_QuotAttrContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_QuotAttrContentChar"); + + try { + // XQueryParser.g:852:9: ( L_QuotAttrContentChar -> ^( AttributeValueChar L_QuotAttrContentChar ) ) + // XQueryParser.g:852:11: L_QuotAttrContentChar + L_QuotAttrContentChar384=this.match(this.input,L_QuotAttrContentChar,XQueryParser.FOLLOW_L_QuotAttrContentChar_in_pg_QuotAttrContentChar7406); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_QuotAttrContentChar.add(L_QuotAttrContentChar384); + + + + // AST REWRITE + // elements: L_QuotAttrContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 853:17: -> ^( AttributeValueChar L_QuotAttrContentChar ) + { + // XQueryParser.g:853:20: ^( AttributeValueChar L_QuotAttrContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AttributeValueChar, "AttributeValueChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_QuotAttrContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_AposAttrValueContent_return: (function() { + XQueryParser.pm_AposAttrValueContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_AposAttrValueContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:858:1: pm_AposAttrValueContent : ( pg_AposAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ); + // $ANTLR start "pm_AposAttrValueContent" + pm_AposAttrValueContent: function() { + var retval = new XQueryParser.pm_AposAttrValueContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pg_AposAttrContentChar385 = null; + var pg_CommonContent386 = null; + var p_ElemEnclosedExpr387 = null; + + + try { + // XQueryParser.g:859:9: ( pg_AposAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ) + var alt142=3; + switch ( this.input.LA(1) ) { + case L_AposAttrContentChar: + alt142=1; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt142=2; + break; + case LBRACKET: + alt142=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 142, 0, this.input); + + throw nvae; + } + + switch (alt142) { + case 1 : + // XQueryParser.g:859:13: pg_AposAttrContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_AposAttrContentChar_in_pm_AposAttrValueContent7459); + pg_AposAttrContentChar385=this.pg_AposAttrContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_AposAttrContentChar385.getTree()); + + + break; + case 2 : + // XQueryParser.g:859:38: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_AposAttrValueContent7463); + pg_CommonContent386=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent386.getTree()); + + + break; + case 3 : + // XQueryParser.g:859:57: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_AposAttrValueContent7467); + p_ElemEnclosedExpr387=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr387.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_AposAttrContentChar_return: (function() { + XQueryParser.pg_AposAttrContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_AposAttrContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:866:1: pg_AposAttrContentChar : L_AposAttrContentChar -> ^( AttributeValueChar L_AposAttrContentChar ) ; + // $ANTLR start "pg_AposAttrContentChar" + pg_AposAttrContentChar: function() { + var retval = new XQueryParser.pg_AposAttrContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_AposAttrContentChar388 = null; + + var L_AposAttrContentChar388_tree=null; + var stream_L_AposAttrContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_AposAttrContentChar"); + + try { + // XQueryParser.g:867:9: ( L_AposAttrContentChar -> ^( AttributeValueChar L_AposAttrContentChar ) ) + // XQueryParser.g:867:11: L_AposAttrContentChar + L_AposAttrContentChar388=this.match(this.input,L_AposAttrContentChar,XQueryParser.FOLLOW_L_AposAttrContentChar_in_pg_AposAttrContentChar7496); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_AposAttrContentChar.add(L_AposAttrContentChar388); + + + + // AST REWRITE + // elements: L_AposAttrContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 868:17: -> ^( AttributeValueChar L_AposAttrContentChar ) + { + // XQueryParser.g:868:20: ^( AttributeValueChar L_AposAttrContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AttributeValueChar, "AttributeValueChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_AposAttrContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DirElemContent_return: (function() { + XQueryParser.pm_DirElemContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DirElemContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:873:1: pm_DirElemContent : ( p_DirectConstructor | L_CDataSection | p_ElemEnclosedExpr | pg_CommonContent | pg_ElementContentChar ); + // $ANTLR start "pm_DirElemContent" + pm_DirElemContent: function() { + var retval = new XQueryParser.pm_DirElemContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_CDataSection390 = null; + var p_DirectConstructor389 = null; + var p_ElemEnclosedExpr391 = null; + var pg_CommonContent392 = null; + var pg_ElementContentChar393 = null; + + var L_CDataSection390_tree=null; + + try { + // XQueryParser.g:874:9: ( p_DirectConstructor | L_CDataSection | p_ElemEnclosedExpr | pg_CommonContent | pg_ElementContentChar ) + var alt143=5; + switch ( this.input.LA(1) ) { + case SMALLER: + case L_DirCommentConstructor: + case L_DirPIConstructor: + alt143=1; + break; + case L_CDataSection: + alt143=2; + break; + case LBRACKET: + alt143=3; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt143=4; + break; + case L_ElementContentChar: + alt143=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 143, 0, this.input); + + throw nvae; + } + + switch (alt143) { + case 1 : + // XQueryParser.g:874:11: p_DirectConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirectConstructor_in_pm_DirElemContent7547); + p_DirectConstructor389=this.p_DirectConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirectConstructor389.getTree()); + + + break; + case 2 : + // XQueryParser.g:875:11: L_CDataSection + root_0 = this.adaptor.nil(); + + L_CDataSection390=this.match(this.input,L_CDataSection,XQueryParser.FOLLOW_L_CDataSection_in_pm_DirElemContent7559); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_CDataSection390_tree = this.adaptor.create(L_CDataSection390); + this.adaptor.addChild(root_0, L_CDataSection390_tree); + } + + + break; + case 3 : + // XQueryParser.g:876:11: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_DirElemContent7571); + p_ElemEnclosedExpr391=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr391.getTree()); + + + break; + case 4 : + // XQueryParser.g:877:11: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_DirElemContent7583); + pg_CommonContent392=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent392.getTree()); + + + break; + case 5 : + // XQueryParser.g:878:11: pg_ElementContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_ElementContentChar_in_pm_DirElemContent7595); + pg_ElementContentChar393=this.pg_ElementContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_ElementContentChar393.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_ElementContentChar_return: (function() { + XQueryParser.pg_ElementContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_ElementContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:885:1: pg_ElementContentChar : L_ElementContentChar -> ^( ElementContentChar L_ElementContentChar ) ; + // $ANTLR start "pg_ElementContentChar" + pg_ElementContentChar: function() { + var retval = new XQueryParser.pg_ElementContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_ElementContentChar394 = null; + + var L_ElementContentChar394_tree=null; + var stream_L_ElementContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_ElementContentChar"); + + try { + // XQueryParser.g:886:9: ( L_ElementContentChar -> ^( ElementContentChar L_ElementContentChar ) ) + // XQueryParser.g:886:11: L_ElementContentChar + L_ElementContentChar394=this.match(this.input,L_ElementContentChar,XQueryParser.FOLLOW_L_ElementContentChar_in_pg_ElementContentChar7624); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_ElementContentChar.add(L_ElementContentChar394); + + + + // AST REWRITE + // elements: L_ElementContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 887:17: -> ^( ElementContentChar L_ElementContentChar ) + { + // XQueryParser.g:887:20: ^( ElementContentChar L_ElementContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ElementContentChar, "ElementContentChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_ElementContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_CommonContent_return: (function() { + XQueryParser.pg_CommonContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_CommonContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:895:1: pg_CommonContent : pm_CommonContent -> ^( CommonContent pm_CommonContent ) ; + // $ANTLR start "pg_CommonContent" + pg_CommonContent: function() { + var retval = new XQueryParser.pg_CommonContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_CommonContent395 = null; + + var stream_pm_CommonContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_CommonContent"); + try { + // XQueryParser.g:896:9: ( pm_CommonContent -> ^( CommonContent pm_CommonContent ) ) + // XQueryParser.g:896:13: pm_CommonContent + this.pushFollow(XQueryParser.FOLLOW_pm_CommonContent_in_pg_CommonContent7680); + pm_CommonContent395=this.pm_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_CommonContent.add(pm_CommonContent395.getTree()); + + + // AST REWRITE + // elements: pm_CommonContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 897:17: -> ^( CommonContent pm_CommonContent ) + { + // XQueryParser.g:897:20: ^( CommonContent pm_CommonContent ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(CommonContent, "CommonContent"), root_1); + + this.adaptor.addChild(root_1, stream_pm_CommonContent.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_CommonContent_return: (function() { + XQueryParser.pm_CommonContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_CommonContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:902:1: pm_CommonContent : ( L_PredefinedEntityRef | L_CharRef | ESCAPE_LBRACKET | ESCAPE_RBRACKET ); + // $ANTLR start "pm_CommonContent" + pm_CommonContent: function() { + var retval = new XQueryParser.pm_CommonContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set396 = null; + + var set396_tree=null; + + try { + // XQueryParser.g:903:9: ( L_PredefinedEntityRef | L_CharRef | ESCAPE_LBRACKET | ESCAPE_RBRACKET ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set396=this.input.LT(1); + if ( (this.input.LA(1)>=L_PredefinedEntityRef && this.input.LA(1)<=ESCAPE_RBRACKET) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set396)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElemEnclosedExpr_return: (function() { + XQueryParser.p_ElemEnclosedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElemEnclosedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:910:1: p_ElemEnclosedExpr : LBRACKET ( pm_Expr ) RBRACKET ; + // $ANTLR start "p_ElemEnclosedExpr" + p_ElemEnclosedExpr: function() { + var retval = new XQueryParser.p_ElemEnclosedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET397 = null; + var RBRACKET399 = null; + var pm_Expr398 = null; + + var LBRACKET397_tree=null; + var RBRACKET399_tree=null; + + try { + // XQueryParser.g:911:9: ( LBRACKET ( pm_Expr ) RBRACKET ) + // XQueryParser.g:911:13: LBRACKET ( pm_Expr ) RBRACKET + root_0 = this.adaptor.nil(); + + LBRACKET397=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ElemEnclosedExpr7776); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET397_tree = this.adaptor.create(LBRACKET397); + this.adaptor.addChild(root_0, LBRACKET397_tree); + } + // XQueryParser.g:912:13: ( pm_Expr ) + // XQueryParser.g:912:14: pm_Expr + if ( this.state.backtracking===0 ) { + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ElemEnclosedExpr7793); + pm_Expr398=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr398.getTree()); + if ( this.state.backtracking===0 ) { + } + + + + RBRACKET399=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ElemEnclosedExpr7810); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET399_tree = this.adaptor.create(RBRACKET399); + this.adaptor.addChild(root_0, RBRACKET399_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ComputedConstructor_return: (function() { + XQueryParser.p_ComputedConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ComputedConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:936:1: p_ComputedConstructor : ( p_CompDocConstructor | p_CompElemConstructor | p_CompAttrConstructor | p_CompNamespaceConstructor | p_CompTextConstructor | p_CompCommentConstructor | p_CompPIConstructor | {...}? => p_CompBinaryConstructor ); + // $ANTLR start "p_ComputedConstructor" + p_ComputedConstructor: function() { + var retval = new XQueryParser.p_ComputedConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_CompDocConstructor400 = null; + var p_CompElemConstructor401 = null; + var p_CompAttrConstructor402 = null; + var p_CompNamespaceConstructor403 = null; + var p_CompTextConstructor404 = null; + var p_CompCommentConstructor405 = null; + var p_CompPIConstructor406 = null; + var p_CompBinaryConstructor407 = null; + + + try { + // XQueryParser.g:937:9: ( p_CompDocConstructor | p_CompElemConstructor | p_CompAttrConstructor | p_CompNamespaceConstructor | p_CompTextConstructor | p_CompCommentConstructor | p_CompPIConstructor | {...}? => p_CompBinaryConstructor ) + var alt144=8; + var LA144_0 = this.input.LA(1); + + if ( (LA144_0==DOCUMENT) ) { + alt144=1; + } + else if ( (LA144_0==ELEMENT) ) { + alt144=2; + } + else if ( (LA144_0==ATTRIBUTE) ) { + alt144=3; + } + else if ( (LA144_0==NAMESPACE) ) { + alt144=4; + } + else if ( (LA144_0==TEXT) ) { + alt144=5; + } + else if ( (LA144_0==COMMENT) ) { + alt144=6; + } + else if ( (LA144_0==PROCESSING_INSTRUCTION) ) { + alt144=7; + } + else if ( (LA144_0==BINARY) && ((false))) { + alt144=8; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 144, 0, this.input); + + throw nvae; + } + switch (alt144) { + case 1 : + // XQueryParser.g:937:13: p_CompDocConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompDocConstructor_in_p_ComputedConstructor7861); + p_CompDocConstructor400=this.p_CompDocConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompDocConstructor400.getTree()); + + + break; + case 2 : + // XQueryParser.g:938:11: p_CompElemConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompElemConstructor_in_p_ComputedConstructor7873); + p_CompElemConstructor401=this.p_CompElemConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompElemConstructor401.getTree()); + + + break; + case 3 : + // XQueryParser.g:939:11: p_CompAttrConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompAttrConstructor_in_p_ComputedConstructor7885); + p_CompAttrConstructor402=this.p_CompAttrConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompAttrConstructor402.getTree()); + + + break; + case 4 : + // XQueryParser.g:940:11: p_CompNamespaceConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompNamespaceConstructor_in_p_ComputedConstructor7897); + p_CompNamespaceConstructor403=this.p_CompNamespaceConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompNamespaceConstructor403.getTree()); + + + break; + case 5 : + // XQueryParser.g:941:11: p_CompTextConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompTextConstructor_in_p_ComputedConstructor7909); + p_CompTextConstructor404=this.p_CompTextConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompTextConstructor404.getTree()); + + + break; + case 6 : + // XQueryParser.g:942:11: p_CompCommentConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompCommentConstructor_in_p_ComputedConstructor7921); + p_CompCommentConstructor405=this.p_CompCommentConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompCommentConstructor405.getTree()); + + + break; + case 7 : + // XQueryParser.g:943:11: p_CompPIConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompPIConstructor_in_p_ComputedConstructor7933); + p_CompPIConstructor406=this.p_CompPIConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompPIConstructor406.getTree()); + + + break; + case 8 : + // XQueryParser.g:944:11: {...}? => p_CompBinaryConstructor + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ComputedConstructor", "false"); + } + this.pushFollow(XQueryParser.FOLLOW_p_CompBinaryConstructor_in_p_ComputedConstructor7948); + p_CompBinaryConstructor407=this.p_CompBinaryConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompBinaryConstructor407.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompDocConstructor_return: (function() { + XQueryParser.p_CompDocConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompDocConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:948:1: p_CompDocConstructor : k= DOCUMENT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompDocConstructor" + p_CompDocConstructor: function() { + var retval = new XQueryParser.p_CompDocConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET408 = null; + var RBRACKET410 = null; + var pm_Expr409 = null; + + var k_tree=null; + var LBRACKET408_tree=null; + var RBRACKET410_tree=null; + + try { + // XQueryParser.g:949:9: (k= DOCUMENT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:949:13: k= DOCUMENT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DOCUMENT,XQueryParser.FOLLOW_DOCUMENT_in_p_CompDocConstructor7982); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET408=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompDocConstructor7985); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET408_tree = this.adaptor.create(LBRACKET408); + this.adaptor.addChild(root_0, LBRACKET408_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompDocConstructor7987); + pm_Expr409=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr409.getTree()); + RBRACKET410=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompDocConstructor7989); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET410_tree = this.adaptor.create(RBRACKET410); + this.adaptor.addChild(root_0, RBRACKET410_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompElemConstructor_return: (function() { + XQueryParser.p_CompElemConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompElemConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:953:1: p_CompElemConstructor : k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompElemConstructor" + p_CompElemConstructor: function() { + var retval = new XQueryParser.p_CompElemConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET412 = null; + var RBRACKET414 = null; + var LBRACKET415 = null; + var RBRACKET417 = null; + var p_QName411 = null; + var pm_Expr413 = null; + var pm_Expr416 = null; + + var k_tree=null; + var LBRACKET412_tree=null; + var RBRACKET414_tree=null; + var LBRACKET415_tree=null; + var RBRACKET417_tree=null; + + try { + // XQueryParser.g:954:9: (k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:954:13: k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_CompElemConstructor8030); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:954:24: ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt145=2; + var LA145_0 = this.input.LA(1); + + if ( ((LA145_0>=ANCESTOR && LA145_0<=EXIT)||(LA145_0>=SEQUENTIAL && LA145_0<=MAINTAINED)||(LA145_0>=MUTABLE && LA145_0<=QUOT_ER)||LA145_0==L_NCName||LA145_0==EXPLICITLY) ) { + alt145=1; + } + else if ( (LA145_0==LBRACKET) ) { + alt145=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 145, 0, this.input); + + throw nvae; + } + switch (alt145) { + case 1 : + // XQueryParser.g:954:25: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CompElemConstructor8034); + p_QName411=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName411.getTree()); + + + break; + case 2 : + // XQueryParser.g:954:35: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:954:35: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:954:36: LBRACKET pm_Expr RBRACKET + LBRACKET412=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompElemConstructor8039); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET412_tree = this.adaptor.create(LBRACKET412); + this.adaptor.addChild(root_0, LBRACKET412_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompElemConstructor8041); + pm_Expr413=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr413.getTree()); + RBRACKET414=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompElemConstructor8043); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET414_tree = this.adaptor.create(RBRACKET414); + this.adaptor.addChild(root_0, RBRACKET414_tree); + } + + + + + + break; + + } + + LBRACKET415=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompElemConstructor8047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET415_tree = this.adaptor.create(LBRACKET415); + this.adaptor.addChild(root_0, LBRACKET415_tree); + } + // XQueryParser.g:954:73: ( pm_Expr )? + var alt146=2; + var LA146_0 = this.input.LA(1); + + if ( ((LA146_0>=ANCESTOR && LA146_0<=EXIT)||(LA146_0>=SEQUENTIAL && LA146_0<=MAINTAINED)||(LA146_0>=MUTABLE && LA146_0<=LPAREN)||LA146_0==DOLLAR||(LA146_0>=STAR && LA146_0<=SMALLER)||(LA146_0>=SLASH && LA146_0<=DOT_DOT)||LA146_0==ATTR_SIGN||(LA146_0>=APOS && LA146_0<=QUOT)||LA146_0==L_NCName||(LA146_0>=L_Pragma && LA146_0<=L_DoubleLiteral)||(LA146_0>=LETDOLLAR && LA146_0<=EXPLICITLY)) ) { + alt146=1; + } + switch (alt146) { + case 1 : + // XQueryParser.g:954:73: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompElemConstructor8049); + pm_Expr416=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr416.getTree()); + + + break; + + } + + RBRACKET417=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompElemConstructor8052); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET417_tree = this.adaptor.create(RBRACKET417); + this.adaptor.addChild(root_0, RBRACKET417_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompAttrConstructor_return: (function() { + XQueryParser.p_CompAttrConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompAttrConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:961:1: p_CompAttrConstructor : k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompAttrConstructor" + p_CompAttrConstructor: function() { + var retval = new XQueryParser.p_CompAttrConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET419 = null; + var RBRACKET421 = null; + var LBRACKET422 = null; + var RBRACKET424 = null; + var p_QName418 = null; + var pm_Expr420 = null; + var pm_Expr423 = null; + + var k_tree=null; + var LBRACKET419_tree=null; + var RBRACKET421_tree=null; + var LBRACKET422_tree=null; + var RBRACKET424_tree=null; + + try { + // XQueryParser.g:962:9: (k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:962:13: k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_CompAttrConstructor8085); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:962:26: ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt147=2; + var LA147_0 = this.input.LA(1); + + if ( ((LA147_0>=ANCESTOR && LA147_0<=EXIT)||(LA147_0>=SEQUENTIAL && LA147_0<=MAINTAINED)||(LA147_0>=MUTABLE && LA147_0<=QUOT_ER)||LA147_0==L_NCName||LA147_0==EXPLICITLY) ) { + alt147=1; + } + else if ( (LA147_0==LBRACKET) ) { + alt147=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 147, 0, this.input); + + throw nvae; + } + switch (alt147) { + case 1 : + // XQueryParser.g:962:27: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CompAttrConstructor8089); + p_QName418=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName418.getTree()); + + + break; + case 2 : + // XQueryParser.g:962:37: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:962:37: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:962:38: LBRACKET pm_Expr RBRACKET + LBRACKET419=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompAttrConstructor8094); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET419_tree = this.adaptor.create(LBRACKET419); + this.adaptor.addChild(root_0, LBRACKET419_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompAttrConstructor8096); + pm_Expr420=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr420.getTree()); + RBRACKET421=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompAttrConstructor8098); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET421_tree = this.adaptor.create(RBRACKET421); + this.adaptor.addChild(root_0, RBRACKET421_tree); + } + + + + + + break; + + } + + LBRACKET422=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompAttrConstructor8102); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET422_tree = this.adaptor.create(LBRACKET422); + this.adaptor.addChild(root_0, LBRACKET422_tree); + } + // XQueryParser.g:962:75: ( pm_Expr )? + var alt148=2; + var LA148_0 = this.input.LA(1); + + if ( ((LA148_0>=ANCESTOR && LA148_0<=EXIT)||(LA148_0>=SEQUENTIAL && LA148_0<=MAINTAINED)||(LA148_0>=MUTABLE && LA148_0<=LPAREN)||LA148_0==DOLLAR||(LA148_0>=STAR && LA148_0<=SMALLER)||(LA148_0>=SLASH && LA148_0<=DOT_DOT)||LA148_0==ATTR_SIGN||(LA148_0>=APOS && LA148_0<=QUOT)||LA148_0==L_NCName||(LA148_0>=L_Pragma && LA148_0<=L_DoubleLiteral)||(LA148_0>=LETDOLLAR && LA148_0<=EXPLICITLY)) ) { + alt148=1; + } + switch (alt148) { + case 1 : + // XQueryParser.g:962:75: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompAttrConstructor8104); + pm_Expr423=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr423.getTree()); + + + break; + + } + + RBRACKET424=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompAttrConstructor8107); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET424_tree = this.adaptor.create(RBRACKET424); + this.adaptor.addChild(root_0, RBRACKET424_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompNamespaceConstructor_return: (function() { + XQueryParser.p_CompNamespaceConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompNamespaceConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:966:1: p_CompNamespaceConstructor : k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompNamespaceConstructor" + p_CompNamespaceConstructor: function() { + var retval = new XQueryParser.p_CompNamespaceConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET426 = null; + var RBRACKET428 = null; + var LBRACKET429 = null; + var RBRACKET431 = null; + var p_NCName425 = null; + var pm_Expr427 = null; + var pm_Expr430 = null; + + var k_tree=null; + var LBRACKET426_tree=null; + var RBRACKET428_tree=null; + var LBRACKET429_tree=null; + var RBRACKET431_tree=null; + + try { + // XQueryParser.g:967:9: (k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:967:11: k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_CompNamespaceConstructor8135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:967:24: ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt149=2; + var LA149_0 = this.input.LA(1); + + if ( ((LA149_0>=ANCESTOR && LA149_0<=EXIT)||(LA149_0>=SEQUENTIAL && LA149_0<=MAINTAINED)||(LA149_0>=MUTABLE && LA149_0<=QUOT_ER)||LA149_0==L_NCName||LA149_0==EXPLICITLY) ) { + alt149=1; + } + else if ( (LA149_0==LBRACKET) ) { + alt149=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 149, 0, this.input); + + throw nvae; + } + switch (alt149) { + case 1 : + // XQueryParser.g:967:25: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_CompNamespaceConstructor8139); + p_NCName425=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName425.getTree()); + + + break; + case 2 : + // XQueryParser.g:967:36: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:967:36: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:967:37: LBRACKET pm_Expr RBRACKET + LBRACKET426=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8144); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET426_tree = this.adaptor.create(LBRACKET426); + this.adaptor.addChild(root_0, LBRACKET426_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8146); + pm_Expr427=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr427.getTree()); + RBRACKET428=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8148); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET428_tree = this.adaptor.create(RBRACKET428); + this.adaptor.addChild(root_0, RBRACKET428_tree); + } + + + + + + break; + + } + + LBRACKET429=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET429_tree = this.adaptor.create(LBRACKET429); + this.adaptor.addChild(root_0, LBRACKET429_tree); + } + // XQueryParser.g:967:74: ( pm_Expr )? + var alt150=2; + var LA150_0 = this.input.LA(1); + + if ( ((LA150_0>=ANCESTOR && LA150_0<=EXIT)||(LA150_0>=SEQUENTIAL && LA150_0<=MAINTAINED)||(LA150_0>=MUTABLE && LA150_0<=LPAREN)||LA150_0==DOLLAR||(LA150_0>=STAR && LA150_0<=SMALLER)||(LA150_0>=SLASH && LA150_0<=DOT_DOT)||LA150_0==ATTR_SIGN||(LA150_0>=APOS && LA150_0<=QUOT)||LA150_0==L_NCName||(LA150_0>=L_Pragma && LA150_0<=L_DoubleLiteral)||(LA150_0>=LETDOLLAR && LA150_0<=EXPLICITLY)) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // XQueryParser.g:967:74: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8154); + pm_Expr430=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr430.getTree()); + + + break; + + } + + RBRACKET431=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8157); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET431_tree = this.adaptor.create(RBRACKET431); + this.adaptor.addChild(root_0, RBRACKET431_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompTextConstructor_return: (function() { + XQueryParser.p_CompTextConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompTextConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:977:1: p_CompTextConstructor : k= TEXT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompTextConstructor" + p_CompTextConstructor: function() { + var retval = new XQueryParser.p_CompTextConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET432 = null; + var RBRACKET434 = null; + var pm_Expr433 = null; + + var k_tree=null; + var LBRACKET432_tree=null; + var RBRACKET434_tree=null; + + try { + // XQueryParser.g:978:9: (k= TEXT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:978:13: k= TEXT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TEXT,XQueryParser.FOLLOW_TEXT_in_p_CompTextConstructor8193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET432=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompTextConstructor8196); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET432_tree = this.adaptor.create(LBRACKET432); + this.adaptor.addChild(root_0, LBRACKET432_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompTextConstructor8198); + pm_Expr433=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr433.getTree()); + RBRACKET434=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompTextConstructor8200); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET434_tree = this.adaptor.create(RBRACKET434); + this.adaptor.addChild(root_0, RBRACKET434_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompBinaryConstructor_return: (function() { + XQueryParser.p_CompBinaryConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompBinaryConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:982:1: p_CompBinaryConstructor : k= BINARY LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompBinaryConstructor" + p_CompBinaryConstructor: function() { + var retval = new XQueryParser.p_CompBinaryConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET435 = null; + var RBRACKET437 = null; + var pm_Expr436 = null; + + var k_tree=null; + var LBRACKET435_tree=null; + var RBRACKET437_tree=null; + + try { + // XQueryParser.g:983:9: (k= BINARY LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:983:13: k= BINARY LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,BINARY,XQueryParser.FOLLOW_BINARY_in_p_CompBinaryConstructor8230); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET435=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompBinaryConstructor8233); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET435_tree = this.adaptor.create(LBRACKET435); + this.adaptor.addChild(root_0, LBRACKET435_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompBinaryConstructor8235); + pm_Expr436=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr436.getTree()); + RBRACKET437=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompBinaryConstructor8237); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET437_tree = this.adaptor.create(RBRACKET437); + this.adaptor.addChild(root_0, RBRACKET437_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompCommentConstructor_return: (function() { + XQueryParser.p_CompCommentConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompCommentConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:987:1: p_CompCommentConstructor : k= COMMENT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompCommentConstructor" + p_CompCommentConstructor: function() { + var retval = new XQueryParser.p_CompCommentConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET438 = null; + var RBRACKET440 = null; + var pm_Expr439 = null; + + var k_tree=null; + var LBRACKET438_tree=null; + var RBRACKET440_tree=null; + + try { + // XQueryParser.g:988:9: (k= COMMENT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:988:13: k= COMMENT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COMMENT,XQueryParser.FOLLOW_COMMENT_in_p_CompCommentConstructor8267); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET438=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompCommentConstructor8270); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET438_tree = this.adaptor.create(LBRACKET438); + this.adaptor.addChild(root_0, LBRACKET438_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompCommentConstructor8272); + pm_Expr439=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr439.getTree()); + RBRACKET440=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompCommentConstructor8274); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET440_tree = this.adaptor.create(RBRACKET440); + this.adaptor.addChild(root_0, RBRACKET440_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompPIConstructor_return: (function() { + XQueryParser.p_CompPIConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompPIConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:992:1: p_CompPIConstructor : k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompPIConstructor" + p_CompPIConstructor: function() { + var retval = new XQueryParser.p_CompPIConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET442 = null; + var RBRACKET444 = null; + var LBRACKET445 = null; + var RBRACKET447 = null; + var p_NCName441 = null; + var pm_Expr443 = null; + var pm_Expr446 = null; + + var k_tree=null; + var LBRACKET442_tree=null; + var RBRACKET444_tree=null; + var LBRACKET445_tree=null; + var RBRACKET447_tree=null; + + try { + // XQueryParser.g:993:9: (k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:993:13: k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PROCESSING_INSTRUCTION,XQueryParser.FOLLOW_PROCESSING_INSTRUCTION_in_p_CompPIConstructor8305); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:993:39: ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt151=2; + var LA151_0 = this.input.LA(1); + + if ( ((LA151_0>=ANCESTOR && LA151_0<=EXIT)||(LA151_0>=SEQUENTIAL && LA151_0<=MAINTAINED)||(LA151_0>=MUTABLE && LA151_0<=QUOT_ER)||LA151_0==L_NCName||LA151_0==EXPLICITLY) ) { + alt151=1; + } + else if ( (LA151_0==LBRACKET) ) { + alt151=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 151, 0, this.input); + + throw nvae; + } + switch (alt151) { + case 1 : + // XQueryParser.g:993:40: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_CompPIConstructor8309); + p_NCName441=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName441.getTree()); + + + break; + case 2 : + // XQueryParser.g:993:51: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:993:51: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:993:52: LBRACKET pm_Expr RBRACKET + LBRACKET442=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompPIConstructor8314); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET442_tree = this.adaptor.create(LBRACKET442); + this.adaptor.addChild(root_0, LBRACKET442_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompPIConstructor8316); + pm_Expr443=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr443.getTree()); + RBRACKET444=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompPIConstructor8318); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET444_tree = this.adaptor.create(RBRACKET444); + this.adaptor.addChild(root_0, RBRACKET444_tree); + } + + + + + + break; + + } + + LBRACKET445=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompPIConstructor8322); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET445_tree = this.adaptor.create(LBRACKET445); + this.adaptor.addChild(root_0, LBRACKET445_tree); + } + // XQueryParser.g:993:89: ( pm_Expr )? + var alt152=2; + var LA152_0 = this.input.LA(1); + + if ( ((LA152_0>=ANCESTOR && LA152_0<=EXIT)||(LA152_0>=SEQUENTIAL && LA152_0<=MAINTAINED)||(LA152_0>=MUTABLE && LA152_0<=LPAREN)||LA152_0==DOLLAR||(LA152_0>=STAR && LA152_0<=SMALLER)||(LA152_0>=SLASH && LA152_0<=DOT_DOT)||LA152_0==ATTR_SIGN||(LA152_0>=APOS && LA152_0<=QUOT)||LA152_0==L_NCName||(LA152_0>=L_Pragma && LA152_0<=L_DoubleLiteral)||(LA152_0>=LETDOLLAR && LA152_0<=EXPLICITLY)) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // XQueryParser.g:993:89: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompPIConstructor8324); + pm_Expr446=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr446.getTree()); + + + break; + + } + + RBRACKET447=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompPIConstructor8327); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET447_tree = this.adaptor.create(RBRACKET447); + this.adaptor.addChild(root_0, RBRACKET447_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SingleType_return: (function() { + XQueryParser.p_SingleType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SingleType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:997:1: p_SingleType : p_AtomicType ( QUESTION )? ; + // $ANTLR start "p_SingleType" + p_SingleType: function() { + var retval = new XQueryParser.p_SingleType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUESTION449 = null; + var p_AtomicType448 = null; + + var QUESTION449_tree=null; + + try { + // XQueryParser.g:998:9: ( p_AtomicType ( QUESTION )? ) + // XQueryParser.g:998:13: p_AtomicType ( QUESTION )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_SingleType8355); + p_AtomicType448=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType448.getTree()); + // XQueryParser.g:998:26: ( QUESTION )? + var alt153=2; + var LA153_0 = this.input.LA(1); + + if ( (LA153_0==QUESTION) ) { + alt153=1; + } + switch (alt153) { + case 1 : + // XQueryParser.g:998:26: QUESTION + QUESTION449=this.match(this.input,QUESTION,XQueryParser.FOLLOW_QUESTION_in_p_SingleType8357); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + QUESTION449_tree = this.adaptor.create(QUESTION449); + this.adaptor.addChild(root_0, QUESTION449_tree); + } + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeDeclaration_return: (function() { + XQueryParser.p_TypeDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1002:1: p_TypeDeclaration : k= AS st= p_SequenceType -> ^( TypeDeclaration $st) ; + // $ANTLR start "p_TypeDeclaration" + p_TypeDeclaration: function() { + var retval = new XQueryParser.p_TypeDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var st = null; + + var k_tree=null; + var stream_AS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AS"); + var stream_p_SequenceType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_SequenceType"); + try { + // XQueryParser.g:1003:9: (k= AS st= p_SequenceType -> ^( TypeDeclaration $st) ) + // XQueryParser.g:1003:13: k= AS st= p_SequenceType + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_TypeDeclaration8388); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AS.add(k); + + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_TypeDeclaration8393); + st=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_SequenceType.add(st.getTree()); + + + // AST REWRITE + // elements: st + // token labels: + // rule labels: retval, st + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_st=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token st",st!=null?st.tree:null); + + root_0 = this.adaptor.nil(); + // 1004:17: -> ^( TypeDeclaration $st) + { + // XQueryParser.g:1004:20: ^( TypeDeclaration $st) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(TypeDeclaration, "TypeDeclaration"), root_1); + + this.adaptor.addChild(root_1, stream_st.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SequenceType_return: (function() { + XQueryParser.p_SequenceType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SequenceType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1008:1: p_SequenceType : (k= EMPTY_SEQUENCE l= LPAREN r= RPAREN -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) | it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? -> ^( SequenceType $it ( $oi)? ) ); + // $ANTLR start "p_SequenceType" + p_SequenceType: function() { + var retval = new XQueryParser.p_SequenceType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var l = null; + var r = null; + var it = null; + var oi = null; + + var k_tree=null; + var l_tree=null; + var r_tree=null; + var stream_EMPTY_SEQUENCE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EMPTY_SEQUENCE"); + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_ItemType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ItemType"); + var stream_p_OccurrenceIndicator=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_OccurrenceIndicator"); + try { + // XQueryParser.g:1009:9: (k= EMPTY_SEQUENCE l= LPAREN r= RPAREN -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) | it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? -> ^( SequenceType $it ( $oi)? ) ) + var alt155=2; + var LA155_0 = this.input.LA(1); + + if ( (LA155_0==EMPTY_SEQUENCE) ) { + var LA155_1 = this.input.LA(2); + + if ( (LA155_1==LPAREN) ) { + alt155=1; + } + else if ( (LA155_1==EOF||(LA155_1>=AND && LA155_1<=AT)||LA155_1==CASE||LA155_1==COLLATION||LA155_1==DEFAULT||(LA155_1>=DESCENDING && LA155_1<=DIV)||(LA155_1>=ELSE && LA155_1<=EMPTY)||LA155_1==EQ||(LA155_1>=EXCEPT && LA155_1<=EXTERNAL)||LA155_1==FOR||LA155_1==GE||(LA155_1>=GT && LA155_1<=IDIV)||LA155_1==IN||(LA155_1>=INSTANCE && LA155_1<=IS)||LA155_1==LE||(LA155_1>=LT && LA155_1<=MOD)||LA155_1==NE||(LA155_1>=OR && LA155_1<=ORDER)||(LA155_1>=RETURN && LA155_1<=SATISFIES)||LA155_1==STABLE||LA155_1==TO||LA155_1==UNION||LA155_1==WHERE||LA155_1==COUNT||(LA155_1>=END && LA155_1<=GROUP)||LA155_1==ONLY||LA155_1==START||(LA155_1>=AFTER && LA155_1<=BEFORE)||LA155_1==INTO||LA155_1==MODIFY||LA155_1==WITH||LA155_1==RPAREN||(LA155_1>=LBRACKET && LA155_1<=RBRACKET)||(LA155_1>=RSQUARE && LA155_1<=NOTEQUAL)||(LA155_1>=COMMA && LA155_1<=GREATER_GREATER)||LA155_1==COLON||(LA155_1>=SEMICOLON && LA155_1<=VBAR)||LA155_1==LETDOLLAR) ) { + alt155=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 155, 1, this.input); + + throw nvae; + } + } + else if ( ((LA155_0>=ANCESTOR && LA155_0<=EMPTY)||(LA155_0>=ENCODING && LA155_0<=EXIT)||(LA155_0>=SEQUENTIAL && LA155_0<=MAINTAINED)||(LA155_0>=MUTABLE && LA155_0<=QUOT_ER)||LA155_0==L_NCName||LA155_0==EXPLICITLY) ) { + alt155=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 155, 0, this.input); + + throw nvae; + } + switch (alt155) { + case 1 : + // XQueryParser.g:1009:13: k= EMPTY_SEQUENCE l= LPAREN r= RPAREN + k=this.match(this.input,EMPTY_SEQUENCE,XQueryParser.FOLLOW_EMPTY_SEQUENCE_in_p_SequenceType8448); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EMPTY_SEQUENCE.add(k); + + l=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SequenceType8453); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(l); + + r=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SequenceType8457); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(r); + + + + // AST REWRITE + // elements: k, r, l + // token labels: r, l, k + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_r=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token r",r); + var stream_l=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token l",l); + var stream_k=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token k",k); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1010:17: -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) + { + // XQueryParser.g:1010:20: ^( SequenceType ^( EmptySequenceTest $k $l $r) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SequenceType, "SequenceType"), root_1); + + // XQueryParser.g:1010:35: ^( EmptySequenceTest $k $l $r) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(EmptySequenceTest, "EmptySequenceTest"), root_2); + + this.adaptor.addChild(root_2, stream_k.nextNode()); + this.adaptor.addChild(root_2, stream_l.nextNode()); + this.adaptor.addChild(root_2, stream_r.nextNode()); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1011:11: it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? + this.pushFollow(XQueryParser.FOLLOW_p_ItemType_in_p_SequenceType8506); + it=this.p_ItemType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ItemType.add(it.getTree()); + // XQueryParser.g:1011:25: ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? + var alt154=2; + alt154 = this.dfa154.predict(this.input); + switch (alt154) { + case 1 : + // XQueryParser.g:1011:26: ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_p_SequenceType8517); + oi=this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_OccurrenceIndicator.add(oi.getTree()); + + + break; + + } + + + + // AST REWRITE + // elements: oi, it + // token labels: + // rule labels: retval, it, oi + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_it=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token it",it!=null?it.tree:null); + var stream_oi=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token oi",oi!=null?oi.tree:null); + + root_0 = this.adaptor.nil(); + // 1012:17: -> ^( SequenceType $it ( $oi)? ) + { + // XQueryParser.g:1012:20: ^( SequenceType $it ( $oi)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SequenceType, "SequenceType"), root_1); + + this.adaptor.addChild(root_1, stream_it.nextTree()); + // XQueryParser.g:1012:39: ( $oi)? + if ( stream_oi.hasNext() ) { + this.adaptor.addChild(root_1, stream_oi.nextTree()); + + } + stream_oi.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OccurrenceIndicator_return: (function() { + XQueryParser.p_OccurrenceIndicator_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OccurrenceIndicator_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1016:1: p_OccurrenceIndicator : ( QUESTION | STAR | PLUS ); + // $ANTLR start "p_OccurrenceIndicator" + p_OccurrenceIndicator: function() { + var retval = new XQueryParser.p_OccurrenceIndicator_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set450 = null; + + var set450_tree=null; + + try { + // XQueryParser.g:1017:9: ( QUESTION | STAR | PLUS ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set450=this.input.LT(1); + if ( (this.input.LA(1)>=QUESTION && this.input.LA(1)<=PLUS) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set450)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ItemType_return: (function() { + XQueryParser.p_ItemType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ItemType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1021:1: p_ItemType : ( p_KindTest -> ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType ); + // $ANTLR start "p_ItemType" + p_ItemType: function() { + var retval = new XQueryParser.p_ItemType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var BINARY452 = null; + var LPAREN453 = null; + var RPAREN454 = null; + var ITEM455 = null; + var LPAREN456 = null; + var RPAREN457 = null; + var p_KindTest451 = null; + var p_AtomicType458 = null; + + var BINARY452_tree=null; + var LPAREN453_tree=null; + var RPAREN454_tree=null; + var ITEM455_tree=null; + var LPAREN456_tree=null; + var RPAREN457_tree=null; + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_ITEM=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ITEM"); + var stream_BINARY=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BINARY"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_KindTest=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_KindTest"); + try { + // XQueryParser.g:1022:9: ( p_KindTest -> ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType ) + var alt156=4; + alt156 = this.dfa156.predict(this.input); + switch (alt156) { + case 1 : + // XQueryParser.g:1022:11: p_KindTest + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_ItemType8619); + p_KindTest451=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_KindTest.add(p_KindTest451.getTree()); + + + // AST REWRITE + // elements: p_KindTest + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1023:17: -> ^( KindTest p_KindTest ) + { + // XQueryParser.g:1023:20: ^( KindTest p_KindTest ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(KindTest, "KindTest"), root_1); + + this.adaptor.addChild(root_1, stream_p_KindTest.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1024:11: {...}? => ( BINARY LPAREN RPAREN ) + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ItemType", "false"); + } + // XQueryParser.g:1024:22: ( BINARY LPAREN RPAREN ) + // XQueryParser.g:1024:23: BINARY LPAREN RPAREN + BINARY452=this.match(this.input,BINARY,XQueryParser.FOLLOW_BINARY_in_p_ItemType8659); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BINARY.add(BINARY452); + + LPAREN453=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ItemType8661); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN453); + + RPAREN454=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ItemType8663); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN454); + + + + + + + // AST REWRITE + // elements: LPAREN, RPAREN, BINARY + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1025:17: -> ^( BinaryTest BINARY LPAREN RPAREN ) + { + // XQueryParser.g:1025:20: ^( BinaryTest BINARY LPAREN RPAREN ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BinaryTest, "BinaryTest"), root_1); + + this.adaptor.addChild(root_1, stream_BINARY.nextNode()); + this.adaptor.addChild(root_1, stream_LPAREN.nextNode()); + this.adaptor.addChild(root_1, stream_RPAREN.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 3 : + // XQueryParser.g:1026:11: ( ITEM LPAREN RPAREN ) + // XQueryParser.g:1026:11: ( ITEM LPAREN RPAREN ) + // XQueryParser.g:1026:12: ITEM LPAREN RPAREN + ITEM455=this.match(this.input,ITEM,XQueryParser.FOLLOW_ITEM_in_p_ItemType8705); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ITEM.add(ITEM455); + + LPAREN456=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ItemType8707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN456); + + RPAREN457=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ItemType8709); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN457); + + + + + + + // AST REWRITE + // elements: RPAREN, LPAREN, ITEM + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1027:17: -> ^( ItemTest ITEM LPAREN RPAREN ) + { + // XQueryParser.g:1027:20: ^( ItemTest ITEM LPAREN RPAREN ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ItemTest, "ItemTest"), root_1); + + this.adaptor.addChild(root_1, stream_ITEM.nextNode()); + this.adaptor.addChild(root_1, stream_LPAREN.nextNode()); + this.adaptor.addChild(root_1, stream_RPAREN.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 4 : + // XQueryParser.g:1028:11: p_AtomicType + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_ItemType8750); + p_AtomicType458=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType458.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AtomicType_return: (function() { + XQueryParser.p_AtomicType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AtomicType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1032:1: p_AtomicType : p_QName -> ^( AtomicType p_QName ) ; + // $ANTLR start "p_AtomicType" + p_AtomicType: function() { + var retval = new XQueryParser.p_AtomicType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName459 = null; + + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:1033:9: ( p_QName -> ^( AtomicType p_QName ) ) + // XQueryParser.g:1033:11: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AtomicType8776); + p_QName459=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName459.getTree()); + + + // AST REWRITE + // elements: p_QName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1034:17: -> ^( AtomicType p_QName ) + { + // XQueryParser.g:1034:20: ^( AtomicType p_QName ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AtomicType, "AtomicType"), root_1); + + this.adaptor.addChild(root_1, stream_p_QName.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_KindTest_return: (function() { + XQueryParser.p_KindTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_KindTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1038:1: p_KindTest : ( p_DocumentTest | p_ElementTest | p_AttributeTest | p_SchemaElementTest | p_SchemaAttributeTest | p_NamespaceNodeTest | p_PITest | p_CommentTest | p_TextTest | p_AnyKindTest ); + // $ANTLR start "p_KindTest" + p_KindTest: function() { + var retval = new XQueryParser.p_KindTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_DocumentTest460 = null; + var p_ElementTest461 = null; + var p_AttributeTest462 = null; + var p_SchemaElementTest463 = null; + var p_SchemaAttributeTest464 = null; + var p_NamespaceNodeTest465 = null; + var p_PITest466 = null; + var p_CommentTest467 = null; + var p_TextTest468 = null; + var p_AnyKindTest469 = null; + + + try { + // XQueryParser.g:1039:9: ( p_DocumentTest | p_ElementTest | p_AttributeTest | p_SchemaElementTest | p_SchemaAttributeTest | p_NamespaceNodeTest | p_PITest | p_CommentTest | p_TextTest | p_AnyKindTest ) + var alt157=10; + switch ( this.input.LA(1) ) { + case DOCUMENT_NODE: + alt157=1; + break; + case ELEMENT: + alt157=2; + break; + case ATTRIBUTE: + alt157=3; + break; + case SCHEMA_ELEMENT: + alt157=4; + break; + case SCHEMA_ATTRIBUTE: + alt157=5; + break; + case NAMESPACE_NODE: + alt157=6; + break; + case PROCESSING_INSTRUCTION: + alt157=7; + break; + case COMMENT: + alt157=8; + break; + case TEXT: + alt157=9; + break; + case NODE: + alt157=10; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 157, 0, this.input); + + throw nvae; + } + + switch (alt157) { + case 1 : + // XQueryParser.g:1039:11: p_DocumentTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DocumentTest_in_p_KindTest8826); + p_DocumentTest460=this.p_DocumentTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DocumentTest460.getTree()); + + + break; + case 2 : + // XQueryParser.g:1040:11: p_ElementTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElementTest_in_p_KindTest8838); + p_ElementTest461=this.p_ElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementTest461.getTree()); + + + break; + case 3 : + // XQueryParser.g:1041:11: p_AttributeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AttributeTest_in_p_KindTest8850); + p_AttributeTest462=this.p_AttributeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeTest462.getTree()); + + + break; + case 4 : + // XQueryParser.g:1042:11: p_SchemaElementTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_SchemaElementTest_in_p_KindTest8862); + p_SchemaElementTest463=this.p_SchemaElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaElementTest463.getTree()); + + + break; + case 5 : + // XQueryParser.g:1043:11: p_SchemaAttributeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_SchemaAttributeTest_in_p_KindTest8874); + p_SchemaAttributeTest464=this.p_SchemaAttributeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaAttributeTest464.getTree()); + + + break; + case 6 : + // XQueryParser.g:1044:11: p_NamespaceNodeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NamespaceNodeTest_in_p_KindTest8886); + p_NamespaceNodeTest465=this.p_NamespaceNodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NamespaceNodeTest465.getTree()); + + + break; + case 7 : + // XQueryParser.g:1045:11: p_PITest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PITest_in_p_KindTest8898); + p_PITest466=this.p_PITest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PITest466.getTree()); + + + break; + case 8 : + // XQueryParser.g:1046:11: p_CommentTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CommentTest_in_p_KindTest8910); + p_CommentTest467=this.p_CommentTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CommentTest467.getTree()); + + + break; + case 9 : + // XQueryParser.g:1047:11: p_TextTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TextTest_in_p_KindTest8922); + p_TextTest468=this.p_TextTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TextTest468.getTree()); + + + break; + case 10 : + // XQueryParser.g:1048:11: p_AnyKindTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AnyKindTest_in_p_KindTest8934); + p_AnyKindTest469=this.p_AnyKindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AnyKindTest469.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AnyKindTest_return: (function() { + XQueryParser.p_AnyKindTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AnyKindTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1052:1: p_AnyKindTest : NODE LPAREN RPAREN ; + // $ANTLR start "p_AnyKindTest" + p_AnyKindTest: function() { + var retval = new XQueryParser.p_AnyKindTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var NODE470 = null; + var LPAREN471 = null; + var RPAREN472 = null; + + var NODE470_tree=null; + var LPAREN471_tree=null; + var RPAREN472_tree=null; + + try { + // XQueryParser.g:1053:9: ( NODE LPAREN RPAREN ) + // XQueryParser.g:1053:13: NODE LPAREN RPAREN + root_0 = this.adaptor.nil(); + + NODE470=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_AnyKindTest8962); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + NODE470_tree = this.adaptor.create(NODE470); + this.adaptor.addChild(root_0, NODE470_tree); + } + LPAREN471=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_AnyKindTest8964); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN471_tree = this.adaptor.create(LPAREN471); + this.adaptor.addChild(root_0, LPAREN471_tree); + } + RPAREN472=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_AnyKindTest8966); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN472_tree = this.adaptor.create(RPAREN472); + this.adaptor.addChild(root_0, RPAREN472_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DocumentTest_return: (function() { + XQueryParser.p_DocumentTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DocumentTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1057:1: p_DocumentTest : DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN ; + // $ANTLR start "p_DocumentTest" + p_DocumentTest: function() { + var retval = new XQueryParser.p_DocumentTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOCUMENT_NODE473 = null; + var LPAREN474 = null; + var RPAREN477 = null; + var p_ElementTest475 = null; + var p_SchemaElementTest476 = null; + + var DOCUMENT_NODE473_tree=null; + var LPAREN474_tree=null; + var RPAREN477_tree=null; + + try { + // XQueryParser.g:1058:9: ( DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN ) + // XQueryParser.g:1058:13: DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN + root_0 = this.adaptor.nil(); + + DOCUMENT_NODE473=this.match(this.input,DOCUMENT_NODE,XQueryParser.FOLLOW_DOCUMENT_NODE_in_p_DocumentTest8994); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOCUMENT_NODE473_tree = this.adaptor.create(DOCUMENT_NODE473); + this.adaptor.addChild(root_0, DOCUMENT_NODE473_tree); + } + LPAREN474=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_DocumentTest8996); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN474_tree = this.adaptor.create(LPAREN474); + this.adaptor.addChild(root_0, LPAREN474_tree); + } + // XQueryParser.g:1058:34: ( p_ElementTest | p_SchemaElementTest )? + var alt158=3; + var LA158_0 = this.input.LA(1); + + if ( (LA158_0==ELEMENT) ) { + alt158=1; + } + else if ( (LA158_0==SCHEMA_ELEMENT) ) { + alt158=2; + } + switch (alt158) { + case 1 : + // XQueryParser.g:1058:35: p_ElementTest + this.pushFollow(XQueryParser.FOLLOW_p_ElementTest_in_p_DocumentTest8999); + p_ElementTest475=this.p_ElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementTest475.getTree()); + + + break; + case 2 : + // XQueryParser.g:1058:51: p_SchemaElementTest + this.pushFollow(XQueryParser.FOLLOW_p_SchemaElementTest_in_p_DocumentTest9003); + p_SchemaElementTest476=this.p_SchemaElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaElementTest476.getTree()); + + + break; + + } + + RPAREN477=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_DocumentTest9007); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN477_tree = this.adaptor.create(RPAREN477); + this.adaptor.addChild(root_0, RPAREN477_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TextTest_return: (function() { + XQueryParser.p_TextTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TextTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1061:1: p_TextTest : TEXT LPAREN RPAREN ; + // $ANTLR start "p_TextTest" + p_TextTest: function() { + var retval = new XQueryParser.p_TextTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var TEXT478 = null; + var LPAREN479 = null; + var RPAREN480 = null; + + var TEXT478_tree=null; + var LPAREN479_tree=null; + var RPAREN480_tree=null; + + try { + // XQueryParser.g:1062:9: ( TEXT LPAREN RPAREN ) + // XQueryParser.g:1062:13: TEXT LPAREN RPAREN + root_0 = this.adaptor.nil(); + + TEXT478=this.match(this.input,TEXT,XQueryParser.FOLLOW_TEXT_in_p_TextTest9027); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + TEXT478_tree = this.adaptor.create(TEXT478); + this.adaptor.addChild(root_0, TEXT478_tree); + } + LPAREN479=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_TextTest9029); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN479_tree = this.adaptor.create(LPAREN479); + this.adaptor.addChild(root_0, LPAREN479_tree); + } + RPAREN480=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_TextTest9031); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN480_tree = this.adaptor.create(RPAREN480); + this.adaptor.addChild(root_0, RPAREN480_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CommentTest_return: (function() { + XQueryParser.p_CommentTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CommentTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1066:1: p_CommentTest : COMMENT LPAREN RPAREN ; + // $ANTLR start "p_CommentTest" + p_CommentTest: function() { + var retval = new XQueryParser.p_CommentTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMENT481 = null; + var LPAREN482 = null; + var RPAREN483 = null; + + var COMMENT481_tree=null; + var LPAREN482_tree=null; + var RPAREN483_tree=null; + + try { + // XQueryParser.g:1067:9: ( COMMENT LPAREN RPAREN ) + // XQueryParser.g:1067:13: COMMENT LPAREN RPAREN + root_0 = this.adaptor.nil(); + + COMMENT481=this.match(this.input,COMMENT,XQueryParser.FOLLOW_COMMENT_in_p_CommentTest9059); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMENT481_tree = this.adaptor.create(COMMENT481); + this.adaptor.addChild(root_0, COMMENT481_tree); + } + LPAREN482=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_CommentTest9061); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN482_tree = this.adaptor.create(LPAREN482); + this.adaptor.addChild(root_0, LPAREN482_tree); + } + RPAREN483=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_CommentTest9063); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN483_tree = this.adaptor.create(RPAREN483); + this.adaptor.addChild(root_0, RPAREN483_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NamespaceNodeTest_return: (function() { + XQueryParser.p_NamespaceNodeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NamespaceNodeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1071:1: p_NamespaceNodeTest : NAMESPACE_NODE LPAREN RPAREN ; + // $ANTLR start "p_NamespaceNodeTest" + p_NamespaceNodeTest: function() { + var retval = new XQueryParser.p_NamespaceNodeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var NAMESPACE_NODE484 = null; + var LPAREN485 = null; + var RPAREN486 = null; + + var NAMESPACE_NODE484_tree=null; + var LPAREN485_tree=null; + var RPAREN486_tree=null; + + try { + // XQueryParser.g:1072:9: ( NAMESPACE_NODE LPAREN RPAREN ) + // XQueryParser.g:1072:11: NAMESPACE_NODE LPAREN RPAREN + root_0 = this.adaptor.nil(); + + NAMESPACE_NODE484=this.match(this.input,NAMESPACE_NODE,XQueryParser.FOLLOW_NAMESPACE_NODE_in_p_NamespaceNodeTest9089); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + NAMESPACE_NODE484_tree = this.adaptor.create(NAMESPACE_NODE484); + this.adaptor.addChild(root_0, NAMESPACE_NODE484_tree); + } + LPAREN485=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_NamespaceNodeTest9091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN485_tree = this.adaptor.create(LPAREN485); + this.adaptor.addChild(root_0, LPAREN485_tree); + } + RPAREN486=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_NamespaceNodeTest9093); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN486_tree = this.adaptor.create(RPAREN486); + this.adaptor.addChild(root_0, RPAREN486_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PITest_return: (function() { + XQueryParser.p_PITest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PITest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1076:1: p_PITest : PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN ; + // $ANTLR start "p_PITest" + p_PITest: function() { + var retval = new XQueryParser.p_PITest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PROCESSING_INSTRUCTION487 = null; + var LPAREN488 = null; + var RPAREN491 = null; + var p_NCName489 = null; + var p_StringLiteral490 = null; + + var PROCESSING_INSTRUCTION487_tree=null; + var LPAREN488_tree=null; + var RPAREN491_tree=null; + + try { + // XQueryParser.g:1077:9: ( PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN ) + // XQueryParser.g:1077:13: PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN + root_0 = this.adaptor.nil(); + + PROCESSING_INSTRUCTION487=this.match(this.input,PROCESSING_INSTRUCTION,XQueryParser.FOLLOW_PROCESSING_INSTRUCTION_in_p_PITest9121); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PROCESSING_INSTRUCTION487_tree = this.adaptor.create(PROCESSING_INSTRUCTION487); + this.adaptor.addChild(root_0, PROCESSING_INSTRUCTION487_tree); + } + LPAREN488=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_PITest9123); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN488_tree = this.adaptor.create(LPAREN488); + this.adaptor.addChild(root_0, LPAREN488_tree); + } + // XQueryParser.g:1077:43: ( p_NCName | p_StringLiteral )? + var alt159=3; + var LA159_0 = this.input.LA(1); + + if ( ((LA159_0>=ANCESTOR && LA159_0<=EXIT)||(LA159_0>=SEQUENTIAL && LA159_0<=MAINTAINED)||(LA159_0>=MUTABLE && LA159_0<=QUOT_ER)||LA159_0==L_NCName||LA159_0==EXPLICITLY) ) { + alt159=1; + } + else if ( ((LA159_0>=APOS && LA159_0<=QUOT)) ) { + alt159=2; + } + switch (alt159) { + case 1 : + // XQueryParser.g:1077:44: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_PITest9126); + p_NCName489=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName489.getTree()); + + + break; + case 2 : + // XQueryParser.g:1077:55: p_StringLiteral + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_PITest9130); + p_StringLiteral490=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral490.getTree()); + + + break; + + } + + RPAREN491=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_PITest9134); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN491_tree = this.adaptor.create(RPAREN491); + this.adaptor.addChild(root_0, RPAREN491_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeTest_return: (function() { + XQueryParser.p_AttributeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1081:1: p_AttributeTest : ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN ; + // $ANTLR start "p_AttributeTest" + p_AttributeTest: function() { + var retval = new XQueryParser.p_AttributeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ATTRIBUTE492 = null; + var LPAREN493 = null; + var COMMA495 = null; + var RPAREN497 = null; + var p_AttribNameOrWildcard494 = null; + var p_TypeName496 = null; + + var ATTRIBUTE492_tree=null; + var LPAREN493_tree=null; + var COMMA495_tree=null; + var RPAREN497_tree=null; + + try { + // XQueryParser.g:1082:9: ( ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN ) + // XQueryParser.g:1082:13: ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN + root_0 = this.adaptor.nil(); + + ATTRIBUTE492=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_AttributeTest9162); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTRIBUTE492_tree = this.adaptor.create(ATTRIBUTE492); + this.adaptor.addChild(root_0, ATTRIBUTE492_tree); + } + LPAREN493=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_AttributeTest9164); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN493_tree = this.adaptor.create(LPAREN493); + this.adaptor.addChild(root_0, LPAREN493_tree); + } + // XQueryParser.g:1082:30: ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? + var alt161=2; + var LA161_0 = this.input.LA(1); + + if ( ((LA161_0>=ANCESTOR && LA161_0<=EXIT)||(LA161_0>=SEQUENTIAL && LA161_0<=MAINTAINED)||(LA161_0>=MUTABLE && LA161_0<=QUOT_ER)||LA161_0==STAR||LA161_0==L_NCName||LA161_0==EXPLICITLY) ) { + alt161=1; + } + switch (alt161) { + case 1 : + // XQueryParser.g:1082:31: p_AttribNameOrWildcard ( COMMA p_TypeName )? + this.pushFollow(XQueryParser.FOLLOW_p_AttribNameOrWildcard_in_p_AttributeTest9167); + p_AttribNameOrWildcard494=this.p_AttribNameOrWildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttribNameOrWildcard494.getTree()); + // XQueryParser.g:1082:54: ( COMMA p_TypeName )? + var alt160=2; + var LA160_0 = this.input.LA(1); + + if ( (LA160_0==COMMA) ) { + alt160=1; + } + switch (alt160) { + case 1 : + // XQueryParser.g:1082:55: COMMA p_TypeName + COMMA495=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_AttributeTest9170); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA495_tree = this.adaptor.create(COMMA495); + this.adaptor.addChild(root_0, COMMA495_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_TypeName_in_p_AttributeTest9172); + p_TypeName496=this.p_TypeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeName496.getTree()); + + + break; + + } + + + + break; + + } + + RPAREN497=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_AttributeTest9178); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN497_tree = this.adaptor.create(RPAREN497); + this.adaptor.addChild(root_0, RPAREN497_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttribNameOrWildcard_return: (function() { + XQueryParser.p_AttribNameOrWildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttribNameOrWildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1086:1: p_AttribNameOrWildcard : ( p_QName | STAR ); + // $ANTLR start "p_AttribNameOrWildcard" + p_AttribNameOrWildcard: function() { + var retval = new XQueryParser.p_AttribNameOrWildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR499 = null; + var p_QName498 = null; + + var STAR499_tree=null; + + try { + // XQueryParser.g:1087:9: ( p_QName | STAR ) + var alt162=2; + var LA162_0 = this.input.LA(1); + + if ( ((LA162_0>=ANCESTOR && LA162_0<=EXIT)||(LA162_0>=SEQUENTIAL && LA162_0<=MAINTAINED)||(LA162_0>=MUTABLE && LA162_0<=QUOT_ER)||LA162_0==L_NCName||LA162_0==EXPLICITLY) ) { + alt162=1; + } + else if ( (LA162_0==STAR) ) { + alt162=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 162, 0, this.input); + + throw nvae; + } + switch (alt162) { + case 1 : + // XQueryParser.g:1087:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AttribNameOrWildcard9208); + p_QName498=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName498.getTree()); + + + break; + case 2 : + // XQueryParser.g:1087:23: STAR + root_0 = this.adaptor.nil(); + + STAR499=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_AttribNameOrWildcard9212); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR499_tree = this.adaptor.create(STAR499); + this.adaptor.addChild(root_0, STAR499_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaAttributeTest_return: (function() { + XQueryParser.p_SchemaAttributeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaAttributeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1091:1: p_SchemaAttributeTest : SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN ; + // $ANTLR start "p_SchemaAttributeTest" + p_SchemaAttributeTest: function() { + var retval = new XQueryParser.p_SchemaAttributeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SCHEMA_ATTRIBUTE500 = null; + var LPAREN501 = null; + var RPAREN503 = null; + var p_AttributeDeclaration502 = null; + + var SCHEMA_ATTRIBUTE500_tree=null; + var LPAREN501_tree=null; + var RPAREN503_tree=null; + + try { + // XQueryParser.g:1092:9: ( SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN ) + // XQueryParser.g:1092:13: SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN + root_0 = this.adaptor.nil(); + + SCHEMA_ATTRIBUTE500=this.match(this.input,SCHEMA_ATTRIBUTE,XQueryParser.FOLLOW_SCHEMA_ATTRIBUTE_in_p_SchemaAttributeTest9240); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SCHEMA_ATTRIBUTE500_tree = this.adaptor.create(SCHEMA_ATTRIBUTE500); + this.adaptor.addChild(root_0, SCHEMA_ATTRIBUTE500_tree); + } + LPAREN501=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SchemaAttributeTest9242); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN501_tree = this.adaptor.create(LPAREN501); + this.adaptor.addChild(root_0, LPAREN501_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AttributeDeclaration_in_p_SchemaAttributeTest9244); + p_AttributeDeclaration502=this.p_AttributeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeDeclaration502.getTree()); + RPAREN503=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SchemaAttributeTest9246); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN503_tree = this.adaptor.create(RPAREN503); + this.adaptor.addChild(root_0, RPAREN503_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeDeclaration_return: (function() { + XQueryParser.p_AttributeDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1096:1: p_AttributeDeclaration : p_AttributeName ; + // $ANTLR start "p_AttributeDeclaration" + p_AttributeDeclaration: function() { + var retval = new XQueryParser.p_AttributeDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_AttributeName504 = null; + + + try { + // XQueryParser.g:1097:9: ( p_AttributeName ) + // XQueryParser.g:1097:11: p_AttributeName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AttributeName_in_p_AttributeDeclaration9272); + p_AttributeName504=this.p_AttributeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeName504.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementTest_return: (function() { + XQueryParser.p_ElementTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1101:1: p_ElementTest : ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN ; + // $ANTLR start "p_ElementTest" + p_ElementTest: function() { + var retval = new XQueryParser.p_ElementTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ELEMENT505 = null; + var LPAREN506 = null; + var COMMA508 = null; + var QUESTION510 = null; + var RPAREN511 = null; + var p_ElementNameOrWildcard507 = null; + var p_TypeName509 = null; + + var ELEMENT505_tree=null; + var LPAREN506_tree=null; + var COMMA508_tree=null; + var QUESTION510_tree=null; + var RPAREN511_tree=null; + + try { + // XQueryParser.g:1102:9: ( ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN ) + // XQueryParser.g:1102:13: ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN + root_0 = this.adaptor.nil(); + + ELEMENT505=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_ElementTest9300); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ELEMENT505_tree = this.adaptor.create(ELEMENT505); + this.adaptor.addChild(root_0, ELEMENT505_tree); + } + LPAREN506=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ElementTest9302); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN506_tree = this.adaptor.create(LPAREN506); + this.adaptor.addChild(root_0, LPAREN506_tree); + } + // XQueryParser.g:1102:28: ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? + var alt165=2; + var LA165_0 = this.input.LA(1); + + if ( ((LA165_0>=ANCESTOR && LA165_0<=EXIT)||(LA165_0>=SEQUENTIAL && LA165_0<=MAINTAINED)||(LA165_0>=MUTABLE && LA165_0<=QUOT_ER)||LA165_0==STAR||LA165_0==L_NCName||LA165_0==EXPLICITLY) ) { + alt165=1; + } + switch (alt165) { + case 1 : + // XQueryParser.g:1102:29: p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? + this.pushFollow(XQueryParser.FOLLOW_p_ElementNameOrWildcard_in_p_ElementTest9305); + p_ElementNameOrWildcard507=this.p_ElementNameOrWildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementNameOrWildcard507.getTree()); + // XQueryParser.g:1102:53: ( COMMA p_TypeName ( QUESTION )? )? + var alt164=2; + var LA164_0 = this.input.LA(1); + + if ( (LA164_0==COMMA) ) { + alt164=1; + } + switch (alt164) { + case 1 : + // XQueryParser.g:1102:54: COMMA p_TypeName ( QUESTION )? + COMMA508=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ElementTest9308); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA508_tree = this.adaptor.create(COMMA508); + this.adaptor.addChild(root_0, COMMA508_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_TypeName_in_p_ElementTest9310); + p_TypeName509=this.p_TypeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeName509.getTree()); + // XQueryParser.g:1102:71: ( QUESTION )? + var alt163=2; + var LA163_0 = this.input.LA(1); + + if ( (LA163_0==QUESTION) ) { + alt163=1; + } + switch (alt163) { + case 1 : + // XQueryParser.g:1102:71: QUESTION + QUESTION510=this.match(this.input,QUESTION,XQueryParser.FOLLOW_QUESTION_in_p_ElementTest9312); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + QUESTION510_tree = this.adaptor.create(QUESTION510); + this.adaptor.addChild(root_0, QUESTION510_tree); + } + + + break; + + } + + + + break; + + } + + + + break; + + } + + RPAREN511=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ElementTest9319); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN511_tree = this.adaptor.create(RPAREN511); + this.adaptor.addChild(root_0, RPAREN511_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementNameOrWildcard_return: (function() { + XQueryParser.p_ElementNameOrWildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementNameOrWildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1106:1: p_ElementNameOrWildcard : ( p_QName | STAR ); + // $ANTLR start "p_ElementNameOrWildcard" + p_ElementNameOrWildcard: function() { + var retval = new XQueryParser.p_ElementNameOrWildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR513 = null; + var p_QName512 = null; + + var STAR513_tree=null; + + try { + // XQueryParser.g:1107:9: ( p_QName | STAR ) + var alt166=2; + var LA166_0 = this.input.LA(1); + + if ( ((LA166_0>=ANCESTOR && LA166_0<=EXIT)||(LA166_0>=SEQUENTIAL && LA166_0<=MAINTAINED)||(LA166_0>=MUTABLE && LA166_0<=QUOT_ER)||LA166_0==L_NCName||LA166_0==EXPLICITLY) ) { + alt166=1; + } + else if ( (LA166_0==STAR) ) { + alt166=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 166, 0, this.input); + + throw nvae; + } + switch (alt166) { + case 1 : + // XQueryParser.g:1107:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ElementNameOrWildcard9347); + p_QName512=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName512.getTree()); + + + break; + case 2 : + // XQueryParser.g:1107:23: STAR + root_0 = this.adaptor.nil(); + + STAR513=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_ElementNameOrWildcard9351); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR513_tree = this.adaptor.create(STAR513); + this.adaptor.addChild(root_0, STAR513_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaElementTest_return: (function() { + XQueryParser.p_SchemaElementTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaElementTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1110:1: p_SchemaElementTest : SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN ; + // $ANTLR start "p_SchemaElementTest" + p_SchemaElementTest: function() { + var retval = new XQueryParser.p_SchemaElementTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SCHEMA_ELEMENT514 = null; + var LPAREN515 = null; + var RPAREN517 = null; + var p_ElementDeclaration516 = null; + + var SCHEMA_ELEMENT514_tree=null; + var LPAREN515_tree=null; + var RPAREN517_tree=null; + + try { + // XQueryParser.g:1111:9: ( SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN ) + // XQueryParser.g:1111:13: SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN + root_0 = this.adaptor.nil(); + + SCHEMA_ELEMENT514=this.match(this.input,SCHEMA_ELEMENT,XQueryParser.FOLLOW_SCHEMA_ELEMENT_in_p_SchemaElementTest9371); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SCHEMA_ELEMENT514_tree = this.adaptor.create(SCHEMA_ELEMENT514); + this.adaptor.addChild(root_0, SCHEMA_ELEMENT514_tree); + } + LPAREN515=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SchemaElementTest9373); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN515_tree = this.adaptor.create(LPAREN515); + this.adaptor.addChild(root_0, LPAREN515_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ElementDeclaration_in_p_SchemaElementTest9375); + p_ElementDeclaration516=this.p_ElementDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementDeclaration516.getTree()); + RPAREN517=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SchemaElementTest9377); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN517_tree = this.adaptor.create(RPAREN517); + this.adaptor.addChild(root_0, RPAREN517_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementDeclaration_return: (function() { + XQueryParser.p_ElementDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1115:1: p_ElementDeclaration : p_ElementName ; + // $ANTLR start "p_ElementDeclaration" + p_ElementDeclaration: function() { + var retval = new XQueryParser.p_ElementDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ElementName518 = null; + + + try { + // XQueryParser.g:1116:9: ( p_ElementName ) + // XQueryParser.g:1116:11: p_ElementName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElementName_in_p_ElementDeclaration9403); + p_ElementName518=this.p_ElementName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementName518.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeName_return: (function() { + XQueryParser.p_AttributeName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1120:1: p_AttributeName : p_QName ; + // $ANTLR start "p_AttributeName" + p_AttributeName: function() { + var retval = new XQueryParser.p_AttributeName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName519 = null; + + + try { + // XQueryParser.g:1121:9: ( p_QName ) + // XQueryParser.g:1121:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AttributeName9431); + p_QName519=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName519.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementName_return: (function() { + XQueryParser.p_ElementName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1125:1: p_ElementName : p_QName ; + // $ANTLR start "p_ElementName" + p_ElementName: function() { + var retval = new XQueryParser.p_ElementName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName520 = null; + + + try { + // XQueryParser.g:1126:9: ( p_QName ) + // XQueryParser.g:1126:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ElementName9459); + p_QName520=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName520.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeName_return: (function() { + XQueryParser.p_TypeName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1130:1: p_TypeName : p_QName ; + // $ANTLR start "p_TypeName" + p_TypeName: function() { + var retval = new XQueryParser.p_TypeName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName521 = null; + + + try { + // XQueryParser.g:1131:9: ( p_QName ) + // XQueryParser.g:1131:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_TypeName9487); + p_QName521=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName521.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TryCatchExpr_return: (function() { + XQueryParser.p_TryCatchExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TryCatchExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1141:1: p_TryCatchExpr : p_TryClause ( p_CatchClause )+ ; + // $ANTLR start "p_TryCatchExpr" + p_TryCatchExpr: function() { + var retval = new XQueryParser.p_TryCatchExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_TryClause522 = null; + var p_CatchClause523 = null; + + + try { + // XQueryParser.g:1142:9: ( p_TryClause ( p_CatchClause )+ ) + // XQueryParser.g:1142:11: p_TryClause ( p_CatchClause )+ + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TryClause_in_p_TryCatchExpr9519); + p_TryClause522=this.p_TryClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TryClause522.getTree()); + // XQueryParser.g:1142:23: ( p_CatchClause )+ + var cnt167=0; + loop167: + do { + var alt167=2; + var LA167_0 = this.input.LA(1); + + if ( (LA167_0==CATCH) ) { + alt167=1; + } + + + switch (alt167) { + case 1 : + // XQueryParser.g:1142:23: p_CatchClause + this.pushFollow(XQueryParser.FOLLOW_p_CatchClause_in_p_TryCatchExpr9521); + p_CatchClause523=this.p_CatchClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchClause523.getTree()); + + + break; + + default : + if ( cnt167 >= 1 ) { + break loop167; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(167, this.input); + throw eee; + } + cnt167++; + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TryClause_return: (function() { + XQueryParser.p_TryClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TryClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1146:1: p_TryClause : kc= TRY LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_TryClause" + p_TryClause: function() { + var retval = new XQueryParser.p_TryClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var LBRACKET524 = null; + var RBRACKET526 = null; + var pm_Expr525 = null; + + var kc_tree=null; + var LBRACKET524_tree=null; + var RBRACKET526_tree=null; + + try { + // XQueryParser.g:1147:9: (kc= TRY LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:1147:11: kc= TRY LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,TRY,XQueryParser.FOLLOW_TRY_in_p_TryClause9550); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + LBRACKET524=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_TryClause9552); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET524_tree = this.adaptor.create(LBRACKET524); + this.adaptor.addChild(root_0, LBRACKET524_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_TryClause9554); + pm_Expr525=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr525.getTree()); + RBRACKET526=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_TryClause9556); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET526_tree = this.adaptor.create(RBRACKET526); + this.adaptor.addChild(root_0, RBRACKET526_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchClause_return: (function() { + XQueryParser.p_CatchClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1154:1: p_CatchClause : kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CatchClause" + p_CatchClause: function() { + var retval = new XQueryParser.p_CatchClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var LBRACKET529 = null; + var RBRACKET531 = null; + var p_CatchErrorList527 = null; + var p_CatchVars528 = null; + var pm_Expr530 = null; + + var kc_tree=null; + var LBRACKET529_tree=null; + var RBRACKET531_tree=null; + + try { + // XQueryParser.g:1155:9: (kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:1155:11: kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,CATCH,XQueryParser.FOLLOW_CATCH_in_p_CatchClause9587); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_CatchErrorList_in_p_CatchClause9589); + p_CatchErrorList527=this.p_CatchErrorList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchErrorList527.getTree()); + // XQueryParser.g:1155:37: ( p_CatchVars )? + var alt168=2; + var LA168_0 = this.input.LA(1); + + if ( (LA168_0==LPAREN) ) { + alt168=1; + } + switch (alt168) { + case 1 : + // XQueryParser.g:1155:37: p_CatchVars + this.pushFollow(XQueryParser.FOLLOW_p_CatchVars_in_p_CatchClause9591); + p_CatchVars528=this.p_CatchVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchVars528.getTree()); + + + break; + + } + + LBRACKET529=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CatchClause9594); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET529_tree = this.adaptor.create(LBRACKET529); + this.adaptor.addChild(root_0, LBRACKET529_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CatchClause9596); + pm_Expr530=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr530.getTree()); + RBRACKET531=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CatchClause9598); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET531_tree = this.adaptor.create(RBRACKET531); + this.adaptor.addChild(root_0, RBRACKET531_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchErrorList_return: (function() { + XQueryParser.p_CatchErrorList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchErrorList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1159:1: p_CatchErrorList : ( p_NameTest ( VBAR p_NameTest )* | {...}? => () ); + // $ANTLR start "p_CatchErrorList" + p_CatchErrorList: function() { + var retval = new XQueryParser.p_CatchErrorList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var VBAR533 = null; + var p_NameTest532 = null; + var p_NameTest534 = null; + + var VBAR533_tree=null; + + try { + // XQueryParser.g:1160:9: ( p_NameTest ( VBAR p_NameTest )* | {...}? => () ) + var alt170=2; + var LA170_0 = this.input.LA(1); + + if ( ((LA170_0>=ANCESTOR && LA170_0<=EXIT)||(LA170_0>=SEQUENTIAL && LA170_0<=MAINTAINED)||(LA170_0>=MUTABLE && LA170_0<=QUOT_ER)||LA170_0==STAR||LA170_0==L_NCName||LA170_0==EXPLICITLY) ) { + alt170=1; + } + else if ( (LA170_0==LPAREN||LA170_0==LBRACKET) && ((false))) { + alt170=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 170, 0, this.input); + + throw nvae; + } + switch (alt170) { + case 1 : + // XQueryParser.g:1160:11: p_NameTest ( VBAR p_NameTest )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_CatchErrorList9624); + p_NameTest532=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest532.getTree()); + // XQueryParser.g:1160:22: ( VBAR p_NameTest )* + loop169: + do { + var alt169=2; + var LA169_0 = this.input.LA(1); + + if ( (LA169_0==VBAR) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // XQueryParser.g:1160:23: VBAR p_NameTest + VBAR533=this.match(this.input,VBAR,XQueryParser.FOLLOW_VBAR_in_p_CatchErrorList9627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + VBAR533_tree = this.adaptor.create(VBAR533); + this.adaptor.addChild(root_0, VBAR533_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_CatchErrorList9629); + p_NameTest534=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest534.getTree()); + + + break; + + default : + break loop169; + } + } while (true); + + + + break; + case 2 : + // XQueryParser.g:1161:11: {...}? => () + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_CatchErrorList", "false"); + } + // XQueryParser.g:1161:22: () + // XQueryParser.g:1161:36: + + + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchVars_return: (function() { + XQueryParser.p_CatchVars_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchVars_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1165:2: p_CatchVars : LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN ; + // $ANTLR start "p_CatchVars" + p_CatchVars: function() { + var retval = new XQueryParser.p_CatchVars_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN535 = null; + var DOLLAR536 = null; + var COMMA538 = null; + var DOLLAR539 = null; + var COMMA541 = null; + var DOLLAR542 = null; + var RPAREN544 = null; + var p_VarName537 = null; + var p_VarName540 = null; + var p_VarName543 = null; + + var LPAREN535_tree=null; + var DOLLAR536_tree=null; + var COMMA538_tree=null; + var DOLLAR539_tree=null; + var COMMA541_tree=null; + var DOLLAR542_tree=null; + var RPAREN544_tree=null; + + try { + // XQueryParser.g:1166:9: ( LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN ) + // XQueryParser.g:1166:11: LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN + root_0 = this.adaptor.nil(); + + LPAREN535=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_CatchVars9675); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN535_tree = this.adaptor.create(LPAREN535); + this.adaptor.addChild(root_0, LPAREN535_tree); + } + DOLLAR536=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9677); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR536_tree = this.adaptor.create(DOLLAR536); + this.adaptor.addChild(root_0, DOLLAR536_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9679); + p_VarName537=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName537.getTree()); + // XQueryParser.g:1166:35: ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? + var alt172=2; + var LA172_0 = this.input.LA(1); + + if ( (LA172_0==COMMA) ) { + alt172=1; + } + switch (alt172) { + case 1 : + // XQueryParser.g:1166:36: COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? + COMMA538=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_CatchVars9682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA538_tree = this.adaptor.create(COMMA538); + this.adaptor.addChild(root_0, COMMA538_tree); + } + DOLLAR539=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9684); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR539_tree = this.adaptor.create(DOLLAR539); + this.adaptor.addChild(root_0, DOLLAR539_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9686); + p_VarName540=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName540.getTree()); + // XQueryParser.g:1166:59: ( COMMA DOLLAR p_VarName )? + var alt171=2; + var LA171_0 = this.input.LA(1); + + if ( (LA171_0==COMMA) ) { + alt171=1; + } + switch (alt171) { + case 1 : + // XQueryParser.g:1166:60: COMMA DOLLAR p_VarName + COMMA541=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_CatchVars9689); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA541_tree = this.adaptor.create(COMMA541); + this.adaptor.addChild(root_0, COMMA541_tree); + } + DOLLAR542=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9691); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR542_tree = this.adaptor.create(DOLLAR542); + this.adaptor.addChild(root_0, DOLLAR542_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9693); + p_VarName543=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName543.getTree()); + + + break; + + } + + + + break; + + } + + RPAREN544=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_CatchVars9699); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN544_tree = this.adaptor.create(RPAREN544); + this.adaptor.addChild(root_0, RPAREN544_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_StringLiteral_return: (function() { + XQueryParser.p_StringLiteral_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_StringLiteral_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1192:1: p_StringLiteral : ( QUOT p_QuotStringLiteralContent QUOT -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) | APOS p_AposStringLiteralContent APOS -> ^( StringLiteral ( p_AposStringLiteralContent )* ) ); + // $ANTLR start "p_StringLiteral" + p_StringLiteral: function() { + var retval = new XQueryParser.p_StringLiteral_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUOT545 = null; + var QUOT547 = null; + var APOS548 = null; + var APOS550 = null; + var p_QuotStringLiteralContent546 = null; + var p_AposStringLiteralContent549 = null; + + var QUOT545_tree=null; + var QUOT547_tree=null; + var APOS548_tree=null; + var APOS550_tree=null; + var stream_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token APOS"); + var stream_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token QUOT"); + var stream_p_AposStringLiteralContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_AposStringLiteralContent"); + var stream_p_QuotStringLiteralContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QuotStringLiteralContent"); + try { + // XQueryParser.g:1193:9: ( QUOT p_QuotStringLiteralContent QUOT -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) | APOS p_AposStringLiteralContent APOS -> ^( StringLiteral ( p_AposStringLiteralContent )* ) ) + var alt173=2; + var LA173_0 = this.input.LA(1); + + if ( (LA173_0==QUOT) ) { + alt173=1; + } + else if ( (LA173_0==APOS) ) { + alt173=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 173, 0, this.input); + + throw nvae; + } + switch (alt173) { + case 1 : + // XQueryParser.g:1193:11: QUOT p_QuotStringLiteralContent QUOT + QUOT545=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_StringLiteral9748); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT545); + + if ( this.state.backtracking===0 ) { + //pushStringLexer(false); + } + this.pushFollow(XQueryParser.FOLLOW_p_QuotStringLiteralContent_in_p_StringLiteral9752); + p_QuotStringLiteralContent546=this.p_QuotStringLiteralContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QuotStringLiteralContent.add(p_QuotStringLiteralContent546.getTree()); + QUOT547=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_StringLiteral9754); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT547); + + if ( this.state.backtracking===0 ) { + + } + + + // AST REWRITE + // elements: p_QuotStringLiteralContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1194:17: -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) + { + // XQueryParser.g:1194:20: ^( StringLiteral ( p_QuotStringLiteralContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(StringLiteral, "StringLiteral"), root_1); + + // XQueryParser.g:1194:36: ( p_QuotStringLiteralContent )* + while ( stream_p_QuotStringLiteralContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_QuotStringLiteralContent.nextTree()); + + } + stream_p_QuotStringLiteralContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1195:13: APOS p_AposStringLiteralContent APOS + APOS548=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_StringLiteral9795); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS548); + + if ( this.state.backtracking===0 ) { + //pushStringLexer(true); + } + this.pushFollow(XQueryParser.FOLLOW_p_AposStringLiteralContent_in_p_StringLiteral9799); + p_AposStringLiteralContent549=this.p_AposStringLiteralContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_AposStringLiteralContent.add(p_AposStringLiteralContent549.getTree()); + APOS550=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_StringLiteral9801); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS550); + + if ( this.state.backtracking===0 ) { + + } + + + // AST REWRITE + // elements: p_AposStringLiteralContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1196:17: -> ^( StringLiteral ( p_AposStringLiteralContent )* ) + { + // XQueryParser.g:1196:20: ^( StringLiteral ( p_AposStringLiteralContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(StringLiteral, "StringLiteral"), root_1); + + // XQueryParser.g:1196:36: ( p_AposStringLiteralContent )* + while ( stream_p_AposStringLiteralContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_AposStringLiteralContent.nextTree()); + + } + stream_p_AposStringLiteralContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QuotStringLiteralContent_return: (function() { + XQueryParser.p_QuotStringLiteralContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QuotStringLiteralContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1203:1: p_QuotStringLiteralContent : ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* ; + // $ANTLR start "p_QuotStringLiteralContent" + p_QuotStringLiteralContent: function() { + var retval = new XQueryParser.p_QuotStringLiteralContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set551 = null; + + var set551_tree=null; + + try { + // XQueryParser.g:1204:9: ( ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* ) + // XQueryParser.g:1204:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1204:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* + loop174: + do { + var alt174=2; + var LA174_0 = this.input.LA(1); + + if ( ((LA174_0>=L_QuotAttrContentChar && LA174_0<=NOTEQUAL)||(LA174_0>=COMMA && LA174_0<=APOS)||(LA174_0>=NCNameStartChar && LA174_0<=EXPLICITLY)) ) { + alt174=1; + } + + + switch (alt174) { + case 1 : + // XQueryParser.g: + set551=this.input.LT(1); + if ( (this.input.LA(1)>=L_QuotAttrContentChar && this.input.LA(1)<=NOTEQUAL)||(this.input.LA(1)>=COMMA && this.input.LA(1)<=APOS)||(this.input.LA(1)>=NCNameStartChar && this.input.LA(1)<=EXPLICITLY) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set551)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + break; + + default : + break loop174; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AposStringLiteralContent_return: (function() { + XQueryParser.p_AposStringLiteralContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AposStringLiteralContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1212:1: p_AposStringLiteralContent : ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* ; + // $ANTLR start "p_AposStringLiteralContent" + p_AposStringLiteralContent: function() { + var retval = new XQueryParser.p_AposStringLiteralContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set552 = null; + + var set552_tree=null; + + try { + // XQueryParser.g:1213:9: ( ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* ) + // XQueryParser.g:1213:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1213:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* + loop175: + do { + var alt175=2; + var LA175_0 = this.input.LA(1); + + if ( ((LA175_0>=L_QuotAttrContentChar && LA175_0<=NOTEQUAL)||(LA175_0>=COMMA && LA175_0<=CHARREF_HEX)||(LA175_0>=QUOT && LA175_0<=EXPLICITLY)) ) { + alt175=1; + } + + + switch (alt175) { + case 1 : + // XQueryParser.g: + set552=this.input.LT(1); + if ( (this.input.LA(1)>=L_QuotAttrContentChar && this.input.LA(1)<=NOTEQUAL)||(this.input.LA(1)>=COMMA && this.input.LA(1)<=CHARREF_HEX)||(this.input.LA(1)>=QUOT && this.input.LA(1)<=EXPLICITLY) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set552)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + break; + + default : + break loop175; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QName_return: (function() { + XQueryParser.p_QName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1246:1: p_QName : p_NCName p_LocalNCName -> ^( QName p_NCName ( p_LocalNCName )? ) ; + // $ANTLR start "p_QName" + p_QName: function() { + var retval = new XQueryParser.p_QName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_NCName553 = null; + var p_LocalNCName554 = null; + + var stream_p_LocalNCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_LocalNCName"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + try { + // XQueryParser.g:1247:9: ( p_NCName p_LocalNCName -> ^( QName p_NCName ( p_LocalNCName )? ) ) + // XQueryParser.g:1247:11: p_NCName p_LocalNCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_QName9994); + p_NCName553=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(p_NCName553.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_LocalNCName_in_p_QName9996); + p_LocalNCName554=this.p_LocalNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_LocalNCName.add(p_LocalNCName554.getTree()); + + + // AST REWRITE + // elements: p_NCName, p_LocalNCName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1248:17: -> ^( QName p_NCName ( p_LocalNCName )? ) + { + // XQueryParser.g:1248:20: ^( QName p_NCName ( p_LocalNCName )? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(QName, "QName"), root_1); + + this.adaptor.addChild(root_1, stream_p_NCName.nextTree()); + // XQueryParser.g:1248:37: ( p_LocalNCName )? + if ( stream_p_LocalNCName.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_LocalNCName.nextTree()); + + } + stream_p_LocalNCName.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LocalNCName_return: (function() { + XQueryParser.p_LocalNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LocalNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1253:1: p_LocalNCName : ( COLON p_NCName )? ; + // $ANTLR start "p_LocalNCName" + p_LocalNCName: function() { + var retval = new XQueryParser.p_LocalNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COLON555 = null; + var p_NCName556 = null; + + var COLON555_tree=null; + + try { + // XQueryParser.g:1254:9: ( ( COLON p_NCName )? ) + // XQueryParser.g:1254:11: ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1254:11: ( COLON p_NCName )? + var alt176=2; + var LA176_0 = this.input.LA(1); + + if ( (LA176_0==COLON) ) { + alt176=1; + } + switch (alt176) { + case 1 : + // XQueryParser.g:1254:12: COLON p_NCName + COLON555=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_LocalNCName10051); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON555_tree = this.adaptor.create(COLON555); + this.adaptor.addChild(root_0, COLON555_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_LocalNCName10053); + p_NCName556=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName556.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FQName_return: (function() { + XQueryParser.p_FQName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FQName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1260:1: p_FQName : p_FNCName p_LocalFNCName ; + // $ANTLR start "p_FQName" + p_FQName: function() { + var retval = new XQueryParser.p_FQName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_FNCName557 = null; + var p_LocalFNCName558 = null; + + + try { + // XQueryParser.g:1261:9: ( p_FNCName p_LocalFNCName ) + // XQueryParser.g:1261:11: p_FNCName p_LocalFNCName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FNCName_in_p_FQName10083); + p_FNCName557=this.p_FNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FNCName557.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_LocalFNCName_in_p_FQName10085); + p_LocalFNCName558=this.p_LocalFNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_LocalFNCName558.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LocalFNCName_return: (function() { + XQueryParser.p_LocalFNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LocalFNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1266:1: p_LocalFNCName : ( COLON p_NCName )? ; + // $ANTLR start "p_LocalFNCName" + p_LocalFNCName: function() { + var retval = new XQueryParser.p_LocalFNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COLON559 = null; + var p_NCName560 = null; + + var COLON559_tree=null; + + try { + // XQueryParser.g:1267:9: ( ( COLON p_NCName )? ) + // XQueryParser.g:1267:11: ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1267:11: ( COLON p_NCName )? + var alt177=2; + var LA177_0 = this.input.LA(1); + + if ( (LA177_0==COLON) ) { + alt177=1; + } + switch (alt177) { + case 1 : + // XQueryParser.g:1267:12: COLON p_NCName + COLON559=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_LocalFNCName10113); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON559_tree = this.adaptor.create(COLON559); + this.adaptor.addChild(root_0, COLON559_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_LocalFNCName10115); + p_NCName560=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName560.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NCName_return: (function() { + XQueryParser.p_NCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1273:1: p_NCName : ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ); + // $ANTLR start "p_NCName" + p_NCName: function() { + var retval = new XQueryParser.p_NCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set561 = null; + + var set561_tree=null; + + try { + // XQueryParser.g:1274:9: ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set561=this.input.LT(1); + if ( (this.input.LA(1)>=ANCESTOR && this.input.LA(1)<=EXIT)||(this.input.LA(1)>=SEQUENTIAL && this.input.LA(1)<=MAINTAINED)||(this.input.LA(1)>=MUTABLE && this.input.LA(1)<=QUOT_ER)||this.input.LA(1)==L_NCName||this.input.LA(1)==EXPLICITLY ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set561)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FNCName_return: (function() { + XQueryParser.p_FNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1292:1: p_FNCName : ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | ELSE | EMPTY | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | RETURN | SATISFIES | SCHEMA | SELF | SOME | STABLE | STRICT | STRIP | THEN | TO | TREAT | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ); + // $ANTLR start "p_FNCName" + p_FNCName: function() { + var retval = new XQueryParser.p_FNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set562 = null; + + var set562_tree=null; + + try { + // XQueryParser.g:1293:9: ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | ELSE | EMPTY | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | RETURN | SATISFIES | SCHEMA | SELF | SOME | STABLE | STRICT | STRIP | THEN | TO | TREAT | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set562=this.input.LT(1); + if ( (this.input.LA(1)>=ANCESTOR && this.input.LA(1)<=AT)||(this.input.LA(1)>=BASE_URI && this.input.LA(1)<=COLLATION)||(this.input.LA(1)>=CONSTRUCTION && this.input.LA(1)<=DOCUMENT)||(this.input.LA(1)>=ELSE && this.input.LA(1)<=EMPTY)||(this.input.LA(1)>=ENCODING && this.input.LA(1)<=IDIV)||(this.input.LA(1)>=IMPORT && this.input.LA(1)<=IS)||(this.input.LA(1)>=LAX && this.input.LA(1)<=NO_PRESERVE)||(this.input.LA(1)>=OF && this.input.LA(1)<=PRESERVE)||(this.input.LA(1)>=RETURN && this.input.LA(1)<=SCHEMA)||(this.input.LA(1)>=SELF && this.input.LA(1)<=STRIP)||(this.input.LA(1)>=THEN && this.input.LA(1)<=TREAT)||(this.input.LA(1)>=UNION && this.input.LA(1)<=MINUS_SIGN)||(this.input.LA(1)>=NAN && this.input.LA(1)<=EXIT)||(this.input.LA(1)>=SEQUENTIAL && this.input.LA(1)<=SIMPLE)||(this.input.LA(1)>=EVAL && this.input.LA(1)<=MAINTAINED)||(this.input.LA(1)>=MUTABLE && this.input.LA(1)<=QUOT_ER)||this.input.LA(1)==L_NCName||this.input.LA(1)==EXPLICITLY ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set562)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_RevalidationDecl_return: (function() { + XQueryParser.pm_RevalidationDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_RevalidationDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1326:1: pm_RevalidationDecl : k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) ; + // $ANTLR start "pm_RevalidationDecl" + pm_RevalidationDecl: function() { + var retval = new XQueryParser.pm_RevalidationDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1327:9: (k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) ) + // XQueryParser.g:1327:11: k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_RevalidationDecl11839); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,REVALIDATION,XQueryParser.FOLLOW_REVALIDATION_in_pm_RevalidationDecl11843); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1327:38: (k+= STRICT | k+= LAX | k+= SKIP ) + var alt178=3; + switch ( this.input.LA(1) ) { + case STRICT: + alt178=1; + break; + case LAX: + alt178=2; + break; + case SKIP: + alt178=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 178, 0, this.input); + + throw nvae; + } + + switch (alt178) { + case 1 : + // XQueryParser.g:1327:39: k+= STRICT + k=this.match(this.input,STRICT,XQueryParser.FOLLOW_STRICT_in_pm_RevalidationDecl11848); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1327:51: k+= LAX + k=this.match(this.input,LAX,XQueryParser.FOLLOW_LAX_in_pm_RevalidationDecl11854); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1327:60: k+= SKIP + k=this.match(this.input,SKIP,XQueryParser.FOLLOW_SKIP_in_pm_RevalidationDecl11860); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InsertExprTargetChoice_return: (function() { + XQueryParser.p_InsertExprTargetChoice_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InsertExprTargetChoice_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1331:1: p_InsertExprTargetChoice : ( ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) | ka= AFTER | kb= BEFORE ); + // $ANTLR start "p_InsertExprTargetChoice" + p_InsertExprTargetChoice: function() { + var retval = new XQueryParser.p_InsertExprTargetChoice_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var kb = null; + var k = null; + var list_k=null; + + var ka_tree=null; + var kb_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1332:9: ( ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) | ka= AFTER | kb= BEFORE ) + var alt181=3; + switch ( this.input.LA(1) ) { + case AS: + case INTO: + alt181=1; + break; + case AFTER: + alt181=2; + break; + case BEFORE: + alt181=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 181, 0, this.input); + + throw nvae; + } + + switch (alt181) { + case 1 : + // XQueryParser.g:1332:11: ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1332:11: ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) + // XQueryParser.g:1332:12: (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO + // XQueryParser.g:1332:12: (k+= AS (k+= FIRST | k+= LAST ) )? + var alt180=2; + var LA180_0 = this.input.LA(1); + + if ( (LA180_0==AS) ) { + alt180=1; + } + switch (alt180) { + case 1 : + // XQueryParser.g:1332:13: k+= AS (k+= FIRST | k+= LAST ) + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_InsertExprTargetChoice11892); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1332:19: (k+= FIRST | k+= LAST ) + var alt179=2; + var LA179_0 = this.input.LA(1); + + if ( (LA179_0==FIRST) ) { + alt179=1; + } + else if ( (LA179_0==LAST) ) { + alt179=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 179, 0, this.input); + + throw nvae; + } + switch (alt179) { + case 1 : + // XQueryParser.g:1332:20: k+= FIRST + k=this.match(this.input,FIRST,XQueryParser.FOLLOW_FIRST_in_p_InsertExprTargetChoice11897); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1332:31: k+= LAST + k=this.match(this.input,LAST,XQueryParser.FOLLOW_LAST_in_p_InsertExprTargetChoice11903); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + break; + + } + + k=this.match(this.input,INTO,XQueryParser.FOLLOW_INTO_in_p_InsertExprTargetChoice11910); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + case 2 : + // XQueryParser.g:1333:11: ka= AFTER + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AFTER,XQueryParser.FOLLOW_AFTER_in_p_InsertExprTargetChoice11926); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + + + break; + case 3 : + // XQueryParser.g:1334:11: kb= BEFORE + root_0 = this.adaptor.nil(); + + kb=this.match(this.input,BEFORE,XQueryParser.FOLLOW_BEFORE_in_p_InsertExprTargetChoice11940); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kb_tree = this.adaptor.create(kb); + this.adaptor.addChild(root_0, kb_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InsertExpr_return: (function() { + XQueryParser.p_InsertExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InsertExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1338:1: p_InsertExpr : k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr ; + // $ANTLR start "p_InsertExpr" + p_InsertExpr: function() { + var retval = new XQueryParser.p_InsertExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_SourceExpr563 = null; + var p_InsertExprTargetChoice564 = null; + var p_TargetExpr565 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1339:9: (k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr ) + // XQueryParser.g:1339:11: k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,INSERT,XQueryParser.FOLLOW_INSERT_in_p_InsertExpr11968); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1339:21: (k+= NODE | k+= NODES ) + var alt182=2; + var LA182_0 = this.input.LA(1); + + if ( (LA182_0==NODE) ) { + alt182=1; + } + else if ( (LA182_0==NODES) ) { + alt182=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 182, 0, this.input); + + throw nvae; + } + switch (alt182) { + case 1 : + // XQueryParser.g:1339:22: k+= NODE + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_InsertExpr11973); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1339:32: k+= NODES + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_InsertExpr11979); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_SourceExpr_in_p_InsertExpr11982); + p_SourceExpr563=this.p_SourceExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SourceExpr563.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_InsertExprTargetChoice_in_p_InsertExpr11984); + p_InsertExprTargetChoice564=this.p_InsertExprTargetChoice(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InsertExprTargetChoice564.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_InsertExpr11986); + p_TargetExpr565=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr565.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DeleteExpr_return: (function() { + XQueryParser.p_DeleteExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DeleteExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1343:1: p_DeleteExpr : k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr ; + // $ANTLR start "p_DeleteExpr" + p_DeleteExpr: function() { + var retval = new XQueryParser.p_DeleteExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_TargetExpr566 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1344:9: (k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr ) + // XQueryParser.g:1344:11: k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DELETE,XQueryParser.FOLLOW_DELETE_in_p_DeleteExpr12015); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1344:21: (k+= NODE | k+= NODES ) + var alt183=2; + var LA183_0 = this.input.LA(1); + + if ( (LA183_0==NODE) ) { + alt183=1; + } + else if ( (LA183_0==NODES) ) { + alt183=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 183, 0, this.input); + + throw nvae; + } + switch (alt183) { + case 1 : + // XQueryParser.g:1344:22: k+= NODE + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_DeleteExpr12020); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1344:32: k+= NODES + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_DeleteExpr12026); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_DeleteExpr12029); + p_TargetExpr566=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr566.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReplaceExpr_return: (function() { + XQueryParser.p_ReplaceExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReplaceExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1348:1: p_ReplaceExpr : k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle ; + // $ANTLR start "p_ReplaceExpr" + p_ReplaceExpr: function() { + var retval = new XQueryParser.p_ReplaceExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_ExprSingle567 = null; + var p_ExprSingle568 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1349:9: (k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle ) + // XQueryParser.g:1349:11: k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,REPLACE,XQueryParser.FOLLOW_REPLACE_in_p_ReplaceExpr12058); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1349:22: (k+= VALUE k+= OF )? + var alt184=2; + var LA184_0 = this.input.LA(1); + + if ( (LA184_0==VALUE) ) { + alt184=1; + } + switch (alt184) { + case 1 : + // XQueryParser.g:1349:23: k+= VALUE k+= OF + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_ReplaceExpr12063); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,OF,XQueryParser.FOLLOW_OF_in_p_ReplaceExpr12067); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ReplaceExpr12073); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReplaceExpr12075); + p_ExprSingle567=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle567.getTree()); + k=this.match(this.input,WITH,XQueryParser.FOLLOW_WITH_in_p_ReplaceExpr12079); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReplaceExpr12081); + p_ExprSingle568=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle568.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RenameExpr_return: (function() { + XQueryParser.p_RenameExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RenameExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1353:1: p_RenameExpr : k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr ; + // $ANTLR start "p_RenameExpr" + p_RenameExpr: function() { + var retval = new XQueryParser.p_RenameExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var AS570 = null; + var k = null; + var list_k=null; + var p_TargetExpr569 = null; + var p_NewNameExpr571 = null; + + var AS570_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1354:9: (k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr ) + // XQueryParser.g:1354:11: k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,RENAME,XQueryParser.FOLLOW_RENAME_in_p_RenameExpr12110); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_RenameExpr12114); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_RenameExpr12116); + p_TargetExpr569=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr569.getTree()); + AS570=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_RenameExpr12118); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + AS570_tree = this.adaptor.create(AS570); + this.adaptor.addChild(root_0, AS570_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NewNameExpr_in_p_RenameExpr12120); + p_NewNameExpr571=this.p_NewNameExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NewNameExpr571.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SourceExpr_return: (function() { + XQueryParser.p_SourceExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SourceExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1358:1: p_SourceExpr : p_ExprSingle ; + // $ANTLR start "p_SourceExpr" + p_SourceExpr: function() { + var retval = new XQueryParser.p_SourceExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle572 = null; + + + try { + // XQueryParser.g:1359:9: ( p_ExprSingle ) + // XQueryParser.g:1359:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_SourceExpr12147); + p_ExprSingle572=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle572.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TargetExpr_return: (function() { + XQueryParser.p_TargetExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TargetExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1363:1: p_TargetExpr : p_ExprSingle ; + // $ANTLR start "p_TargetExpr" + p_TargetExpr: function() { + var retval = new XQueryParser.p_TargetExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle573 = null; + + + try { + // XQueryParser.g:1364:9: ( p_ExprSingle ) + // XQueryParser.g:1364:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TargetExpr12173); + p_ExprSingle573=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle573.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NewNameExpr_return: (function() { + XQueryParser.p_NewNameExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NewNameExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1368:1: p_NewNameExpr : p_ExprSingle ; + // $ANTLR start "p_NewNameExpr" + p_NewNameExpr: function() { + var retval = new XQueryParser.p_NewNameExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle574 = null; + + + try { + // XQueryParser.g:1369:9: ( p_ExprSingle ) + // XQueryParser.g:1369:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_NewNameExpr12199); + p_ExprSingle574=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle574.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TransformExpr_return: (function() { + XQueryParser.p_TransformExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TransformExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1373:1: p_TransformExpr : k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle ; + // $ANTLR start "p_TransformExpr" + p_TransformExpr: function() { + var retval = new XQueryParser.p_TransformExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR575 = null; + var BIND577 = null; + var COMMA579 = null; + var DOLLAR580 = null; + var BIND582 = null; + var k = null; + var list_k=null; + var p_VarName576 = null; + var p_ExprSingle578 = null; + var p_VarName581 = null; + var p_ExprSingle583 = null; + var p_ExprSingle584 = null; + var p_ExprSingle585 = null; + + var DOLLAR575_tree=null; + var BIND577_tree=null; + var COMMA579_tree=null; + var DOLLAR580_tree=null; + var BIND582_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1374:9: (k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle ) + // XQueryParser.g:1374:11: k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COPY,XQueryParser.FOLLOW_COPY_in_p_TransformExpr12227); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR575=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TransformExpr12229); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR575_tree = this.adaptor.create(DOLLAR575); + this.adaptor.addChild(root_0, DOLLAR575_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TransformExpr12231); + p_VarName576=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName576.getTree()); + BIND577=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_TransformExpr12233); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND577_tree = this.adaptor.create(BIND577); + this.adaptor.addChild(root_0, BIND577_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12235); + p_ExprSingle578=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle578.getTree()); + // XQueryParser.g:1374:54: ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* + loop185: + do { + var alt185=2; + var LA185_0 = this.input.LA(1); + + if ( (LA185_0==COMMA) ) { + alt185=1; + } + + + switch (alt185) { + case 1 : + // XQueryParser.g:1374:55: COMMA DOLLAR p_VarName BIND p_ExprSingle + COMMA579=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_TransformExpr12238); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA579_tree = this.adaptor.create(COMMA579); + this.adaptor.addChild(root_0, COMMA579_tree); + } + DOLLAR580=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TransformExpr12240); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR580_tree = this.adaptor.create(DOLLAR580); + this.adaptor.addChild(root_0, DOLLAR580_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TransformExpr12242); + p_VarName581=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName581.getTree()); + BIND582=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_TransformExpr12244); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND582_tree = this.adaptor.create(BIND582); + this.adaptor.addChild(root_0, BIND582_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12246); + p_ExprSingle583=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle583.getTree()); + + + break; + + default : + break loop185; + } + } while (true); + + k=this.match(this.input,MODIFY,XQueryParser.FOLLOW_MODIFY_in_p_TransformExpr12252); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12254); + p_ExprSingle584=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle584.getTree()); + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_TransformExpr12258); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12260); + p_ExprSingle585=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle585.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ApplyExpr_return: (function() { + XQueryParser.pm_ApplyExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ApplyExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1384:1: pm_ApplyExpr : p_ConcatExpr SEMICOLON ; + // $ANTLR start "pm_ApplyExpr" + pm_ApplyExpr: function() { + var retval = new XQueryParser.pm_ApplyExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON587 = null; + var p_ConcatExpr586 = null; + + var SEMICOLON587_tree=null; + + try { + // XQueryParser.g:1385:9: ( p_ConcatExpr SEMICOLON ) + // XQueryParser.g:1385:11: p_ConcatExpr SEMICOLON + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_ApplyExpr12294); + p_ConcatExpr586=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr586.getTree()); + SEMICOLON587=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ApplyExpr12296); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON587_tree = this.adaptor.create(SEMICOLON587); + this.adaptor.addChild(root_0, SEMICOLON587_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ConcatExpr_return: (function() { + XQueryParser.p_ConcatExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ConcatExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1389:1: p_ConcatExpr : p_ExprSingle ( COMMA p_ExprSingle )* ; + // $ANTLR start "p_ConcatExpr" + p_ConcatExpr: function() { + var retval = new XQueryParser.p_ConcatExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA589 = null; + var p_ExprSingle588 = null; + var p_ExprSingle590 = null; + + var COMMA589_tree=null; + + try { + // XQueryParser.g:1390:9: ( p_ExprSingle ( COMMA p_ExprSingle )* ) + // XQueryParser.g:1390:11: p_ExprSingle ( COMMA p_ExprSingle )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ConcatExpr12322); + p_ExprSingle588=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle588.getTree()); + // XQueryParser.g:1390:24: ( COMMA p_ExprSingle )* + loop186: + do { + var alt186=2; + var LA186_0 = this.input.LA(1); + + if ( (LA186_0==COMMA) ) { + alt186=1; + } + + + switch (alt186) { + case 1 : + // XQueryParser.g:1390:25: COMMA p_ExprSingle + COMMA589=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ConcatExpr12325); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA589_tree = this.adaptor.create(COMMA589); + this.adaptor.addChild(root_0, COMMA589_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ConcatExpr12327); + p_ExprSingle590=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle590.getTree()); + + + break; + + default : + break loop186; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_BlockExpr_return: (function() { + XQueryParser.p_BlockExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_BlockExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1394:1: p_BlockExpr : kb= BLOCK p_Block ; + // $ANTLR start "p_BlockExpr" + p_BlockExpr: function() { + var retval = new XQueryParser.p_BlockExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kb = null; + var p_Block591 = null; + + var kb_tree=null; + + try { + // XQueryParser.g:1395:9: (kb= BLOCK p_Block ) + // XQueryParser.g:1395:11: kb= BLOCK p_Block + root_0 = this.adaptor.nil(); + + kb=this.match(this.input,BLOCK,XQueryParser.FOLLOW_BLOCK_in_p_BlockExpr12357); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kb_tree = this.adaptor.create(kb); + this.adaptor.addChild(root_0, kb_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_p_BlockExpr12359); + p_Block591=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Block591.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Block_return: (function() { + XQueryParser.p_Block_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Block_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1399:1: p_Block : LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET -> ^( Block $bd $bb) ; + // $ANTLR start "p_Block" + p_Block: function() { + var retval = new XQueryParser.p_Block_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET592 = null; + var RBRACKET593 = null; + var bd = null; + var bb = null; + + var LBRACKET592_tree=null; + var RBRACKET593_tree=null; + var stream_LBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LBRACKET"); + var stream_RBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RBRACKET"); + var stream_p_BlockBody=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_BlockBody"); + var stream_pm_BlockDecls=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_BlockDecls"); + try { + // XQueryParser.g:1400:9: ( LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET -> ^( Block $bd $bb) ) + // XQueryParser.g:1400:11: LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET + LBRACKET592=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_Block12385); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LBRACKET.add(LBRACKET592); + + this.pushFollow(XQueryParser.FOLLOW_pm_BlockDecls_in_p_Block12389); + bd=this.pm_BlockDecls(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_BlockDecls.add(bd.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_BlockBody_in_p_Block12393); + bb=this.p_BlockBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_BlockBody.add(bb.getTree()); + RBRACKET593=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_Block12395); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RBRACKET.add(RBRACKET593); + + + + // AST REWRITE + // elements: bd, bb + // token labels: + // rule labels: retval, bb, bd + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_bb=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bb",bb!=null?bb.tree:null); + var stream_bd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bd",bd!=null?bd.tree:null); + + root_0 = this.adaptor.nil(); + // 1401:17: -> ^( Block $bd $bb) + { + // XQueryParser.g:1401:20: ^( Block $bd $bb) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Block, "Block"), root_1); + + this.adaptor.addChild(root_1, stream_bd.nextTree()); + this.adaptor.addChild(root_1, stream_bb.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BlockDecls_return: (function() { + XQueryParser.pm_BlockDecls_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BlockDecls_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1405:1: pm_BlockDecls : (bvd+= pm_BlockVarDecl )* -> ^( BlockDecls ( $bvd)* ) ; + // $ANTLR start "pm_BlockDecls" + pm_BlockDecls: function() { + var retval = new XQueryParser.pm_BlockDecls_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var list_bvd=null; + var bvd = null; + var stream_pm_BlockVarDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_BlockVarDecl"); + try { + // XQueryParser.g:1406:9: ( (bvd+= pm_BlockVarDecl )* -> ^( BlockDecls ( $bvd)* ) ) + // XQueryParser.g:1406:11: (bvd+= pm_BlockVarDecl )* + // XQueryParser.g:1406:14: (bvd+= pm_BlockVarDecl )* + loop187: + do { + var alt187=2; + var LA187_0 = this.input.LA(1); + + if ( (LA187_0==DECLARE) ) { + var LA187_2 = this.input.LA(2); + + if ( (LA187_2==DOLLAR) ) { + alt187=1; + } + + + } + + + switch (alt187) { + case 1 : + // XQueryParser.g:1406:14: bvd+= pm_BlockVarDecl + this.pushFollow(XQueryParser.FOLLOW_pm_BlockVarDecl_in_pm_BlockDecls12451); + bvd=this.pm_BlockVarDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_BlockVarDecl.add(bvd.getTree()); + if (org.antlr.lang.isNull(list_bvd)) list_bvd = []; + list_bvd.push(bvd.getTree()); + + + + break; + + default : + break loop187; + } + } while (true); + + + + // AST REWRITE + // elements: bvd + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: bvd + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_bvd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bvd",list_bvd); + root_0 = this.adaptor.nil(); + // 1407:17: -> ^( BlockDecls ( $bvd)* ) + { + // XQueryParser.g:1407:20: ^( BlockDecls ( $bvd)* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BlockDecls, "BlockDecls"), root_1); + + // XQueryParser.g:1407:33: ( $bvd)* + while ( stream_bvd.hasNext() ) { + this.adaptor.addChild(root_1, stream_bvd.nextTree()); + + } + stream_bvd.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BlockVarDecl_return: (function() { + XQueryParser.pm_BlockVarDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BlockVarDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1411:1: pm_BlockVarDecl : kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) ; + // $ANTLR start "pm_BlockVarDecl" + pm_BlockVarDecl: function() { + var retval = new XQueryParser.pm_BlockVarDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kd = null; + var DOLLAR594 = null; + var BIND595 = null; + var COMMA596 = null; + var DOLLAR597 = null; + var BIND600 = null; + var SEMICOLON602 = null; + var qn = null; + var td = null; + var es = null; + var p_VarName598 = null; + var p_TypeDeclaration599 = null; + var p_ExprSingle601 = null; + + var kd_tree=null; + var DOLLAR594_tree=null; + var BIND595_tree=null; + var COMMA596_tree=null; + var DOLLAR597_tree=null; + var BIND600_tree=null; + var SEMICOLON602_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_BIND=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BIND"); + var stream_p_VarName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_VarName"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_ExprSingle=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ExprSingle"); + try { + // XQueryParser.g:1412:9: (kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) ) + // XQueryParser.g:1412:11: kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON + kd=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BlockVarDecl12506); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(kd); + + DOLLAR594=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_BlockVarDecl12508); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR594); + + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_pm_BlockVarDecl12512); + qn=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VarName.add(qn.getTree()); + // XQueryParser.g:1412:44: (td= p_TypeDeclaration )? + var alt188=2; + var LA188_0 = this.input.LA(1); + + if ( (LA188_0==AS) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // XQueryParser.g:1412:44: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12516); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:1412:64: ( BIND es= p_ExprSingle )? + var alt189=2; + var LA189_0 = this.input.LA(1); + + if ( (LA189_0==BIND) ) { + alt189=1; + } + switch (alt189) { + case 1 : + // XQueryParser.g:1412:65: BIND es= p_ExprSingle + BIND595=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_BlockVarDecl12520); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND595); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12524); + es=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(es.getTree()); + + + break; + + } + + // XQueryParser.g:1412:88: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* + loop192: + do { + var alt192=2; + var LA192_0 = this.input.LA(1); + + if ( (LA192_0==COMMA) ) { + alt192=1; + } + + + switch (alt192) { + case 1 : + // XQueryParser.g:1412:89: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? + COMMA596=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_BlockVarDecl12529); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA596); + + DOLLAR597=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_BlockVarDecl12531); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR597); + + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_pm_BlockVarDecl12533); + p_VarName598=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VarName.add(p_VarName598.getTree()); + // XQueryParser.g:1412:112: ( p_TypeDeclaration )? + var alt190=2; + var LA190_0 = this.input.LA(1); + + if ( (LA190_0==AS) ) { + alt190=1; + } + switch (alt190) { + case 1 : + // XQueryParser.g:1412:112: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12535); + p_TypeDeclaration599=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(p_TypeDeclaration599.getTree()); + + + break; + + } + + // XQueryParser.g:1412:131: ( BIND p_ExprSingle )? + var alt191=2; + var LA191_0 = this.input.LA(1); + + if ( (LA191_0==BIND) ) { + alt191=1; + } + switch (alt191) { + case 1 : + // XQueryParser.g:1412:132: BIND p_ExprSingle + BIND600=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_BlockVarDecl12539); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND600); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12541); + p_ExprSingle601=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(p_ExprSingle601.getTree()); + + + break; + + } + + + + break; + + default : + break loop192; + } + } while (true); + + SEMICOLON602=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BlockVarDecl12547); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON602); + + + + // AST REWRITE + // elements: td, es, qn + // token labels: + // rule labels: qn, retval, td, es + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + var stream_es=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token es",es!=null?es.tree:null); + + root_0 = this.adaptor.nil(); + // 1413:17: -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) + { + // XQueryParser.g:1413:21: ^( BlockVarDecl $qn ( $td)? ( $es)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BlockVarDecl, "BlockVarDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:1413:40: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_1, stream_td.nextTree()); + + } + stream_td.reset(); + // XQueryParser.g:1413:45: ( $es)? + if ( stream_es.hasNext() ) { + this.adaptor.addChild(root_1, stream_es.nextTree()); + + } + stream_es.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_BlockBody_return: (function() { + XQueryParser.p_BlockBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_BlockBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1417:1: p_BlockBody : pm_Expr ; + // $ANTLR start "p_BlockBody" + p_BlockBody: function() { + var retval = new XQueryParser.p_BlockBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Expr603 = null; + + + try { + // XQueryParser.g:1418:9: ( pm_Expr ) + // XQueryParser.g:1418:11: pm_Expr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_BlockBody12607); + pm_Expr603=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr603.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AssignmentExpr_return: (function() { + XQueryParser.p_AssignmentExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AssignmentExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1422:1: p_AssignmentExpr : ks= SET DOLLAR p_VarName BIND p_ExprSingle ; + // $ANTLR start "p_AssignmentExpr" + p_AssignmentExpr: function() { + var retval = new XQueryParser.p_AssignmentExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ks = null; + var DOLLAR604 = null; + var BIND606 = null; + var p_VarName605 = null; + var p_ExprSingle607 = null; + + var ks_tree=null; + var DOLLAR604_tree=null; + var BIND606_tree=null; + + try { + // XQueryParser.g:1423:9: (ks= SET DOLLAR p_VarName BIND p_ExprSingle ) + // XQueryParser.g:1423:11: ks= SET DOLLAR p_VarName BIND p_ExprSingle + root_0 = this.adaptor.nil(); + + ks=this.match(this.input,SET,XQueryParser.FOLLOW_SET_in_p_AssignmentExpr12635); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ks_tree = this.adaptor.create(ks); + this.adaptor.addChild(root_0, ks_tree); + } + DOLLAR604=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_AssignmentExpr12637); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR604_tree = this.adaptor.create(DOLLAR604); + this.adaptor.addChild(root_0, DOLLAR604_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_AssignmentExpr12639); + p_VarName605=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName605.getTree()); + BIND606=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_AssignmentExpr12641); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND606_tree = this.adaptor.create(BIND606); + this.adaptor.addChild(root_0, BIND606_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_AssignmentExpr12643); + p_ExprSingle607=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle607.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExitExpr_return: (function() { + XQueryParser.p_ExitExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExitExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1427:1: p_ExitExpr : ke= EXIT kr= RETURNING p_ExprSingle ; + // $ANTLR start "p_ExitExpr" + p_ExitExpr: function() { + var retval = new XQueryParser.p_ExitExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ke = null; + var kr = null; + var p_ExprSingle608 = null; + + var ke_tree=null; + var kr_tree=null; + + try { + // XQueryParser.g:1428:9: (ke= EXIT kr= RETURNING p_ExprSingle ) + // XQueryParser.g:1428:11: ke= EXIT kr= RETURNING p_ExprSingle + root_0 = this.adaptor.nil(); + + ke=this.match(this.input,EXIT,XQueryParser.FOLLOW_EXIT_in_p_ExitExpr12671); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ke_tree = this.adaptor.create(ke); + this.adaptor.addChild(root_0, ke_tree); + } + kr=this.match(this.input,RETURNING,XQueryParser.FOLLOW_RETURNING_in_p_ExitExpr12675); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kr_tree = this.adaptor.create(kr); + this.adaptor.addChild(root_0, kr_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ExitExpr12677); + p_ExprSingle608=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle608.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhileExpr_return: (function() { + XQueryParser.p_WhileExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhileExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1432:1: p_WhileExpr : kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody ; + // $ANTLR start "p_WhileExpr" + p_WhileExpr: function() { + var retval = new XQueryParser.p_WhileExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kw = null; + var LPAREN609 = null; + var RPAREN611 = null; + var p_ExprSingle610 = null; + var p_WhileBody612 = null; + + var kw_tree=null; + var LPAREN609_tree=null; + var RPAREN611_tree=null; + + try { + // XQueryParser.g:1433:9: (kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody ) + // XQueryParser.g:1433:11: kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody + root_0 = this.adaptor.nil(); + + kw=this.match(this.input,WHILE,XQueryParser.FOLLOW_WHILE_in_p_WhileExpr12705); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kw_tree = this.adaptor.create(kw); + this.adaptor.addChild(root_0, kw_tree); + } + LPAREN609=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_WhileExpr12707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN609_tree = this.adaptor.create(LPAREN609); + this.adaptor.addChild(root_0, LPAREN609_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WhileExpr12709); + p_ExprSingle610=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle610.getTree()); + RPAREN611=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_WhileExpr12711); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN611_tree = this.adaptor.create(RPAREN611); + this.adaptor.addChild(root_0, RPAREN611_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_WhileBody_in_p_WhileExpr12713); + p_WhileBody612=this.p_WhileBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhileBody612.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhileBody_return: (function() { + XQueryParser.p_WhileBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhileBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1437:1: p_WhileBody : p_Block ; + // $ANTLR start "p_WhileBody" + p_WhileBody: function() { + var retval = new XQueryParser.p_WhileBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Block613 = null; + + + try { + // XQueryParser.g:1438:9: ( p_Block ) + // XQueryParser.g:1438:11: p_Block + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_p_WhileBody12739); + p_Block613=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Block613.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_EvalExpr_return: (function() { + XQueryParser.p_EvalExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_EvalExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1446:1: p_EvalExpr : ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET ; + // $ANTLR start "p_EvalExpr" + p_EvalExpr: function() { + var retval = new XQueryParser.p_EvalExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ke = null; + var LBRACKET615 = null; + var RBRACKET617 = null; + var p_UsingClause614 = null; + var p_ExprSingle616 = null; + + var ke_tree=null; + var LBRACKET615_tree=null; + var RBRACKET617_tree=null; + + try { + // XQueryParser.g:1447:9: ( ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET ) + // XQueryParser.g:1447:11: ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1447:11: ( p_UsingClause )? + var alt193=2; + var LA193_0 = this.input.LA(1); + + if ( (LA193_0==USING) ) { + alt193=1; + } + switch (alt193) { + case 1 : + // XQueryParser.g:1447:11: p_UsingClause + this.pushFollow(XQueryParser.FOLLOW_p_UsingClause_in_p_EvalExpr12769); + p_UsingClause614=this.p_UsingClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UsingClause614.getTree()); + + + break; + + } + + ke=this.match(this.input,EVAL,XQueryParser.FOLLOW_EVAL_in_p_EvalExpr12774); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ke_tree = this.adaptor.create(ke); + this.adaptor.addChild(root_0, ke_tree); + } + LBRACKET615=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_EvalExpr12776); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET615_tree = this.adaptor.create(LBRACKET615); + this.adaptor.addChild(root_0, LBRACKET615_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_EvalExpr12778); + p_ExprSingle616=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle616.getTree()); + RBRACKET617=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_EvalExpr12780); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET617_tree = this.adaptor.create(RBRACKET617); + this.adaptor.addChild(root_0, RBRACKET617_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UsingClause_return: (function() { + XQueryParser.p_UsingClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UsingClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1450:1: p_UsingClause : ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* ; + // $ANTLR start "p_UsingClause" + p_UsingClause: function() { + var retval = new XQueryParser.p_UsingClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var DOLLAR618 = null; + var COMMA620 = null; + var DOLLAR621 = null; + var p_VarName619 = null; + var p_VarName622 = null; + + var ku_tree=null; + var DOLLAR618_tree=null; + var COMMA620_tree=null; + var DOLLAR621_tree=null; + + try { + // XQueryParser.g:1451:9: (ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* ) + // XQueryParser.g:1451:11: ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* + root_0 = this.adaptor.nil(); + + ku=this.match(this.input,USING,XQueryParser.FOLLOW_USING_in_p_UsingClause12807); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + DOLLAR618=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_UsingClause12809); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR618_tree = this.adaptor.create(DOLLAR618); + this.adaptor.addChild(root_0, DOLLAR618_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_UsingClause12811); + p_VarName619=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName619.getTree()); + // XQueryParser.g:1451:37: ( COMMA DOLLAR p_VarName )* + loop194: + do { + var alt194=2; + var LA194_0 = this.input.LA(1); + + if ( (LA194_0==COMMA) ) { + alt194=1; + } + + + switch (alt194) { + case 1 : + // XQueryParser.g:1451:38: COMMA DOLLAR p_VarName + COMMA620=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_UsingClause12814); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA620_tree = this.adaptor.create(COMMA620); + this.adaptor.addChild(root_0, COMMA620_tree); + } + DOLLAR621=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_UsingClause12816); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR621_tree = this.adaptor.create(DOLLAR621); + this.adaptor.addChild(root_0, DOLLAR621_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_UsingClause12818); + p_VarName622=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName622.getTree()); + + + break; + + default : + break loop194; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollectionDecl_return: (function() { + XQueryParser.p_CollectionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollectionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1460:1: p_CollectionDecl : k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON ; + // $ANTLR start "p_CollectionDecl" + p_CollectionDecl: function() { + var retval = new XQueryParser.p_CollectionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON627 = null; + var k = null; + var list_k=null; + var p_CollProperties623 = null; + var p_QName624 = null; + var p_CollectionTypeDecl625 = null; + var p_NodeModifier626 = null; + + var SEMICOLON627_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1461:9: (k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON ) + // XQueryParser.g:1461:11: k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_CollectionDecl12853); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_CollProperties_in_p_CollectionDecl12855); + p_CollProperties623=this.p_CollProperties(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollProperties623.getTree()); + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_CollectionDecl12859); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CollectionDecl12861); + p_QName624=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName624.getTree()); + // XQueryParser.g:1461:61: ( p_CollectionTypeDecl )? + var alt195=2; + var LA195_0 = this.input.LA(1); + + if ( (LA195_0==AS) ) { + alt195=1; + } + switch (alt195) { + case 1 : + // XQueryParser.g:1461:61: p_CollectionTypeDecl + this.pushFollow(XQueryParser.FOLLOW_p_CollectionTypeDecl_in_p_CollectionDecl12863); + p_CollectionTypeDecl625=this.p_CollectionTypeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollectionTypeDecl625.getTree()); + + + break; + + } + + // XQueryParser.g:1461:83: (k+= WITH p_NodeModifier k+= NODES )? + var alt196=2; + var LA196_0 = this.input.LA(1); + + if ( (LA196_0==WITH) ) { + alt196=1; + } + switch (alt196) { + case 1 : + // XQueryParser.g:1461:84: k+= WITH p_NodeModifier k+= NODES + k=this.match(this.input,WITH,XQueryParser.FOLLOW_WITH_in_p_CollectionDecl12869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NodeModifier_in_p_CollectionDecl12871); + p_NodeModifier626=this.p_NodeModifier(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeModifier626.getTree()); + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_CollectionDecl12875); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON627=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_CollectionDecl12879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON627_tree = this.adaptor.create(SEMICOLON627); + this.adaptor.addChild(root_0, SEMICOLON627_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollProperties_return: (function() { + XQueryParser.p_CollProperties_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollProperties_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1464:1: p_CollProperties : ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) ; + // $ANTLR start "p_CollProperties" + p_CollProperties: function() { + var retval = new XQueryParser.p_CollProperties_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1465:9: ( ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) ) + // XQueryParser.g:1465:11: ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1465:11: ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) + // XQueryParser.g:1465:12: (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* + // XQueryParser.g:1465:12: (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* + loop197: + do { + var alt197=7; + switch ( this.input.LA(1) ) { + case CONST: + alt197=1; + break; + case MUTABLE: + alt197=2; + break; + case APPEND_ONLY: + alt197=3; + break; + case QUEUE: + alt197=4; + break; + case ORDERED: + alt197=5; + break; + case UNORDERED: + alt197=6; + break; + + } + + switch (alt197) { + case 1 : + // XQueryParser.g:1465:13: k+= CONST + k=this.match(this.input,CONST,XQueryParser.FOLLOW_CONST_in_p_CollProperties12909); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1465:24: k+= MUTABLE + k=this.match(this.input,MUTABLE,XQueryParser.FOLLOW_MUTABLE_in_p_CollProperties12915); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1466:11: k+= APPEND_ONLY + k=this.match(this.input,APPEND_ONLY,XQueryParser.FOLLOW_APPEND_ONLY_in_p_CollProperties12929); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 4 : + // XQueryParser.g:1466:28: k+= QUEUE + k=this.match(this.input,QUEUE,XQueryParser.FOLLOW_QUEUE_in_p_CollProperties12935); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 5 : + // XQueryParser.g:1467:11: k+= ORDERED + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_p_CollProperties12949); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 6 : + // XQueryParser.g:1467:24: k+= UNORDERED + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_p_CollProperties12955); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + default : + break loop197; + } + } while (true); + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollectionTypeDecl_return: (function() { + XQueryParser.p_CollectionTypeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollectionTypeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1470:1: p_CollectionTypeDecl : (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) ; + // $ANTLR start "p_CollectionTypeDecl" + p_CollectionTypeDecl: function() { + var retval = new XQueryParser.p_CollectionTypeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var p_KindTest628 = null; + var p_OccurrenceIndicator629 = null; + + var ka_tree=null; + + try { + // XQueryParser.g:1471:9: ( (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) ) + // XQueryParser.g:1471:11: (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1471:11: (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) + // XQueryParser.g:1471:12: ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CollectionTypeDecl12987); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_CollectionTypeDecl12989); + p_KindTest628=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_KindTest628.getTree()); + // XQueryParser.g:1471:29: ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? + var alt198=2; + var LA198_0 = this.input.LA(1); + + if ( ((LA198_0>=QUESTION && LA198_0<=PLUS)) && (this.synpred3_XQueryParser())) { + alt198=1; + } + switch (alt198) { + case 1 : + // XQueryParser.g:1471:30: ( p_OccurrenceIndicator )=> p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_p_CollectionTypeDecl12998); + p_OccurrenceIndicator629=this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OccurrenceIndicator629.getTree()); + + + break; + + } + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeModifier_return: (function() { + XQueryParser.p_NodeModifier_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeModifier_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1474:1: p_NodeModifier : (k+= READ_ONLY | k+= MUTABLE ) ; + // $ANTLR start "p_NodeModifier" + p_NodeModifier: function() { + var retval = new XQueryParser.p_NodeModifier_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1475:9: ( (k+= READ_ONLY | k+= MUTABLE ) ) + // XQueryParser.g:1475:11: (k+= READ_ONLY | k+= MUTABLE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1475:11: (k+= READ_ONLY | k+= MUTABLE ) + var alt199=2; + var LA199_0 = this.input.LA(1); + + if ( (LA199_0==READ_ONLY) ) { + alt199=1; + } + else if ( (LA199_0==MUTABLE) ) { + alt199=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 199, 0, this.input); + + throw nvae; + } + switch (alt199) { + case 1 : + // XQueryParser.g:1475:12: k+= READ_ONLY + k=this.match(this.input,READ_ONLY,XQueryParser.FOLLOW_READ_ONLY_in_p_NodeModifier13029); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1475:27: k+= MUTABLE + k=this.match(this.input,MUTABLE,XQueryParser.FOLLOW_MUTABLE_in_p_NodeModifier13035); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexDecl_return: (function() { + XQueryParser.p_IndexDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1478:1: p_IndexDecl : k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON ; + // $ANTLR start "p_IndexDecl" + p_IndexDecl: function() { + var retval = new XQueryParser.p_IndexDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA634 = null; + var SEMICOLON636 = null; + var k = null; + var list_k=null; + var p_IndexProperties630 = null; + var p_IndexName631 = null; + var p_IndexDomainExpr632 = null; + var p_IndexKeySpec633 = null; + var p_IndexKeySpec635 = null; + + var COMMA634_tree=null; + var SEMICOLON636_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1479:9: (k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON ) + // XQueryParser.g:1479:11: k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_IndexDecl13064); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexProperties_in_p_IndexDecl13066); + p_IndexProperties630=this.p_IndexProperties(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexProperties630.getTree()); + k=this.match(this.input,INDEX,XQueryParser.FOLLOW_INDEX_in_p_IndexDecl13070); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexName_in_p_IndexDecl13072); + p_IndexName631=this.p_IndexName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexName631.getTree()); + k=this.match(this.input,ON,XQueryParser.FOLLOW_ON_in_p_IndexDecl13076); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_IndexDecl13080); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexDomainExpr_in_p_IndexDecl13082); + p_IndexDomainExpr632=this.p_IndexDomainExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexDomainExpr632.getTree()); + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_IndexDecl13086); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeySpec_in_p_IndexDecl13088); + p_IndexKeySpec633=this.p_IndexKeySpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeySpec633.getTree()); + // XQueryParser.g:1479:115: ( COMMA p_IndexKeySpec )* + loop200: + do { + var alt200=2; + var LA200_0 = this.input.LA(1); + + if ( (LA200_0==COMMA) ) { + alt200=1; + } + + + switch (alt200) { + case 1 : + // XQueryParser.g:1479:116: COMMA p_IndexKeySpec + COMMA634=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_IndexDecl13091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA634_tree = this.adaptor.create(COMMA634); + this.adaptor.addChild(root_0, COMMA634_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeySpec_in_p_IndexDecl13093); + p_IndexKeySpec635=this.p_IndexKeySpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeySpec635.getTree()); + + + break; + + default : + break loop200; + } + } while (true); + + SEMICOLON636=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_IndexDecl13097); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON636_tree = this.adaptor.create(SEMICOLON636); + this.adaptor.addChild(root_0, SEMICOLON636_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexName_return: (function() { + XQueryParser.p_IndexName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1482:1: p_IndexName : p_QName ; + // $ANTLR start "p_IndexName" + p_IndexName: function() { + var retval = new XQueryParser.p_IndexName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName637 = null; + + + try { + // XQueryParser.g:1483:9: ( p_QName ) + // XQueryParser.g:1483:11: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_IndexName13123); + p_QName637=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName637.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexProperties_return: (function() { + XQueryParser.p_IndexProperties_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexProperties_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1486:1: p_IndexProperties : ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) ; + // $ANTLR start "p_IndexProperties" + p_IndexProperties: function() { + var retval = new XQueryParser.p_IndexProperties_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1487:9: ( ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) ) + // XQueryParser.g:1487:11: ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1487:11: ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) + // XQueryParser.g:1487:12: (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* + // XQueryParser.g:1487:12: (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* + loop201: + do { + var alt201=7; + switch ( this.input.LA(1) ) { + case UNIQUE: + alt201=1; + break; + case NON: + alt201=2; + break; + case VALUE: + var LA201_4 = this.input.LA(2); + + if ( (LA201_4==RANGE) ) { + alt201=3; + } + else if ( (LA201_4==EQUALITY) ) { + alt201=4; + } + + + break; + case AUTOMATICALLY: + alt201=5; + break; + case MANUALLY: + alt201=6; + break; + + } + + switch (alt201) { + case 1 : + // XQueryParser.g:1487:13: k+= UNIQUE + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_IndexProperties13152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1487:25: k+= NON k+= UNIQUE + k=this.match(this.input,NON,XQueryParser.FOLLOW_NON_in_p_IndexProperties13158); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_IndexProperties13162); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1488:11: k+= VALUE k+= RANGE + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_IndexProperties13176); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,RANGE,XQueryParser.FOLLOW_RANGE_in_p_IndexProperties13180); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 4 : + // XQueryParser.g:1488:31: k+= VALUE k+= EQUALITY + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_IndexProperties13186); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,EQUALITY,XQueryParser.FOLLOW_EQUALITY_in_p_IndexProperties13190); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 5 : + // XQueryParser.g:1489:11: k+= AUTOMATICALLY k+= MAINTAINED + k=this.match(this.input,AUTOMATICALLY,XQueryParser.FOLLOW_AUTOMATICALLY_in_p_IndexProperties13204); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MAINTAINED,XQueryParser.FOLLOW_MAINTAINED_in_p_IndexProperties13208); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 6 : + // XQueryParser.g:1489:44: k+= MANUALLY k+= MAINTAINED + k=this.match(this.input,MANUALLY,XQueryParser.FOLLOW_MANUALLY_in_p_IndexProperties13214); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MAINTAINED,XQueryParser.FOLLOW_MAINTAINED_in_p_IndexProperties13218); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + default : + break loop201; + } + } while (true); + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexDomainExpr_return: (function() { + XQueryParser.p_IndexDomainExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexDomainExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1492:1: p_IndexDomainExpr : p_PathExpr ; + // $ANTLR start "p_IndexDomainExpr" + p_IndexDomainExpr: function() { + var retval = new XQueryParser.p_IndexDomainExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PathExpr638 = null; + + + try { + // XQueryParser.g:1493:9: ( p_PathExpr ) + // XQueryParser.g:1493:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_IndexDomainExpr13247); + p_PathExpr638=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr638.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeySpec_return: (function() { + XQueryParser.p_IndexKeySpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeySpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1496:1: p_IndexKeySpec : p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? ; + // $ANTLR start "p_IndexKeySpec" + p_IndexKeySpec: function() { + var retval = new XQueryParser.p_IndexKeySpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_IndexKeyExpr639 = null; + var p_IndexKeyTypeDecl640 = null; + var p_IndexKeyCollation641 = null; + + + try { + // XQueryParser.g:1497:9: ( p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? ) + // XQueryParser.g:1497:11: p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyExpr_in_p_IndexKeySpec13272); + p_IndexKeyExpr639=this.p_IndexKeyExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyExpr639.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyTypeDecl_in_p_IndexKeySpec13274); + p_IndexKeyTypeDecl640=this.p_IndexKeyTypeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyTypeDecl640.getTree()); + // XQueryParser.g:1497:45: ( p_IndexKeyCollation )? + var alt202=2; + var LA202_0 = this.input.LA(1); + + if ( (LA202_0==COLLATION) ) { + alt202=1; + } + switch (alt202) { + case 1 : + // XQueryParser.g:1497:45: p_IndexKeyCollation + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyCollation_in_p_IndexKeySpec13276); + p_IndexKeyCollation641=this.p_IndexKeyCollation(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyCollation641.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyExpr_return: (function() { + XQueryParser.p_IndexKeyExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1500:1: p_IndexKeyExpr : p_PathExpr ; + // $ANTLR start "p_IndexKeyExpr" + p_IndexKeyExpr: function() { + var retval = new XQueryParser.p_IndexKeyExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PathExpr642 = null; + + + try { + // XQueryParser.g:1501:9: ( p_PathExpr ) + // XQueryParser.g:1501:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_IndexKeyExpr13302); + p_PathExpr642=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr642.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyTypeDecl_return: (function() { + XQueryParser.p_IndexKeyTypeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyTypeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1504:1: p_IndexKeyTypeDecl : ka= AS p_AtomicType ; + // $ANTLR start "p_IndexKeyTypeDecl" + p_IndexKeyTypeDecl: function() { + var retval = new XQueryParser.p_IndexKeyTypeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var p_AtomicType643 = null; + + var ka_tree=null; + + try { + // XQueryParser.g:1505:9: (ka= AS p_AtomicType ) + // XQueryParser.g:1505:11: ka= AS p_AtomicType + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_IndexKeyTypeDecl13329); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_IndexKeyTypeDecl13331); + p_AtomicType643=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType643.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyCollation_return: (function() { + XQueryParser.p_IndexKeyCollation_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyCollation_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1508:1: p_IndexKeyCollation : kc= COLLATION p_StringLiteral ; + // $ANTLR start "p_IndexKeyCollation" + p_IndexKeyCollation: function() { + var retval = new XQueryParser.p_IndexKeyCollation_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var p_StringLiteral644 = null; + + var kc_tree=null; + + try { + // XQueryParser.g:1509:9: (kc= COLLATION p_StringLiteral ) + // XQueryParser.g:1509:11: kc= COLLATION p_StringLiteral + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_IndexKeyCollation13358); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_IndexKeyCollation13360); + p_StringLiteral644=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral644.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICDecl_return: (function() { + XQueryParser.p_ICDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1512:1: p_ICDecl : k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON ; + // $ANTLR start "p_ICDecl" + p_ICDecl: function() { + var retval = new XQueryParser.p_ICDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON648 = null; + var k = null; + var list_k=null; + var p_QName645 = null; + var p_ICCollection646 = null; + var p_ICForeignKey647 = null; + + var SEMICOLON648_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1513:9: (k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON ) + // XQueryParser.g:1513:11: k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_ICDecl13387); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,INTEGRITY,XQueryParser.FOLLOW_INTEGRITY_in_p_ICDecl13391); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONSTRAINT,XQueryParser.FOLLOW_CONSTRAINT_in_p_ICDecl13395); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICDecl13398); + p_QName645=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName645.getTree()); + // XQueryParser.g:1513:58: ( p_ICCollection | p_ICForeignKey ) + var alt203=2; + var LA203_0 = this.input.LA(1); + + if ( (LA203_0==ON) ) { + alt203=1; + } + else if ( (LA203_0==FOREIGN) ) { + alt203=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 203, 0, this.input); + + throw nvae; + } + switch (alt203) { + case 1 : + // XQueryParser.g:1513:59: p_ICCollection + this.pushFollow(XQueryParser.FOLLOW_p_ICCollection_in_p_ICDecl13401); + p_ICCollection646=this.p_ICCollection(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollection646.getTree()); + + + break; + case 2 : + // XQueryParser.g:1513:76: p_ICForeignKey + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKey_in_p_ICDecl13405); + p_ICForeignKey647=this.p_ICForeignKey(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKey647.getTree()); + + + break; + + } + + SEMICOLON648=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_ICDecl13408); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON648_tree = this.adaptor.create(SEMICOLON648); + this.adaptor.addChild(root_0, SEMICOLON648_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollection_return: (function() { + XQueryParser.p_ICCollection_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollection_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1516:1: p_ICCollection : k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) ; + // $ANTLR start "p_ICCollection" + p_ICCollection: function() { + var retval = new XQueryParser.p_ICCollection_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_QName649 = null; + var p_ICCollSequence650 = null; + var p_ICCollSequenceUnique651 = null; + var p_ICCollNode652 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1517:9: (k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) ) + // XQueryParser.g:1517:11: k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ON,XQueryParser.FOLLOW_ON_in_p_ICCollection13435); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_ICCollection13439); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollection13442); + p_QName649=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName649.getTree()); + // XQueryParser.g:1517:40: ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) + var alt204=3; + switch ( this.input.LA(1) ) { + case DOLLAR: + alt204=1; + break; + case NODE: + alt204=2; + break; + case FOREACH: + alt204=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 204, 0, this.input); + + throw nvae; + } + + switch (alt204) { + case 1 : + // XQueryParser.g:1517:41: p_ICCollSequence + this.pushFollow(XQueryParser.FOLLOW_p_ICCollSequence_in_p_ICCollection13445); + p_ICCollSequence650=this.p_ICCollSequence(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollSequence650.getTree()); + + + break; + case 2 : + // XQueryParser.g:1517:60: p_ICCollSequenceUnique + this.pushFollow(XQueryParser.FOLLOW_p_ICCollSequenceUnique_in_p_ICCollection13449); + p_ICCollSequenceUnique651=this.p_ICCollSequenceUnique(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollSequenceUnique651.getTree()); + + + break; + case 3 : + // XQueryParser.g:1517:85: p_ICCollNode + this.pushFollow(XQueryParser.FOLLOW_p_ICCollNode_in_p_ICCollection13453); + p_ICCollNode652=this.p_ICCollNode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollNode652.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollSequence_return: (function() { + XQueryParser.p_ICCollSequence_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollSequence_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1520:1: p_ICCollSequence : DOLLAR p_QName kc= CHECK p_ExprSingle ; + // $ANTLR start "p_ICCollSequence" + p_ICCollSequence: function() { + var retval = new XQueryParser.p_ICCollSequence_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var DOLLAR653 = null; + var p_QName654 = null; + var p_ExprSingle655 = null; + + var kc_tree=null; + var DOLLAR653_tree=null; + + try { + // XQueryParser.g:1521:9: ( DOLLAR p_QName kc= CHECK p_ExprSingle ) + // XQueryParser.g:1521:11: DOLLAR p_QName kc= CHECK p_ExprSingle + root_0 = this.adaptor.nil(); + + DOLLAR653=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollSequence13479); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR653_tree = this.adaptor.create(DOLLAR653); + this.adaptor.addChild(root_0, DOLLAR653_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollSequence13481); + p_QName654=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName654.getTree()); + kc=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollSequence13485); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ICCollSequence13487); + p_ExprSingle655=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle655.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollSequenceUnique_return: (function() { + XQueryParser.p_ICCollSequenceUnique_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollSequenceUnique_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1524:1: p_ICCollSequenceUnique : k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr ; + // $ANTLR start "p_ICCollSequenceUnique" + p_ICCollSequenceUnique: function() { + var retval = new XQueryParser.p_ICCollSequenceUnique_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_QName656 = null; + var p_PathExpr657 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1525:9: (k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr ) + // XQueryParser.g:1525:11: k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICCollSequenceUnique13514); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollSequenceUnique13518); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollSequenceUnique13520); + p_QName656=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName656.getTree()); + k=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollSequenceUnique13524); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_ICCollSequenceUnique13528); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICCollSequenceUnique13532); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ICCollSequenceUnique13534); + p_PathExpr657=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr657.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollNode_return: (function() { + XQueryParser.p_ICCollNode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollNode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1528:1: p_ICCollNode : k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle ; + // $ANTLR start "p_ICCollNode" + p_ICCollNode: function() { + var retval = new XQueryParser.p_ICCollNode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR658 = null; + var k = null; + var list_k=null; + var p_QName659 = null; + var p_ExprSingle660 = null; + + var DOLLAR658_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1529:9: (k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle ) + // XQueryParser.g:1529:11: k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOREACH,XQueryParser.FOLLOW_FOREACH_in_p_ICCollNode13562); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICCollNode13566); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR658=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollNode13568); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR658_tree = this.adaptor.create(DOLLAR658); + this.adaptor.addChild(root_0, DOLLAR658_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollNode13570); + p_QName659=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName659.getTree()); + k=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollNode13574); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ICCollNode13576); + p_ExprSingle660=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle660.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKey_return: (function() { + XQueryParser.p_ICForeignKey_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKey_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1532:1: p_ICForeignKey : k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget ; + // $ANTLR start "p_ICForeignKey" + p_ICForeignKey: function() { + var retval = new XQueryParser.p_ICForeignKey_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_ICForeignKeySource661 = null; + var p_ICForeignKeyTarget662 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1533:9: (k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget ) + // XQueryParser.g:1533:11: k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOREIGN,XQueryParser.FOLLOW_FOREIGN_in_p_ICForeignKey13604); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICForeignKey13608); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeySource_in_p_ICForeignKey13610); + p_ICForeignKeySource661=this.p_ICForeignKeySource(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeySource661.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyTarget_in_p_ICForeignKey13612); + p_ICForeignKeyTarget662=this.p_ICForeignKeyTarget(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyTarget662.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeySource_return: (function() { + XQueryParser.p_ICForeignKeySource_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeySource_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1536:1: p_ICForeignKeySource : kf= FROM p_ICForeignKeyValues ; + // $ANTLR start "p_ICForeignKeySource" + p_ICForeignKeySource: function() { + var retval = new XQueryParser.p_ICForeignKeySource_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kf = null; + var p_ICForeignKeyValues663 = null; + + var kf_tree=null; + + try { + // XQueryParser.g:1537:9: (kf= FROM p_ICForeignKeyValues ) + // XQueryParser.g:1537:11: kf= FROM p_ICForeignKeyValues + root_0 = this.adaptor.nil(); + + kf=this.match(this.input,FROM,XQueryParser.FOLLOW_FROM_in_p_ICForeignKeySource13640); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kf_tree = this.adaptor.create(kf); + this.adaptor.addChild(root_0, kf_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeySource13642); + p_ICForeignKeyValues663=this.p_ICForeignKeyValues(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyValues663.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeyTarget_return: (function() { + XQueryParser.p_ICForeignKeyTarget_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeyTarget_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1540:1: p_ICForeignKeyTarget : kt= TO p_ICForeignKeyValues ; + // $ANTLR start "p_ICForeignKeyTarget" + p_ICForeignKeyTarget: function() { + var retval = new XQueryParser.p_ICForeignKeyTarget_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kt = null; + var p_ICForeignKeyValues664 = null; + + var kt_tree=null; + + try { + // XQueryParser.g:1541:9: (kt= TO p_ICForeignKeyValues ) + // XQueryParser.g:1541:11: kt= TO p_ICForeignKeyValues + root_0 = this.adaptor.nil(); + + kt=this.match(this.input,TO,XQueryParser.FOLLOW_TO_in_p_ICForeignKeyTarget13669); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kt_tree = this.adaptor.create(kt); + this.adaptor.addChild(root_0, kt_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeyTarget13671); + p_ICForeignKeyValues664=this.p_ICForeignKeyValues(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyValues664.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeyValues_return: (function() { + XQueryParser.p_ICForeignKeyValues_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeyValues_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1544:1: p_ICForeignKeyValues : k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr ; + // $ANTLR start "p_ICForeignKeyValues" + p_ICForeignKeyValues: function() { + var retval = new XQueryParser.p_ICForeignKeyValues_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR666 = null; + var k = null; + var list_k=null; + var p_QName665 = null; + var p_QName667 = null; + var p_PathExpr668 = null; + + var DOLLAR666_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1545:9: (k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr ) + // XQueryParser.g:1545:11: k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_ICForeignKeyValues13698); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICForeignKeyValues13700); + p_QName665=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName665.getTree()); + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICForeignKeyValues13704); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR666=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICForeignKeyValues13706); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR666_tree = this.adaptor.create(DOLLAR666); + this.adaptor.addChild(root_0, DOLLAR666_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICForeignKeyValues13708); + p_QName667=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName667.getTree()); + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICForeignKeyValues13712); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ICForeignKeyValues13714); + p_PathExpr668=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr668.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // $ANTLR start "synpred1_XQueryParser" + synpred1_XQueryParser_fragment: function() { + // XQueryParser.g:657:11: ( SLASH p_RelativePathExpr ) + // XQueryParser.g:657:12: SLASH p_RelativePathExpr + this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_synpred1_XQueryParser5860); if (this.state.failed) return ; + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_synpred1_XQueryParser5862); + this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred1_XQueryParser", + + // $ANTLR start "synpred2_XQueryParser" + synpred2_XQueryParser_fragment: function() { + // XQueryParser.g:1011:26: ( p_OccurrenceIndicator ) + // XQueryParser.g:1011:27: p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_synpred2_XQueryParser8510); + this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred2_XQueryParser", + + // $ANTLR start "synpred3_XQueryParser" + synpred3_XQueryParser_fragment: function() { + // XQueryParser.g:1471:30: ( p_OccurrenceIndicator ) + // XQueryParser.g:1471:31: p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_synpred3_XQueryParser12993); + this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred3_XQueryParser" + + // Delegated rules + + + + synpred3_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred3_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + }, + synpred1_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred1_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + }, + synpred2_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred2_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(XQueryParser, { + DFA6_eotS: + "\u000d\uffff", + DFA6_eofS: + "\u0001\u0002\u0001\u000c\u0001\uffff\u0001\u000c\u0009\uffff", + DFA6_minS: + "\u0001\u0010\u0001\u0012\u0001\uffff\u0001\u0012\u0009\uffff", + DFA6_maxS: + "\u0001\u0137\u0001\u00e0\u0001\uffff\u0001\u00e0\u0009\uffff", + DFA6_acceptS: + "\u0002\uffff\u0001\u0002\u0001\uffff\u0003\u0002\u0003\u0001\u0003"+ + "\u0002", + DFA6_specialS: + "\u0001\uffff\u0001\u0000\u000b\uffff}>", + DFA6_transitionS: [ + "\u0012\u0002\u0001\u0001\u0019\u0002\u0001\u0003\u0062\u0002"+ + "\u0001\uffff\u0014\u0002\u0001\uffff\u000d\u0002\u0001\uffff"+ + "\u0001\u0002\u000a\uffff\u0004\u0002\u0005\uffff\u0004\u0002"+ + "\u000c\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0006\uffff\u0006\u0002\u003b\uffff\u0002\u0002", + "\u0001\u000c\u0004\uffff\u0002\u0007\u0002\uffff\u0002\u000c"+ + "\u0003\uffff\u0001\u0007\u0001\u0009\u0001\uffff\u0001\u0007"+ + "\u0003\uffff\u0001\u000c\u0007\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0004\uffff\u0001\u000a\u0001\u000c\u0001\uffff"+ + "\u0002\u000c\u0004\uffff\u0003\u000c\u0002\uffff\u0001\u000c"+ + "\u0002\uffff\u0002\u000c\u0001\uffff\u0001\u0009\u0001\u000c"+ + "\u0004\uffff\u0001\u0005\u0001\u000c\u0001\uffff\u0001\u000b"+ + "\u0001\u0007\u0011\uffff\u0002\u000c\u0001\uffff\u0001\u000c"+ + "\u0001\u000b\u0001\uffff\u0001\u000a\u0004\uffff\u0001\u0002"+ + "\u0025\uffff\u0001\u0008\u0001\uffff\u0001\u000a\u0001\u000b"+ + "\u0002\uffff\u0001\u000a\u0002\uffff\u0001\u0004\u0001\uffff"+ + "\u0001\u000a\u0003\uffff\u0002\u000b\u0001\uffff\u0001\u000b"+ + "\u0001\uffff\u0001\u000b\u0004\uffff\u0001\u000b\u0001\u0006"+ + "\u0002\uffff\u0003\u000b\u0001\uffff\u0001\u000b\u0002\uffff"+ + "\u0001\u000b\u0001\uffff\u0001\u000a\u0003\uffff\u0001\u000c"+ + "\u0004\uffff\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff\u000b\u000c"+ + "\u0002\uffff\u0001\u000c\u0003\uffff\u0002\u000c", + "", + "\u0001\u000c\u0008\uffff\u0002\u000c\u000a\uffff\u0001\u000c"+ + "\u0007\uffff\u0001\u000c\u0001\uffff\u0001\u000c\u0005\uffff"+ + "\u0001\u000c\u0001\uffff\u0002\u000c\u0004\uffff\u0003\u000c"+ + "\u0002\uffff\u0001\u000c\u0002\uffff\u0002\u000c\u0001\u0009"+ + "\u0001\uffff\u0001\u000c\u0005\uffff\u0001\u000c\u000a\uffff"+ + "\u0001\u0009\u0009\uffff\u0002\u000c\u0001\uffff\u0001\u000c"+ + "\u0057\uffff\u0001\u000c\u0004\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff\u0001\u000c"+ + "\u0001\uffff\u000b\u000c\u0002\uffff\u0001\u000c\u0003\uffff"+ + "\u0002\u000c", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA6_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_eotS), + DFA6_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_eofS), + DFA6_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA6_minS), + DFA6_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA6_maxS), + DFA6_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_acceptS), + DFA6_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_specialS), + DFA6_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA6_transitionS.length; + for (i=0; i=BASE_URI && LA6_1<=BOUNDARY_SPACE)||LA6_1==CONSTRUCTION||LA6_1==DEFAULT||LA6_1==ORDERING) ) {s = 7;} + + else if ( (LA6_1==REVALIDATION) && ((true))) {s = 8;} + + else if ( (LA6_1==COPY_NAMESPACES||LA6_1==NAMESPACE) ) {s = 9;} + + else if ( (LA6_1==FUNCTION||LA6_1==VARIABLE||LA6_1==UPDATING||LA6_1==CONSTANT||LA6_1==SIMPLE||LA6_1==PRIVATE) ) {s = 10;} + + else if ( (LA6_1==ORDERED||LA6_1==UNORDERED||LA6_1==VALUE||(LA6_1>=APPEND_ONLY && LA6_1<=AUTOMATICALLY)||LA6_1==COLLECTION||LA6_1==CONST||LA6_1==INDEX||(LA6_1>=MANUALLY && LA6_1<=NON)||LA6_1==QUEUE||LA6_1==UNIQUE) && ((true))) {s = 11;} + + else if ( (LA6_1==EOF||LA6_1==AND||(LA6_1>=CAST && LA6_1<=CASTABLE)||LA6_1==DIV||LA6_1==EQ||LA6_1==EXCEPT||LA6_1==GE||(LA6_1>=GT && LA6_1<=IDIV)||(LA6_1>=INSTANCE && LA6_1<=IS)||LA6_1==LE||(LA6_1>=LT && LA6_1<=MOD)||LA6_1==NE||LA6_1==OR||(LA6_1>=TO && LA6_1<=TREAT)||LA6_1==UNION||LA6_1==LPAREN||LA6_1==LSQUARE||LA6_1==EQUAL||LA6_1==NOTEQUAL||LA6_1==COMMA||(LA6_1>=STAR && LA6_1<=SLASH_SLASH)||LA6_1==COLON||(LA6_1>=SEMICOLON && LA6_1<=VBAR)) ) {s = 12;} + + + input.seek(index6_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 6, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA7_eotS: + "\u000c\uffff", + DFA7_eofS: + "\u0001\u0001\u0001\uffff\u0001\u0001\u0009\uffff", + DFA7_minS: + "\u0001\u0010\u0001\uffff\u0001\u0012\u0004\uffff\u0001\u0036\u0004"+ + "\uffff", + DFA7_maxS: + "\u0001\u0137\u0001\uffff\u0001\u00e0\u0004\uffff\u0001\u00a2\u0004"+ + "\uffff", + DFA7_acceptS: + "\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0002\u0001\u0003\u0001"+ + "\u0004\u0001\u0007\u0001\uffff\u0001\u0001\u0001\u0003\u0001\u0005\u0001"+ + "\u0006", + DFA7_specialS: + "\u0002\uffff\u0001\u0000\u0009\uffff}>", + DFA7_transitionS: [ + "\u0012\u0001\u0001\u0002\u007c\u0001\u0001\uffff\u0014\u0001"+ + "\u0001\uffff\u000d\u0001\u0001\uffff\u0001\u0001\u000a\uffff"+ + "\u0004\u0001\u0005\uffff\u0004\u0001\u000c\uffff\u0001\u0001"+ + "\u0002\uffff\u0002\u0001\u0002\uffff\u0001\u0001\u0006\uffff"+ + "\u0006\u0001\u003b\uffff\u0002\u0001", + "", + "\u0001\u0001\u0008\uffff\u0002\u0001\u000a\uffff\u0001\u0001"+ + "\u0007\uffff\u0001\u0001\u0001\uffff\u0001\u0001\u0004\uffff"+ + "\u0001\u0009\u0001\u0001\u0001\uffff\u0002\u0001\u0004\uffff"+ + "\u0003\u0001\u0002\uffff\u0001\u0001\u0002\uffff\u0002\u0001"+ + "\u0002\uffff\u0001\u0001\u0004\uffff\u0001\u0005\u0001\u0001"+ + "\u0001\uffff\u0001\u000a\u0012\uffff\u0002\u0001\u0001\uffff"+ + "\u0001\u0001\u0001\u000a\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0003\u0027\uffff\u0001\u0009\u0001\u000b\u0002\uffff"+ + "\u0001\u0008\u0002\uffff\u0001\u0004\u0001\uffff\u0001\u0009"+ + "\u0003\uffff\u0001\u000a\u0001\u000b\u0001\uffff\u0001\u000a"+ + "\u0001\uffff\u0001\u000a\u0004\uffff\u0001\u000b\u0001\u0006"+ + "\u0002\uffff\u0001\u000b\u0001\u000a\u0001\u000b\u0001\uffff"+ + "\u0001\u000a\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u0007"+ + "\u0003\uffff\u0001\u0001\u0004\uffff\u0001\u0001\u0001\uffff"+ + "\u0001\u0001\u0001\uffff\u0001\u0001\u0001\uffff\u0001\u0001"+ + "\u0001\uffff\u000b\u0001\u0002\uffff\u0001\u0001\u0003\uffff"+ + "\u0002\u0001", + "", + "", + "", + "", + "\u0001\u0009\u0035\uffff\u0001\u0008\u002c\uffff\u0001\u0009"+ + "\u0003\uffff\u0001\u0008\u0004\uffff\u0001\u0009", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA7_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_eotS), + DFA7_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_eofS), + DFA7_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA7_minS), + DFA7_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA7_maxS), + DFA7_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_acceptS), + DFA7_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_specialS), + DFA7_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA7_transitionS.length; + for (i=0; i p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )*"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA7_2 = input.LA(1); + + + var index7_2 = input.index(); + input.rewind(); + s = -1; + if ( (LA7_2==CONTEXT) ) {s = 3;} + + else if ( (LA7_2==SEQUENTIAL) && ((true))) {s = 4;} + + else if ( (LA7_2==OPTION) ) {s = 5;} + + else if ( (LA7_2==INTEGRITY) && ((true))) {s = 6;} + + else if ( (LA7_2==EOF||LA7_2==AND||(LA7_2>=CAST && LA7_2<=CASTABLE)||LA7_2==DIV||LA7_2==EQ||LA7_2==EXCEPT||LA7_2==GE||(LA7_2>=GT && LA7_2<=IDIV)||(LA7_2>=INSTANCE && LA7_2<=IS)||LA7_2==LE||(LA7_2>=LT && LA7_2<=MOD)||LA7_2==NE||LA7_2==OR||(LA7_2>=TO && LA7_2<=TREAT)||LA7_2==UNION||LA7_2==LPAREN||LA7_2==LSQUARE||LA7_2==EQUAL||LA7_2==NOTEQUAL||LA7_2==COMMA||(LA7_2>=STAR && LA7_2<=SLASH_SLASH)||LA7_2==COLON||(LA7_2>=SEMICOLON && LA7_2<=VBAR)) ) {s = 1;} + + else if ( (LA7_2==PRIVATE) ) {s = 7;} + + else if ( (LA7_2==VARIABLE||LA7_2==CONSTANT) ) {s = 8;} + + else if ( (LA7_2==FUNCTION||LA7_2==UPDATING||LA7_2==SIMPLE) ) {s = 9;} + + else if ( (LA7_2==ORDERED||LA7_2==UNORDERED||LA7_2==APPEND_ONLY||LA7_2==COLLECTION||LA7_2==CONST||LA7_2==MUTABLE||LA7_2==QUEUE) && ((true))) {s = 10;} + + else if ( (LA7_2==VALUE||LA7_2==AUTOMATICALLY||LA7_2==INDEX||LA7_2==MANUALLY||LA7_2==NON||LA7_2==UNIQUE) && ((true))) {s = 11;} + + + input.seek(index7_2); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 7, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA8_eotS: + "\u000b\uffff", + DFA8_eofS: + "\u000b\uffff", + DFA8_minS: + "\u0001\u0022\u0001\u0017\u0001\uffff\u0001\u001e\u0007\uffff", + DFA8_maxS: + "\u0001\u0022\u0001\u0097\u0001\uffff\u0001\u0052\u0007\uffff", + DFA8_acceptS: + "\u0002\uffff\u0001\u0001\u0001\uffff\u0001\u0003\u0001\u0004\u0001"+ + "\u0005\u0001\u0007\u0001\u0008\u0001\u0002\u0001\u0006", + DFA8_specialS: + "\u0001\uffff\u0001\u0000\u0009\uffff}>", + DFA8_transitionS: [ + "\u0001\u0001", + "\u0001\u0004\u0001\u0002\u0007\uffff\u0001\u0005\u0001\u0008"+ + "\u0001\uffff\u0001\u0003\u0030\uffff\u0001\u0006\u0042\uffff"+ + "\u0001\u0007", + "", + "\u0001\u0009\u0033\uffff\u0001\u000a", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA8_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_eotS), + DFA8_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_eofS), + DFA8_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA8_minS), + DFA8_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA8_maxS), + DFA8_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_acceptS), + DFA8_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_specialS), + DFA8_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA8_transitionS.length; + for (i=0; i pm_RevalidationDecl | pm_CopyNamespacesDecl );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA8_1 = input.LA(1); + + + var index8_1 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_1==BOUNDARY_SPACE) ) {s = 2;} + + else if ( (LA8_1==DEFAULT) ) {s = 3;} + + else if ( (LA8_1==BASE_URI) ) {s = 4;} + + else if ( (LA8_1==CONSTRUCTION) ) {s = 5;} + + else if ( (LA8_1==ORDERING) ) {s = 6;} + + else if ( (LA8_1==REVALIDATION) && ((true))) {s = 7;} + + else if ( (LA8_1==COPY_NAMESPACES) ) {s = 8;} + + + input.seek(index8_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 8, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA49_eotS: + "\u0022\uffff", + DFA49_eofS: + "\u0001\uffff\u0001\u0013\u0001\uffff\u0010\u0013\u000f\uffff", + DFA49_minS: + "\u0001\u0010\u0001\u0012\u0001\uffff\u0010\u0012\u000f\uffff", + DFA49_maxS: + "\u0001\u0137\u0001\u0136\u0001\uffff\u0010\u0136\u000f\uffff", + DFA49_acceptS: + "\u0002\uffff\u0001\u0001\u0010\uffff\u0001\u0010\u0001\u0002\u0001"+ + "\u0003\u0001\u0004\u0001\u0005\u0001\u0006\u0001\u0007\u0001\u0008\u0001"+ + "\u0009\u0001\u000a\u0001\u000b\u0001\u000c\u0001\u000d\u0001\u000e\u0001"+ + "\u000f", + DFA49_specialS: + "\u0008\uffff\u0001\u0000\u0001\u0003\u0001\u000a\u0001\u0001\u0001"+ + "\u0007\u0001\u0009\u0001\u0002\u0001\u0005\u0001\u0004\u0001\u0006\u0001"+ + "\u0008\u000f\uffff}>", + DFA49_transitionS: [ + "\u0020\u0013\u0001\u0004\u0004\u0013\u0001\u0001\u0005\u0013"+ + "\u0001\u0006\u0024\u0013\u0001\u0003\u0007\u0013\u0001\u0005"+ + "\u001d\u0013\u0001\u0007\u0006\u0013\u0001\u000e\u0001\u000b"+ + "\u0001\u0013\u0001\u000a\u0004\u0013\u0001\u000c\u0001\u000d"+ + "\u0005\u0013\u0001\u000f\u0001\u0013\u0001\u0011\u0001\uffff"+ + "\u0001\u0013\u0001\u0010\u0001\u0013\u0001\u0012\u0001\u0009"+ + "\u0001\u0008\u000e\u0013\u0001\uffff\u000d\u0013\u0001\uffff"+ + "\u0001\u0013\u000a\uffff\u0004\u0013\u0005\uffff\u0004\u0013"+ + "\u000c\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0002\uffff"+ + "\u0001\u0013\u0006\uffff\u0006\u0013\u003b\uffff\u0001\u0002"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0005\uffff\u0001\u0002\u0001\u0013"+ + "\u0001\uffff\u0001\u0002\u0003\uffff\u0002\u0013\u0004\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0007\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0001\u0002\u0001\uffff\u0004\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u000b\u0013\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0055\uffff\u0001\u0013", + "", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0014"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0014"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0015\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0016\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0017\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0018"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0018\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u0019\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\u0019\u0006\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001a\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\u001a\u0006\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001b\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0007\uffff\u0001\u0013\u0025\uffff"+ + "\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff"+ + "\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001c\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0006\uffff\u0001\u001c\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u001d"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u001e\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u001f"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0003\uffff\u0001\u0020\u0021\uffff"+ + "\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff"+ + "\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0021\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA49_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_eotS), + DFA49_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_eofS), + DFA49_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA49_minS), + DFA49_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA49_maxS), + DFA49_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_acceptS), + DFA49_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_specialS), + DFA49_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA49_transitionS.length; + for (i=0; i p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA49_8 = input.LA(1); + + + var index49_8 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_8==DOLLAR) && ((true))) {s = 24;} + + else if ( (LA49_8==EOF||(LA49_8>=AND && LA49_8<=ASCENDING)||(LA49_8>=CASE && LA49_8<=CASTABLE)||LA49_8==COLLATION||LA49_8==DEFAULT||(LA49_8>=DESCENDING && LA49_8<=DIV)||(LA49_8>=ELSE && LA49_8<=EMPTY)||LA49_8==EQ||LA49_8==EXCEPT||LA49_8==FOR||LA49_8==GE||(LA49_8>=GT && LA49_8<=IDIV)||(LA49_8>=INSTANCE && LA49_8<=IS)||LA49_8==LE||(LA49_8>=LT && LA49_8<=MOD)||LA49_8==NE||(LA49_8>=OR && LA49_8<=ORDER)||(LA49_8>=RETURN && LA49_8<=SATISFIES)||LA49_8==STABLE||(LA49_8>=TO && LA49_8<=TREAT)||LA49_8==UNION||LA49_8==WHERE||LA49_8==COUNT||(LA49_8>=END && LA49_8<=GROUP)||LA49_8==ONLY||LA49_8==START||(LA49_8>=AFTER && LA49_8<=BEFORE)||LA49_8==INTO||LA49_8==MODIFY||LA49_8==WITH||(LA49_8>=LPAREN && LA49_8<=RPAREN)||(LA49_8>=RBRACKET && LA49_8<=EQUAL)||LA49_8==NOTEQUAL||LA49_8==COMMA||(LA49_8>=STAR && LA49_8<=SLASH_SLASH)||LA49_8==COLON||(LA49_8>=SEMICOLON && LA49_8<=VBAR)||LA49_8==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_8); + if ( s>=0 ) return s; + break; + case 1 : + var LA49_11 = input.LA(1); + + + var index49_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_11==NODE||LA49_11==NODES) && ((true))) {s = 26;} + + else if ( (LA49_11==EOF||(LA49_11>=AND && LA49_11<=ASCENDING)||(LA49_11>=CASE && LA49_11<=CASTABLE)||LA49_11==COLLATION||LA49_11==DEFAULT||(LA49_11>=DESCENDING && LA49_11<=DIV)||(LA49_11>=ELSE && LA49_11<=EMPTY)||LA49_11==EQ||LA49_11==EXCEPT||LA49_11==FOR||LA49_11==GE||(LA49_11>=GT && LA49_11<=IDIV)||(LA49_11>=INSTANCE && LA49_11<=IS)||LA49_11==LE||(LA49_11>=LT && LA49_11<=MOD)||LA49_11==NE||(LA49_11>=OR && LA49_11<=ORDER)||(LA49_11>=RETURN && LA49_11<=SATISFIES)||LA49_11==STABLE||(LA49_11>=TO && LA49_11<=TREAT)||LA49_11==UNION||LA49_11==WHERE||LA49_11==COUNT||(LA49_11>=END && LA49_11<=GROUP)||LA49_11==ONLY||LA49_11==START||(LA49_11>=AFTER && LA49_11<=BEFORE)||LA49_11==INTO||LA49_11==MODIFY||LA49_11==WITH||(LA49_11>=LPAREN && LA49_11<=RPAREN)||(LA49_11>=RBRACKET && LA49_11<=EQUAL)||LA49_11==NOTEQUAL||LA49_11==COMMA||(LA49_11>=STAR && LA49_11<=SLASH_SLASH)||LA49_11==COLON||(LA49_11>=SEMICOLON && LA49_11<=VBAR)||LA49_11==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_11); + if ( s>=0 ) return s; + break; + case 2 : + var LA49_14 = input.LA(1); + + + var index49_14 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_14==DOLLAR) && ((true))) {s = 29;} + + else if ( (LA49_14==EOF||(LA49_14>=AND && LA49_14<=ASCENDING)||(LA49_14>=CASE && LA49_14<=CASTABLE)||LA49_14==COLLATION||LA49_14==DEFAULT||(LA49_14>=DESCENDING && LA49_14<=DIV)||(LA49_14>=ELSE && LA49_14<=EMPTY)||LA49_14==EQ||LA49_14==EXCEPT||LA49_14==FOR||LA49_14==GE||(LA49_14>=GT && LA49_14<=IDIV)||(LA49_14>=INSTANCE && LA49_14<=IS)||LA49_14==LE||(LA49_14>=LT && LA49_14<=MOD)||LA49_14==NE||(LA49_14>=OR && LA49_14<=ORDER)||(LA49_14>=RETURN && LA49_14<=SATISFIES)||LA49_14==STABLE||(LA49_14>=TO && LA49_14<=TREAT)||LA49_14==UNION||LA49_14==WHERE||LA49_14==COUNT||(LA49_14>=END && LA49_14<=GROUP)||LA49_14==ONLY||LA49_14==START||(LA49_14>=AFTER && LA49_14<=BEFORE)||LA49_14==INTO||LA49_14==MODIFY||LA49_14==WITH||(LA49_14>=LPAREN && LA49_14<=RPAREN)||(LA49_14>=RBRACKET && LA49_14<=EQUAL)||LA49_14==NOTEQUAL||LA49_14==COMMA||(LA49_14>=STAR && LA49_14<=SLASH_SLASH)||LA49_14==COLON||(LA49_14>=SEMICOLON && LA49_14<=VBAR)||LA49_14==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_14); + if ( s>=0 ) return s; + break; + case 3 : + var LA49_9 = input.LA(1); + + + var index49_9 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_9==LBRACKET) && ((true))) {s = 24;} + + else if ( (LA49_9==EOF||(LA49_9>=AND && LA49_9<=ASCENDING)||(LA49_9>=CASE && LA49_9<=CASTABLE)||LA49_9==COLLATION||LA49_9==DEFAULT||(LA49_9>=DESCENDING && LA49_9<=DIV)||(LA49_9>=ELSE && LA49_9<=EMPTY)||LA49_9==EQ||LA49_9==EXCEPT||LA49_9==FOR||LA49_9==GE||(LA49_9>=GT && LA49_9<=IDIV)||(LA49_9>=INSTANCE && LA49_9<=IS)||LA49_9==LE||(LA49_9>=LT && LA49_9<=MOD)||LA49_9==NE||(LA49_9>=OR && LA49_9<=ORDER)||(LA49_9>=RETURN && LA49_9<=SATISFIES)||LA49_9==STABLE||(LA49_9>=TO && LA49_9<=TREAT)||LA49_9==UNION||LA49_9==WHERE||LA49_9==COUNT||(LA49_9>=END && LA49_9<=GROUP)||LA49_9==ONLY||LA49_9==START||(LA49_9>=AFTER && LA49_9<=BEFORE)||LA49_9==INTO||LA49_9==MODIFY||LA49_9==WITH||(LA49_9>=LPAREN && LA49_9<=RPAREN)||(LA49_9>=RBRACKET && LA49_9<=EQUAL)||LA49_9==NOTEQUAL||LA49_9==COMMA||(LA49_9>=STAR && LA49_9<=SLASH_SLASH)||LA49_9==COLON||(LA49_9>=SEMICOLON && LA49_9<=VBAR)||LA49_9==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_9); + if ( s>=0 ) return s; + break; + case 4 : + var LA49_16 = input.LA(1); + + + var index49_16 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_16==DOLLAR) && ((true))) {s = 31;} + + else if ( (LA49_16==EOF||(LA49_16>=AND && LA49_16<=ASCENDING)||(LA49_16>=CASE && LA49_16<=CASTABLE)||LA49_16==COLLATION||LA49_16==DEFAULT||(LA49_16>=DESCENDING && LA49_16<=DIV)||(LA49_16>=ELSE && LA49_16<=EMPTY)||LA49_16==EQ||LA49_16==EXCEPT||LA49_16==FOR||LA49_16==GE||(LA49_16>=GT && LA49_16<=IDIV)||(LA49_16>=INSTANCE && LA49_16<=IS)||LA49_16==LE||(LA49_16>=LT && LA49_16<=MOD)||LA49_16==NE||(LA49_16>=OR && LA49_16<=ORDER)||(LA49_16>=RETURN && LA49_16<=SATISFIES)||LA49_16==STABLE||(LA49_16>=TO && LA49_16<=TREAT)||LA49_16==UNION||LA49_16==WHERE||LA49_16==COUNT||(LA49_16>=END && LA49_16<=GROUP)||LA49_16==ONLY||LA49_16==START||(LA49_16>=AFTER && LA49_16<=BEFORE)||LA49_16==INTO||LA49_16==MODIFY||LA49_16==WITH||(LA49_16>=LPAREN && LA49_16<=RPAREN)||(LA49_16>=RBRACKET && LA49_16<=EQUAL)||LA49_16==NOTEQUAL||LA49_16==COMMA||(LA49_16>=STAR && LA49_16<=SLASH_SLASH)||LA49_16==COLON||(LA49_16>=SEMICOLON && LA49_16<=VBAR)||LA49_16==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_16); + if ( s>=0 ) return s; + break; + case 5 : + var LA49_15 = input.LA(1); + + + var index49_15 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_15==LBRACKET) && ((true))) {s = 30;} + + else if ( (LA49_15==EOF||(LA49_15>=AND && LA49_15<=ASCENDING)||(LA49_15>=CASE && LA49_15<=CASTABLE)||LA49_15==COLLATION||LA49_15==DEFAULT||(LA49_15>=DESCENDING && LA49_15<=DIV)||(LA49_15>=ELSE && LA49_15<=EMPTY)||LA49_15==EQ||LA49_15==EXCEPT||LA49_15==FOR||LA49_15==GE||(LA49_15>=GT && LA49_15<=IDIV)||(LA49_15>=INSTANCE && LA49_15<=IS)||LA49_15==LE||(LA49_15>=LT && LA49_15<=MOD)||LA49_15==NE||(LA49_15>=OR && LA49_15<=ORDER)||(LA49_15>=RETURN && LA49_15<=SATISFIES)||LA49_15==STABLE||(LA49_15>=TO && LA49_15<=TREAT)||LA49_15==UNION||LA49_15==WHERE||LA49_15==COUNT||(LA49_15>=END && LA49_15<=GROUP)||LA49_15==ONLY||LA49_15==START||(LA49_15>=AFTER && LA49_15<=BEFORE)||LA49_15==INTO||LA49_15==MODIFY||LA49_15==WITH||(LA49_15>=LPAREN && LA49_15<=RPAREN)||(LA49_15>=RBRACKET && LA49_15<=EQUAL)||LA49_15==NOTEQUAL||LA49_15==COMMA||(LA49_15>=STAR && LA49_15<=SLASH_SLASH)||LA49_15==COLON||(LA49_15>=SEMICOLON && LA49_15<=VBAR)||LA49_15==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_15); + if ( s>=0 ) return s; + break; + case 6 : + var LA49_17 = input.LA(1); + + + var index49_17 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_17==RETURNING) && ((true))) {s = 32;} + + else if ( (LA49_17==EOF||(LA49_17>=AND && LA49_17<=ASCENDING)||(LA49_17>=CASE && LA49_17<=CASTABLE)||LA49_17==COLLATION||LA49_17==DEFAULT||(LA49_17>=DESCENDING && LA49_17<=DIV)||(LA49_17>=ELSE && LA49_17<=EMPTY)||LA49_17==EQ||LA49_17==EXCEPT||LA49_17==FOR||LA49_17==GE||(LA49_17>=GT && LA49_17<=IDIV)||(LA49_17>=INSTANCE && LA49_17<=IS)||LA49_17==LE||(LA49_17>=LT && LA49_17<=MOD)||LA49_17==NE||(LA49_17>=OR && LA49_17<=ORDER)||(LA49_17>=RETURN && LA49_17<=SATISFIES)||LA49_17==STABLE||(LA49_17>=TO && LA49_17<=TREAT)||LA49_17==UNION||LA49_17==WHERE||LA49_17==COUNT||(LA49_17>=END && LA49_17<=GROUP)||LA49_17==ONLY||LA49_17==START||(LA49_17>=AFTER && LA49_17<=BEFORE)||LA49_17==INTO||LA49_17==MODIFY||LA49_17==WITH||(LA49_17>=LPAREN && LA49_17<=RPAREN)||(LA49_17>=RBRACKET && LA49_17<=EQUAL)||LA49_17==NOTEQUAL||LA49_17==COMMA||(LA49_17>=STAR && LA49_17<=SLASH_SLASH)||LA49_17==COLON||(LA49_17>=SEMICOLON && LA49_17<=VBAR)||LA49_17==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_17); + if ( s>=0 ) return s; + break; + case 7 : + var LA49_12 = input.LA(1); + + + var index49_12 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_12==NODE) && ((true))) {s = 27;} + + else if ( (LA49_12==EOF||(LA49_12>=AND && LA49_12<=ASCENDING)||(LA49_12>=CASE && LA49_12<=CASTABLE)||LA49_12==COLLATION||LA49_12==DEFAULT||(LA49_12>=DESCENDING && LA49_12<=DIV)||(LA49_12>=ELSE && LA49_12<=EMPTY)||LA49_12==EQ||LA49_12==EXCEPT||LA49_12==FOR||LA49_12==GE||(LA49_12>=GT && LA49_12<=IDIV)||(LA49_12>=INSTANCE && LA49_12<=IS)||LA49_12==LE||(LA49_12>=LT && LA49_12<=MOD)||LA49_12==NE||(LA49_12>=OR && LA49_12<=ORDER)||(LA49_12>=RETURN && LA49_12<=SATISFIES)||LA49_12==STABLE||(LA49_12>=TO && LA49_12<=TREAT)||LA49_12==UNION||LA49_12==WHERE||LA49_12==COUNT||(LA49_12>=END && LA49_12<=GROUP)||LA49_12==ONLY||LA49_12==START||(LA49_12>=AFTER && LA49_12<=BEFORE)||LA49_12==INTO||LA49_12==MODIFY||LA49_12==WITH||(LA49_12>=LPAREN && LA49_12<=RPAREN)||(LA49_12>=RBRACKET && LA49_12<=EQUAL)||LA49_12==NOTEQUAL||LA49_12==COMMA||(LA49_12>=STAR && LA49_12<=SLASH_SLASH)||LA49_12==COLON||(LA49_12>=SEMICOLON && LA49_12<=VBAR)||LA49_12==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_12); + if ( s>=0 ) return s; + break; + case 8 : + var LA49_18 = input.LA(1); + + + var index49_18 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_18==LPAREN) && ((true))) {s = 33;} + + else if ( (LA49_18==EOF||(LA49_18>=AND && LA49_18<=ASCENDING)||(LA49_18>=CASE && LA49_18<=CASTABLE)||LA49_18==COLLATION||LA49_18==DEFAULT||(LA49_18>=DESCENDING && LA49_18<=DIV)||(LA49_18>=ELSE && LA49_18<=EMPTY)||LA49_18==EQ||LA49_18==EXCEPT||LA49_18==FOR||LA49_18==GE||(LA49_18>=GT && LA49_18<=IDIV)||(LA49_18>=INSTANCE && LA49_18<=IS)||LA49_18==LE||(LA49_18>=LT && LA49_18<=MOD)||LA49_18==NE||(LA49_18>=OR && LA49_18<=ORDER)||(LA49_18>=RETURN && LA49_18<=SATISFIES)||LA49_18==STABLE||(LA49_18>=TO && LA49_18<=TREAT)||LA49_18==UNION||LA49_18==WHERE||LA49_18==COUNT||(LA49_18>=END && LA49_18<=GROUP)||LA49_18==ONLY||LA49_18==START||(LA49_18>=AFTER && LA49_18<=BEFORE)||LA49_18==INTO||LA49_18==MODIFY||LA49_18==WITH||LA49_18==RPAREN||(LA49_18>=RBRACKET && LA49_18<=EQUAL)||LA49_18==NOTEQUAL||LA49_18==COMMA||(LA49_18>=STAR && LA49_18<=SLASH_SLASH)||LA49_18==COLON||(LA49_18>=SEMICOLON && LA49_18<=VBAR)||LA49_18==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_18); + if ( s>=0 ) return s; + break; + case 9 : + var LA49_13 = input.LA(1); + + + var index49_13 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_13==NODE||LA49_13==VALUE) && ((true))) {s = 28;} + + else if ( (LA49_13==EOF||(LA49_13>=AND && LA49_13<=ASCENDING)||(LA49_13>=CASE && LA49_13<=CASTABLE)||LA49_13==COLLATION||LA49_13==DEFAULT||(LA49_13>=DESCENDING && LA49_13<=DIV)||(LA49_13>=ELSE && LA49_13<=EMPTY)||LA49_13==EQ||LA49_13==EXCEPT||LA49_13==FOR||LA49_13==GE||(LA49_13>=GT && LA49_13<=IDIV)||(LA49_13>=INSTANCE && LA49_13<=IS)||LA49_13==LE||(LA49_13>=LT && LA49_13<=MOD)||LA49_13==NE||(LA49_13>=OR && LA49_13<=ORDER)||(LA49_13>=RETURN && LA49_13<=SATISFIES)||LA49_13==STABLE||(LA49_13>=TO && LA49_13<=TREAT)||LA49_13==UNION||LA49_13==WHERE||LA49_13==COUNT||(LA49_13>=END && LA49_13<=GROUP)||LA49_13==ONLY||LA49_13==START||(LA49_13>=AFTER && LA49_13<=BEFORE)||LA49_13==INTO||LA49_13==MODIFY||LA49_13==WITH||(LA49_13>=LPAREN && LA49_13<=RPAREN)||(LA49_13>=RBRACKET && LA49_13<=EQUAL)||LA49_13==NOTEQUAL||LA49_13==COMMA||(LA49_13>=STAR && LA49_13<=SLASH_SLASH)||LA49_13==COLON||(LA49_13>=SEMICOLON && LA49_13<=VBAR)||LA49_13==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_13); + if ( s>=0 ) return s; + break; + case 10 : + var LA49_10 = input.LA(1); + + + var index49_10 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_10==NODE||LA49_10==NODES) && ((true))) {s = 25;} + + else if ( (LA49_10==EOF||(LA49_10>=AND && LA49_10<=ASCENDING)||(LA49_10>=CASE && LA49_10<=CASTABLE)||LA49_10==COLLATION||LA49_10==DEFAULT||(LA49_10>=DESCENDING && LA49_10<=DIV)||(LA49_10>=ELSE && LA49_10<=EMPTY)||LA49_10==EQ||LA49_10==EXCEPT||LA49_10==FOR||LA49_10==GE||(LA49_10>=GT && LA49_10<=IDIV)||(LA49_10>=INSTANCE && LA49_10<=IS)||LA49_10==LE||(LA49_10>=LT && LA49_10<=MOD)||LA49_10==NE||(LA49_10>=OR && LA49_10<=ORDER)||(LA49_10>=RETURN && LA49_10<=SATISFIES)||LA49_10==STABLE||(LA49_10>=TO && LA49_10<=TREAT)||LA49_10==UNION||LA49_10==WHERE||LA49_10==COUNT||(LA49_10>=END && LA49_10<=GROUP)||LA49_10==ONLY||LA49_10==START||(LA49_10>=AFTER && LA49_10<=BEFORE)||LA49_10==INTO||LA49_10==MODIFY||LA49_10==WITH||(LA49_10>=LPAREN && LA49_10<=RPAREN)||(LA49_10>=RBRACKET && LA49_10<=EQUAL)||LA49_10==NOTEQUAL||LA49_10==COMMA||(LA49_10>=STAR && LA49_10<=SLASH_SLASH)||LA49_10==COLON||(LA49_10>=SEMICOLON && LA49_10<=VBAR)||LA49_10==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_10); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 49, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA103_eotS: + "\u002d\uffff", + DFA103_eofS: + "\u002d\uffff", + DFA103_minS: + "\u0001\u0010\u002c\uffff", + DFA103_maxS: + "\u0001\u0137\u002c\uffff", + DFA103_acceptS: + "\u0001\uffff\u0001\u0001\u0001\u0002\u0029\uffff\u0001\u0003", + DFA103_specialS: + "\u002d\uffff}>", + DFA103_transitionS: [ + "\u005b\u0002\u0001\u0001\u0033\u0002\u0001\uffff\u0014\u0002"+ + "\u0001\uffff\u000d\u0002\u0001\uffff\u0001\u0002\u000a\uffff"+ + "\u0001\u0002\u0002\uffff\u0001\u0002\u0005\uffff\u0004\u0002"+ + "\u000c\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0006\uffff\u0001\u002c\u0005\u0002\u003c\uffff"+ + "\u0001\u0002", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA103_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_eotS), + DFA103_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_eofS), + DFA103_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA103_minS), + DFA103_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA103_maxS), + DFA103_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_acceptS), + DFA103_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_specialS), + DFA103_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA103_transitionS.length; + for (i=0; i", + DFA110_transitionS: [ + "\u008f\u0003\u0001\uffff\u0014\u0003\u0001\uffff\u000d\u0003"+ + "\u0001\uffff\u0001\u0003\u000a\uffff\u0001\u0003\u0002\uffff"+ + "\u0001\u0003\u0005\uffff\u0001\u0001\u0001\u0002\u0002\u0003"+ + "\u000c\uffff\u0001\u0003\u0002\uffff\u0002\u0003\u0002\uffff"+ + "\u0001\u0003\u0007\uffff\u0005\u0003\u003c\uffff\u0001\u0003", + "\u0001\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA110_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_eotS), + DFA110_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_eofS), + DFA110_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA110_minS), + DFA110_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA110_maxS), + DFA110_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_acceptS), + DFA110_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_specialS), + DFA110_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA110_transitionS.length; + for (i=0; i ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA110_1 = input.LA(1); + + + var index110_1 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred1_XQueryParser()) ) {s = 43;} + + else if ( (true) ) {s = 44;} + + + input.seek(index110_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 110, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA112_eotS: + "\u00d1\uffff", + DFA112_eofS: + "\u0001\uffff\u0005\u0006\u0001\uffff\u000c\u0006\u0001\uffff\u0005"+ + "\u0006\u00b7\uffff\u0001\u0006", + DFA112_minS: + "\u0001\u0010\u0005\u0012\u0001\uffff\u0002\u0012\u0001\u0010\u0004"+ + "\u0012\u0002\u0010\u0003\u0012\u0001\uffff\u0002\u0012\u0001\u0010\u0002"+ + "\u0012\u0001\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0002\uffff\u0001\u0012", + DFA112_maxS: + "\u0001\u0137\u0005\u0136\u0001\uffff\u0002\u0136\u0001\u0137\u0004"+ + "\u0136\u0002\u0137\u0003\u0136\u0001\uffff\u0002\u0136\u0001\u0137\u0002"+ + "\u0136\u0001\u0137\u0004\u00db\u0010\u0137\u0001\u00db\u0001\u0137\u0004"+ + "\u00db\u0001\u0137\u0003\u00db\u0002\u0136\u0001\u00db\u0001\u00eb\u0001"+ + "\u0137\u0001\u00db\u0009\u0137\u0004\u00db\u0010\u0137\u0001\u00db\u0001"+ + "\u0137\u0004\u00db\u0001\u0137\u0003\u00db\u0002\u0136\u0001\u00db\u0001"+ + "\u00eb\u0001\u0137\u0001\u00db\u0009\u0137\u0004\u00c4\u0010\u0137\u0001"+ + "\u00c4\u0001\u0137\u0004\u00c4\u0001\u0137\u0003\u00c4\u0002\u0136\u0001"+ + "\u00c4\u0001\u00eb\u0001\u0137\u0001\u00c4\u0009\u0137\u0004\u00c4\u0010"+ + "\u0137\u0001\u00c4\u0001\u0137\u0004\u00c4\u0001\u0137\u0003\u00c4\u0002"+ + "\u0136\u0001\u00c4\u0001\u00eb\u0001\u0137\u0001\u00c4\u0009\u0137\u0002"+ + "\uffff\u0001\u0136", + DFA112_acceptS: + "\u0006\uffff\u0001\u0001\u000c\uffff\u0001\u0002\u00ba\uffff\u0002"+ + "\u0002\u0001\uffff", + DFA112_specialS: + "\u0017\uffff\u0001\u0000\u00b9\uffff}>", + DFA112_transitionS: [ + "\u0001\u0002\u0001\u0005\u0004\u0018\u0001\u0009\u0006\u0018"+ + "\u0001\u0007\u0001\u0018\u0001\u0010\u0004\u0018\u0001\u0008"+ + "\u0001\u000b\u0002\u0018\u0001\u0015\u0001\u0006\u0001\u000e"+ + "\u0002\u0018\u0001\u0006\u0005\u0018\u0001\u000d\u0001\u000c"+ + "\u0006\u0018\u0001\u0006\u0006\u0018\u0001\u0006\u0007\u0018"+ + "\u0001\u0016\u0003\u0018\u0001\u0006\u0004\u0018\u0001\u0012"+ + "\u0001\u0018\u0001\u0001\u0001\u0004\u0001\u0003\u0001\u0018"+ + "\u0001\u000f\u0003\u0018\u0002\u0006\u0001\u000a\u0004\u0018"+ + "\u0001\u0011\u0003\u0018\u0001\u0006\u0001\u0018\u0001\u0014"+ + "\u0010\u0018\u0001\u0006\u0023\u0018\u0001\uffff\u0003\u0018"+ + "\u0001\u0006\u0010\u0018\u0001\uffff\u0007\u0018\u0001\u0017"+ + "\u0004\u0018\u0001\u0013\u0001\uffff\u0001\u0013\u000a\uffff"+ + "\u0001\u0006\u0002\uffff\u0001\u0013\u0007\uffff\u0001\u0013"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0002\uffff\u0002\u0013"+ + "\u0002\uffff\u0001\u0018\u0007\uffff\u0005\u0013\u003c\uffff"+ + "\u0001\u0018", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u002c\u0001\u0041\u0001\u0038\u0004\u0013"+ + "\u0001\u0046\u0001\u003e\u0001\u001a\u0001\u001b\u0001\u0013"+ + "\u0001\u003b\u0004\u0013\u0001\u003d\u0002\u0013\u0001\u0039"+ + "\u0001\u0021\u0003\u0013\u0001\u003f\u0001\u003a\u0002\u0013"+ + "\u0001\u0025\u0001\u0013\u0001\u001f\u0003\u0013\u0001\u002e"+ + "\u0001\u0013\u0001\u002a\u0001\u0013\u0001\u0029\u0001\u0022"+ + "\u0004\u0013\u0001\u001d\u0001\u001e\u0001\u002b\u0002\u0013"+ + "\u0001\u0028\u0002\u0013\u0001\u0027\u0001\u0023\u0002\u0013"+ + "\u0001\u0026\u0005\u0013\u0001\u002d\u0001\u0031\u0007\u0013"+ + "\u0001\u0034\u0001\u003c\u0005\u0013\u0001\u0032\u0004\u0013"+ + "\u0001\u0024\u0001\u001c\u0001\u0013\u0001\u0020\u0004\u0013"+ + "\u0001\u002f\u0003\u0013\u0001\u0033\u0003\u0013\u0001\u0037"+ + "\u0001\u0030\u0006\u0013\u0001\u0036\u0006\u0013\u0001\u0035"+ + "\u0005\u0013\u0001\u0043\u0001\u0044\u0004\u0013\u0001\u0042"+ + "\u0001\u0013\u0001\u0045\u0007\u0013\u0001\u0040\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u0059\u0001\u006e\u0001\u0065\u0004\u0013"+ + "\u0001\u0073\u0001\u006b\u0001\u0047\u0001\u0048\u0001\u0013"+ + "\u0001\u0068\u0004\u0013\u0001\u006a\u0002\u0013\u0001\u0066"+ + "\u0001\u004e\u0003\u0013\u0001\u006c\u0001\u0067\u0002\u0013"+ + "\u0001\u0052\u0001\u0013\u0001\u004c\u0003\u0013\u0001\u005b"+ + "\u0001\u0013\u0001\u0057\u0001\u0013\u0001\u0056\u0001\u004f"+ + "\u0004\u0013\u0001\u004a\u0001\u004b\u0001\u0058\u0002\u0013"+ + "\u0001\u0055\u0002\u0013\u0001\u0054\u0001\u0050\u0002\u0013"+ + "\u0001\u0053\u0005\u0013\u0001\u005a\u0001\u005e\u0007\u0013"+ + "\u0001\u0061\u0001\u0069\u0005\u0013\u0001\u005f\u0004\u0013"+ + "\u0001\u0051\u0001\u0049\u0001\u0013\u0001\u004d\u0004\u0013"+ + "\u0001\u005c\u0003\u0013\u0001\u0060\u0003\u0013\u0001\u0064"+ + "\u0001\u005d\u0006\u0013\u0001\u0063\u0006\u0013\u0001\u0062"+ + "\u0005\u0013\u0001\u0070\u0001\u0071\u0004\u0013\u0001\u006f"+ + "\u0001\u0013\u0001\u0072\u0007\u0013\u0001\u006d\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0006\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0002\u0013\u0001\u0086\u0001\u009b\u0001\u0092\u0004\u0013"+ + "\u0001\u00a0\u0001\u0098\u0001\u0074\u0001\u0075\u0001\u0013"+ + "\u0001\u0095\u0004\u0013\u0001\u0097\u0002\u0013\u0001\u0093"+ + "\u0001\u007b\u0003\u0013\u0001\u0099\u0001\u0094\u0002\u0013"+ + "\u0001\u007f\u0001\u0013\u0001\u0079\u0003\u0013\u0001\u0088"+ + "\u0001\u0013\u0001\u0084\u0001\u0013\u0001\u0083\u0001\u007c"+ + "\u0004\u0013\u0001\u0077\u0001\u0078\u0001\u0085\u0002\u0013"+ + "\u0001\u0082\u0002\u0013\u0001\u0081\u0001\u007d\u0002\u0013"+ + "\u0001\u0080\u0005\u0013\u0001\u0087\u0001\u008b\u0007\u0013"+ + "\u0001\u008e\u0001\u0096\u0005\u0013\u0001\u008c\u0004\u0013"+ + "\u0001\u007e\u0001\u0076\u0001\u0013\u0001\u007a\u0004\u0013"+ + "\u0001\u0089\u0003\u0013\u0001\u008d\u0003\u0013\u0001\u0091"+ + "\u0001\u008a\u0006\u0013\u0001\u0090\u0006\u0013\u0001\u008f"+ + "\u0005\u0013\u0001\u009d\u0001\u009e\u0004\u0013\u0001\u009c"+ + "\u0001\u0013\u0001\u009f\u0007\u0013\u0001\u009a\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0006\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0002\u0006\u0001\uffff"+ + "\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0006"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0002\u0006\u0001\uffff"+ + "\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0006"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u00b3\u0001\u00c8\u0001\u00bf\u0004\u0013"+ + "\u0001\u00cd\u0001\u00c5\u0001\u00a1\u0001\u00a2\u0001\u0013"+ + "\u0001\u00c2\u0004\u0013\u0001\u00c4\u0002\u0013\u0001\u00c0"+ + "\u0001\u00a8\u0003\u0013\u0001\u00c6\u0001\u00c1\u0002\u0013"+ + "\u0001\u00ac\u0001\u0013\u0001\u00a6\u0003\u0013\u0001\u00b5"+ + "\u0001\u0013\u0001\u00b1\u0001\u0013\u0001\u00b0\u0001\u00a9"+ + "\u0004\u0013\u0001\u00a4\u0001\u00a5\u0001\u00b2\u0002\u0013"+ + "\u0001\u00af\u0002\u0013\u0001\u00ae\u0001\u00aa\u0002\u0013"+ + "\u0001\u00ad\u0005\u0013\u0001\u00b4\u0001\u00b8\u0007\u0013"+ + "\u0001\u00bb\u0001\u00c3\u0005\u0013\u0001\u00b9\u0004\u0013"+ + "\u0001\u00ab\u0001\u00a3\u0001\u0013\u0001\u00a7\u0004\u0013"+ + "\u0001\u00b6\u0003\u0013\u0001\u00ba\u0003\u0013\u0001\u00be"+ + "\u0001\u00b7\u0006\u0013\u0001\u00bd\u0006\u0013\u0001\u00bc"+ + "\u0005\u0013\u0001\u00ca\u0001\u00cb\u0004\u0013\u0001\u00c9"+ + "\u0001\u0013\u0001\u00cc\u0007\u0013\u0001\u00c7\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000d\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0001\uffff\u0001\u00ce\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u008f\u00d0\u0001\uffff\u0014\u00d0\u0001\uffff\u000c\u00d0"+ + "\u000d\uffff\u0001\u0006\u001f\uffff\u0001\u00d0\u0048\uffff"+ + "\u0001\u00d0", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u00cf\u0016\uffff\u0001\u00cf\u000e\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf\u0016\uffff"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf"+ + "\u0012\uffff\u0001\u0006\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u0001\u00cf"+ + "\u000b\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff"+ + "\u0001\u0006\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u00cf\u0016\uffff\u0001\u00cf\u000e\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf\u0016\uffff"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf"+ + "\u0012\uffff\u0001\u0006\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u0001\u00cf"+ + "\u000b\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff"+ + "\u0001\u0006\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf", + "\u0001\u00cf\u0025\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0029\uffff\u0001\u0006"+ + "\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u000c\uffff"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006"+ + "\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf", + "\u0001\u00cf\u0025\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0029\uffff\u0001\u0006"+ + "\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u000c\uffff"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006"+ + "\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0006\uffff\u0002\u0006"+ + "\u0055\uffff\u0001\u0006" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA112_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_eotS), + DFA112_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_eofS), + DFA112_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA112_minS), + DFA112_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA112_maxS), + DFA112_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_acceptS), + DFA112_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_specialS), + DFA112_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA112_transitionS.length; + for (i=0; i=AND && LA112_23<=ASCENDING)||(LA112_23>=BY && LA112_23<=CASTABLE)||LA112_23==COLLATION||LA112_23==DEFAULT||(LA112_23>=DESCENDING && LA112_23<=DIV)||(LA112_23>=ELSE && LA112_23<=EMPTY)||LA112_23==EQ||LA112_23==EXCEPT||LA112_23==FOR||LA112_23==GE||(LA112_23>=GT && LA112_23<=IDIV)||(LA112_23>=INSTANCE && LA112_23<=IS)||LA112_23==LE||(LA112_23>=LT && LA112_23<=MOD)||LA112_23==NE||(LA112_23>=OR && LA112_23<=ORDER)||(LA112_23>=RETURN && LA112_23<=SATISFIES)||LA112_23==STABLE||(LA112_23>=TO && LA112_23<=TREAT)||LA112_23==UNION||LA112_23==WHERE||LA112_23==COUNT||(LA112_23>=END && LA112_23<=GROUP)||LA112_23==ONLY||LA112_23==START||(LA112_23>=AFTER && LA112_23<=BEFORE)||LA112_23==INTO||LA112_23==MODIFY||LA112_23==WITH||LA112_23==RPAREN||(LA112_23>=RBRACKET && LA112_23<=EQUAL)||LA112_23==NOTEQUAL||LA112_23==COMMA||(LA112_23>=STAR && LA112_23<=SLASH_SLASH)||(LA112_23>=SEMICOLON && LA112_23<=VBAR)||LA112_23==LETDOLLAR) ) {s = 6;} + + else if ( (LA112_23==LPAREN) ) {s = 207;} + + + input.seek(index112_23); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 112, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA114_eotS: + "\u000a\uffff", + DFA114_eofS: + "\u0001\uffff\u0007\u0008\u0002\uffff", + DFA114_minS: + "\u0001\u0010\u0007\u0012\u0002\uffff", + DFA114_maxS: + "\u0001\u0137\u0007\u0136\u0002\uffff", + DFA114_acceptS: + "\u0008\uffff\u0001\u0002\u0001\u0001", + DFA114_specialS: + "\u000a\uffff}>", + DFA114_transitionS: [ + "\u0006\u0008\u0001\u0003\u0006\u0008\u0001\u0001\u0006\u0008"+ + "\u0001\u0002\u0001\u0005\u000d\u0008\u0001\u0007\u0001\u0006"+ + "\u002a\u0008\u0001\u0004\u003f\u0008\u0001\uffff\u0014\u0008"+ + "\u0001\uffff\u000c\u0008\u000d\uffff\u0001\u0008\u0018\uffff"+ + "\u0001\u0008\u0006\uffff\u0001\u0008\u0048\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0025\uffff\u0002\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA114_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_eotS), + DFA114_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_eofS), + DFA114_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA114_minS), + DFA114_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA114_maxS), + DFA114_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_acceptS), + DFA114_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_specialS), + DFA114_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA114_transitionS.length; + for (i=0; i", + DFA119_transitionS: [ + "\u0006\u000b\u0001\u0003\u0008\u000b\u0001\u0008\u0009\u000b"+ + "\u0001\u0001\u0001\u0002\u0023\u000b\u0001\u000a\u000a\u000b"+ + "\u0001\u0007\u0003\u000b\u0001\u0005\u0001\u0004\u0005\u000b"+ + "\u0001\u0009\u0016\u000b\u0001\u0006\u0023\u000b\u0001\uffff"+ + "\u0014\u000b\u0001\uffff\u000c\u000b\u000d\uffff\u0001\u000b"+ + "\u001f\uffff\u0001\u000b\u0048\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA119_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_eotS), + DFA119_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_eofS), + DFA119_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA119_minS), + DFA119_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA119_maxS), + DFA119_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_acceptS), + DFA119_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_specialS), + DFA119_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA119_transitionS.length; + for (i=0; i", + DFA124_transitionS: [ + "\u0006\u000b\u0001\u0008\u0008\u000b\u0001\u0008\u0008\u000b"+ + "\u0001\u0007\u0001\uffff\u0001\u0008\u0002\u000b\u0001\uffff"+ + "\u000d\u000b\u0001\uffff\u0006\u000b\u0001\uffff\u0007\u000b"+ + "\u0001\u0009\u0003\u000b\u0001\uffff\u0004\u000b\u0001\u0005"+ + "\u0005\u000b\u0001\u0008\u0003\u000b\u0002\uffff\u0005\u000b"+ + "\u0001\u0008\u0003\u000b\u0001\uffff\u0001\u000b\u0001\u0006"+ + "\u0010\u000b\u0001\uffff\u0023\u000b\u0001\uffff\u0003\u000b"+ + "\u0001\uffff\u0010\u000b\u0001\uffff\u0007\u000b\u0001\u000a"+ + "\u0004\u000b\u0001\u0003\u0001\uffff\u0001\u0002\u000d\uffff"+ + "\u0001\u0008\u0007\uffff\u0001\u0004\u0010\uffff\u0002\u0001"+ + "\u0002\uffff\u0001\u000b\u0007\uffff\u0002\u0008\u0003\u0001"+ + "\u003c\uffff\u0001\u000b", + "", + "", + "", + "", + "\u0001\u000b\u0002\uffff\u0001\u000c\u0016\uffff\u0001\u000b", + "\u0001\u000b\u0002\uffff\u0001\u000d\u0016\uffff\u0001\u000b", + "\u0001\u000b\u0002\uffff\u0001\u0008\u0016\uffff\u0001\u000b", + "", + "\u008f\u0008\u0001\uffff\u0014\u0008\u0001\uffff\u000c\u0008"+ + "\u0001\u000b\u0002\uffff\u0001\u0008\u0016\uffff\u0001\u000b"+ + "\u0012\uffff\u0001\u0008\u0048\uffff\u0001\u0008", + "\u0001\u000b\u0002\uffff\u0001\u000e\u0016\uffff\u0001\u000b", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA124_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_eotS), + DFA124_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_eofS), + DFA124_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA124_minS), + DFA124_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA124_maxS), + DFA124_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_acceptS), + DFA124_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_specialS), + DFA124_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA124_transitionS.length; + for (i=0; i=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 124, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA154_eotS: + "\u003e\uffff", + DFA154_eofS: + "\u0001\u0002\u003d\uffff", + DFA154_minS: + "\u0001\u0012\u0001\u0000\u0005\uffff\u0001\u0000\u0036\uffff", + DFA154_maxS: + "\u0001\u0136\u0001\u0000\u0005\uffff\u0001\u0000\u0036\uffff", + DFA154_acceptS: + "\u0002\uffff\u0001\u0002\u0008\uffff\u0001\u0001\u0032\uffff", + DFA154_specialS: + "\u0001\u0000\u0001\u0001\u0005\uffff\u0001\u0002\u0036\uffff}>", + DFA154_transitionS: [ + "\u0004\u0002\u0004\uffff\u0001\u0002\u0003\uffff\u0001\u0002"+ + "\u0004\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0003\uffff"+ + "\u0002\u0002\u0002\uffff\u0001\u0002\u0001\uffff\u0002\u0002"+ + "\u0002\uffff\u0001\u0002\u0001\uffff\u0001\u0002\u0001\uffff"+ + "\u0002\u0002\u0002\uffff\u0001\u0002\u0001\uffff\u0003\u0002"+ + "\u0002\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0005\uffff\u0002\u0002\u0007\uffff\u0002\u0002"+ + "\u0005\uffff\u0001\u0002\u0004\uffff\u0001\u0002\u0002\uffff"+ + "\u0001\u0002\u0004\uffff\u0001\u0002\u0003\uffff\u0001\u0002"+ + "\u0003\uffff\u0002\u0002\u0006\uffff\u0001\u0002\u0006\uffff"+ + "\u0001\u0002\u0005\uffff\u0002\u0002\u0004\uffff\u0001\u0002"+ + "\u0001\uffff\u0001\u0002\u0007\uffff\u0001\u0002\u0026\uffff"+ + "\u0001\u0002\u0001\uffff\u0002\u0002\u0001\uffff\u0004\u0002"+ + "\u0001\uffff\u0001\u0002\u0001\u000b\u0001\u0001\u0001\u0007"+ + "\u0007\u0002\u0008\uffff\u0002\u0002\u0055\uffff\u0001\u0002", + "\u0001\uffff", + "", + "", + "", + "", + "", + "\u0001\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA154_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_eotS), + DFA154_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_eofS), + DFA154_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA154_minS), + DFA154_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA154_maxS), + DFA154_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_acceptS), + DFA154_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_specialS), + DFA154_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA154_transitionS.length; + for (i=0; ioi= p_OccurrenceIndicator )?"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA154_0 = input.LA(1); + + + var index154_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA154_0==STAR) ) {s = 1;} + + else if ( (LA154_0==EOF||(LA154_0>=AND && LA154_0<=AT)||LA154_0==CASE||LA154_0==COLLATION||LA154_0==DEFAULT||(LA154_0>=DESCENDING && LA154_0<=DIV)||(LA154_0>=ELSE && LA154_0<=EMPTY)||LA154_0==EQ||(LA154_0>=EXCEPT && LA154_0<=EXTERNAL)||LA154_0==FOR||LA154_0==GE||(LA154_0>=GT && LA154_0<=IDIV)||LA154_0==IN||(LA154_0>=INSTANCE && LA154_0<=IS)||LA154_0==LE||(LA154_0>=LT && LA154_0<=MOD)||LA154_0==NE||(LA154_0>=OR && LA154_0<=ORDER)||(LA154_0>=RETURN && LA154_0<=SATISFIES)||LA154_0==STABLE||LA154_0==TO||LA154_0==UNION||LA154_0==WHERE||LA154_0==COUNT||(LA154_0>=END && LA154_0<=GROUP)||LA154_0==ONLY||LA154_0==START||(LA154_0>=AFTER && LA154_0<=BEFORE)||LA154_0==INTO||LA154_0==MODIFY||LA154_0==WITH||LA154_0==RPAREN||(LA154_0>=LBRACKET && LA154_0<=RBRACKET)||(LA154_0>=RSQUARE && LA154_0<=NOTEQUAL)||LA154_0==COMMA||(LA154_0>=MINUS && LA154_0<=GREATER_GREATER)||(LA154_0>=SEMICOLON && LA154_0<=VBAR)||LA154_0==LETDOLLAR) ) {s = 2;} + + else if ( (LA154_0==PLUS) ) {s = 7;} + + else if ( (LA154_0==QUESTION) && (this.synpred2_XQueryParser())) {s = 11;} + + + input.seek(index154_0); + if ( s>=0 ) return s; + break; + case 1 : + var LA154_1 = input.LA(1); + + + var index154_1 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred2_XQueryParser()) ) {s = 11;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_1); + if ( s>=0 ) return s; + break; + case 2 : + var LA154_7 = input.LA(1); + + + var index154_7 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred2_XQueryParser()) ) {s = 11;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_7); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 154, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA156_eotS: + "\u0011\uffff", + DFA156_eofS: + "\u0001\uffff\u000c\u000d\u0004\uffff", + DFA156_minS: + "\u0001\u0010\u000c\u0012\u0004\uffff", + DFA156_maxS: + "\u0001\u0137\u000c\u0136\u0004\uffff", + DFA156_acceptS: + "\u000d\uffff\u0001\u0004\u0001\u0001\u0001\u0002\u0001\u0003", + DFA156_specialS: + "\u000b\uffff\u0001\u0000\u0005\uffff}>", + DFA156_transitionS: [ + "\u0006\u000d\u0001\u0003\u0008\u000d\u0001\u0008\u0009\u000d"+ + "\u0001\u0001\u0001\u0002\u0017\u000d\u0001\u000c\u000b\u000d"+ + "\u0001\u000a\u000a\u000d\u0001\u0007\u0003\u000d\u0001\u0005"+ + "\u0001\u0004\u0005\u000d\u0001\u0009\u0016\u000d\u0001\u0006"+ + "\u0023\u000d\u0001\uffff\u0014\u000d\u0001\uffff\u0007\u000d"+ + "\u0001\u000b\u0004\u000d\u002d\uffff\u0001\u000d\u0048\uffff"+ + "\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000f\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u0010\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA156_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_eotS), + DFA156_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_eofS), + DFA156_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA156_minS), + DFA156_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA156_maxS), + DFA156_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_acceptS), + DFA156_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_specialS), + DFA156_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA156_transitionS.length; + for (i=0; i ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA156_11 = input.LA(1); + + + var index156_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA156_11==LPAREN) && ((false))) {s = 15;} + + else if ( (LA156_11==EOF||(LA156_11>=AND && LA156_11<=AT)||LA156_11==CASE||LA156_11==COLLATION||LA156_11==DEFAULT||(LA156_11>=DESCENDING && LA156_11<=DIV)||(LA156_11>=ELSE && LA156_11<=EMPTY)||LA156_11==EQ||(LA156_11>=EXCEPT && LA156_11<=EXTERNAL)||LA156_11==FOR||LA156_11==GE||(LA156_11>=GT && LA156_11<=IDIV)||LA156_11==IN||(LA156_11>=INSTANCE && LA156_11<=IS)||LA156_11==LE||(LA156_11>=LT && LA156_11<=MOD)||LA156_11==NE||(LA156_11>=OR && LA156_11<=ORDER)||(LA156_11>=RETURN && LA156_11<=SATISFIES)||LA156_11==STABLE||LA156_11==TO||LA156_11==UNION||LA156_11==WHERE||LA156_11==COUNT||(LA156_11>=END && LA156_11<=GROUP)||LA156_11==ONLY||LA156_11==START||(LA156_11>=AFTER && LA156_11<=BEFORE)||LA156_11==INTO||LA156_11==MODIFY||LA156_11==WITH||LA156_11==RPAREN||(LA156_11>=LBRACKET && LA156_11<=RBRACKET)||(LA156_11>=RSQUARE && LA156_11<=NOTEQUAL)||(LA156_11>=COMMA && LA156_11<=GREATER_GREATER)||LA156_11==COLON||(LA156_11>=SEMICOLON && LA156_11<=VBAR)||LA156_11==LETDOLLAR) ) {s = 13;} + + + input.seek(index156_11); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 156, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + + +// public class variables +org.antlr.lang.augmentObject(XQueryParser, { + tokenNames: ["", "", "", "", "L_QuotAttrContentChar", "L_AposAttrContentChar", "L_ElementContentChar", "L_CDataSection", "L_PredefinedEntityRef", "L_CharRef", "ESCAPE_LBRACKET", "ESCAPE_RBRACKET", "ESCAPE_APOS", "ESCAPE_QUOT", "CDATA_START", "CDATA_END", "ANCESTOR", "ANCESTOR_OR_SELF", "AND", "AS", "ASCENDING", "AT", "ATTRIBUTE", "BASE_URI", "BOUNDARY_SPACE", "BY", "CASE", "CAST", "CASTABLE", "CHILD", "COLLATION", "COMMENT", "CONSTRUCTION", "COPY_NAMESPACES", "DECLARE", "DEFAULT", "DESCENDANT", "DESCENDANT_OR_SELF", "DESCENDING", "DIV", "DOCUMENT", "DOCUMENT_NODE", "ELEMENT", "ELSE", "EMPTY", "EMPTY_SEQUENCE", "ENCODING", "EQ", "EVERY", "EXCEPT", "EXTERNAL", "FOLLOWING", "FOLLOWING_SIBLING", "FOR", "FUNCTION", "GE", "GREATEST", "GT", "IDIV", "IF", "IMPORT", "IN", "INHERIT", "INSTANCE", "INTERSECT", "IS", "ITEM", "LAX", "LE", "LEAST", "LET", "LT", "MOD", "MODULE", "NAMESPACE", "NE", "NO_INHERIT", "NO_PRESERVE", "NODE", "OF", "OPTION", "OR", "ORDER", "ORDERED", "ORDERING", "PARENT", "PRECEDING", "PRECEDING_SIBLING", "PRESERVE", "PROCESSING_INSTRUCTION", "RETURN", "SATISFIES", "SCHEMA", "SCHEMA_ATTRIBUTE", "SCHEMA_ELEMENT", "SELF", "SOME", "STABLE", "STRICT", "STRIP", "TEXT", "THEN", "TO", "TREAT", "TYPESWITCH", "UNION", "UNORDERED", "VALIDATE", "VARIABLE", "VERSION", "WHERE", "XQUERY", "CATCH", "CONTEXT", "COUNT", "DECIMAL_FORMAT", "DECIMAL_SEPARATOR", "DIGIT", "END", "GROUP", "GROUPING_SEPARATOR", "INFINITY", "MINUS_SIGN", "NAMESPACE_NODE", "NAN", "NEXT", "ONLY", "OUTER", "PATTERN_SEPARATOR", "PERCENT", "PER_MILLE", "PREVIOUS", "SLIDING", "START", "TRY", "TUMBLING", "WHEN", "WINDOW", "ZERO_DIGIT", "AFTER", "BEFORE", "COPY", "DELETE", "FIRST", "INSERT", "INTO", "LAST", "MODIFY", "NODES", "RENAME", "REPLACE", "REVALIDATION", "SKIP", "UPDATING", "VALUE", "WITH", "BLOCK", "CONSTANT", "EXIT", "RETURNING", "SEQUENTIAL", "SET", "SIMPLE", "WHILE", "EVAL", "USING", "APPEND_ONLY", "AUTOMATICALLY", "CHECK", "COLLECTION", "CONSTRAINT", "CONST", "EQUALITY", "FOREACH", "FOREIGN", "FROM", "INDEX", "INTEGRITY", "KEY", "MAINTAINED", "MANUALLY", "MUTABLE", "NON", "ON", "QUEUE", "RANGE", "READ_ONLY", "UNIQUE", "BINARY", "PRIVATE", "AMP_ER", "APOS_ER", "QUOT_ER", "LPAREN", "RPAREN", "DOLLAR", "LBRACKET", "RBRACKET", "LSQUARE", "RSQUARE", "EQUAL", "BIND", "NOTEQUAL", "AMP", "COMMA", "QUESTION", "STAR", "PLUS", "MINUS", "SMALLER", "GREATER", "SMALLEREQ", "GREATEREQ", "SMALLER_SMALLER", "GREATER_GREATER", "SLASH", "SLASH_SLASH", "DOT", "DOT_DOT", "COLON", "COLON_COLON", "EMPTY_CLOSE_TAG", "CLOSE_TAG", "SEMICOLON", "VBAR", "PRAGMA_START", "PRAGMA_END", "XML_COMMENT_START", "XML_COMMENT_END", "PI_START", "PI_END", "ATTR_SIGN", "CHARREF_DEC", "CHARREF_HEX", "APOS", "QUOT", "NCNameStartChar", "NCNameChar", "L_NCName", "Letter", "HexLetter", "Digit", "Digits", "S", "SU", "L_Pragma", "L_DirCommentConstructor", "L_DirPIConstructor", "L_IntegerLiteral", "L_DecimalLiteral", "L_DoubleLiteral", "L_Comment", "L_AnyChar", "L_QuotStringLiteralChar", "L_AposStringLiteralChar", "LibraryModule", "MainModule", "VersionDecl", "VersionDeclEncoding", "VersionDeclVersion", "ModuleDecl", "Prolog", "DefaultNamespaceDecls", "DefaultNamespaceDecl", "Setters", "Setter", "NamespaceDecls", "NamespaceDecl", "Imports", "SchemaImport", "SchemaPrefix", "NamespaceName", "DefaultElementNamespace", "AtHints", "ModuleImport", "BaseURIDecl", "OrderedDecls", "VarDecl", "VarType", "VarValue", "VarDefaultValue", "VarConstantDecl", "VarVariableDecl", "FunctionDecl", "ParamList", "ReturnType", "OptionDecl", "TypeDeclaration", "Param", "EnclosedExpr", "QueryBody", "UnaryExpr", "DirElemConstructor", "DirAttributeList", "DirAttributeValue", "DirElemContent", "CommonContent", "SequenceType", "EmptySequenceTest", "KindTest", "ItemTest", "AtomicType", "StringLiteral", "ElementContentChar", "AttributeValueChar", "QName", "Block", "BlockDecls", "BlockVarDecl", "BinaryTest", "LETDOLLAR", "EXPLICITLY"], + FOLLOW_p_VersionDecl_in_p_Module523: new org.antlr.runtime.BitSet([0x00000000, 0x10000004,0x00000200, 0x00000000]), + FOLLOW_p_LibraryModule_in_p_Module558: new org.antlr.runtime.BitSet([0x00000000, 0x00000000]), + FOLLOW_p_MainModule_in_p_Module584: new org.antlr.runtime.BitSet([0x00000000, 0x00000000]), + FOLLOW_EOF_in_p_Module613: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_XQUERY_in_p_VersionDecl641: new org.antlr.runtime.BitSet([0x00000000, 0x00004000,0x00000000, 0x00002000]), + FOLLOW_ENCODING_in_p_VersionDecl647: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl651: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_VERSION_in_p_VersionDecl672: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl676: new org.antlr.runtime.BitSet([0x00000000, 0x00004000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_ENCODING_in_p_VersionDecl682: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl686: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_VersionDecl692: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Prolog_in_p_MainModule758: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_QueryBody_in_p_MainModule760: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ModuleDecl_in_p_LibraryModule816: new org.antlr.runtime.BitSet([0x00000000, 0x10000004,0x00000200, 0x00000000]), + FOLLOW_pm_Prolog_in_p_LibraryModule818: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MODULE_in_p_ModuleDecl874: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_p_ModuleDecl878: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_ModuleDecl880: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_ModuleDecl882: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_ModuleDecl884: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_ModuleDecl886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_DefaultNamespaceDecl_in_pm_Prolog945: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_p_Setter_in_pm_Prolog951: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_pm_NamespaceDecl_in_pm_Prolog957: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_p_Import_in_pm_Prolog963: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_pg_OrderedDecl_in_pm_Prolog970: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_VarDecl_in_pg_OrderedDecl1248: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_ContextItemDecl_in_pg_OrderedDecl1252: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_FunctionDecl_in_pg_OrderedDecl1256: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_OptionDecl_in_pg_OrderedDecl1260: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_CollectionDecl_in_pg_OrderedDecl1275: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_IndexDecl_in_pg_OrderedDecl1290: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_ICDecl_in_pg_OrderedDecl1305: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_BoundarySpaceDecl_in_p_Setter1334: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_DefaultCollationDecl_in_p_Setter1346: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_BaseURIDecl_in_p_Setter1358: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_ConstructionDecl_in_p_Setter1370: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_OrderingModeDecl_in_p_Setter1382: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_EmptyOrderDecl_in_p_Setter1394: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_RevalidationDecl_in_p_Setter1409: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_CopyNamespacesDecl_in_p_Setter1421: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_SchemaImport_in_p_Import1447: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_ModuleImport_in_p_Import1451: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_NamespaceDecl1482: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_pm_NamespaceDecl1486: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_pm_NamespaceDecl1490: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_pm_NamespaceDecl1492: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_NamespaceDecl1496: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_NamespaceDecl1498: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_BoundarySpaceDecl1561: new org.antlr.runtime.BitSet([0x01000000, 0x00000000]), + FOLLOW_BOUNDARY_SPACE_in_pm_BoundarySpaceDecl1565: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01000000, 0x00000008]), + FOLLOW_PRESERVE_in_pm_BoundarySpaceDecl1570: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_STRIP_in_pm_BoundarySpaceDecl1576: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BoundarySpaceDecl1579: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_DefaultNamespaceDecl1607: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_DefaultNamespaceDecl1611: new org.antlr.runtime.BitSet([0x00000000, 0x00400400]), + FOLLOW_ELEMENT_in_pm_DefaultNamespaceDecl1616: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_FUNCTION_in_pm_DefaultNamespaceDecl1622: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_pm_DefaultNamespaceDecl1627: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_DefaultNamespaceDecl1629: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_DefaultNamespaceDecl1631: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_OptionDecl1662: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00010000, 0x00000000]), + FOLLOW_OPTION_in_pm_OptionDecl1666: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_OptionDecl1668: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_OptionDecl1670: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_OptionDecl1672: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_OrderingModeDecl1703: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_ORDERING_in_pm_OrderingModeDecl1707: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00080000, 0x00000400]), + FOLLOW_ORDERED_in_pm_OrderingModeDecl1712: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_UNORDERED_in_pm_OrderingModeDecl1718: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_OrderingModeDecl1721: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_EmptyOrderDecl1752: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_EmptyOrderDecl1756: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_ORDER_in_pm_EmptyOrderDecl1760: new org.antlr.runtime.BitSet([0x00000000, 0x00001000]), + FOLLOW_EMPTY_in_pm_EmptyOrderDecl1764: new org.antlr.runtime.BitSet([0x00000000, 0x01000000,0x00000020, 0x00000000]), + FOLLOW_GREATEST_in_pm_EmptyOrderDecl1769: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_LEAST_in_pm_EmptyOrderDecl1775: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_EmptyOrderDecl1778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_CopyNamespacesDecl1809: new org.antlr.runtime.BitSet([0x00000000, 0x00000002]), + FOLLOW_COPY_NAMESPACES_in_pm_CopyNamespacesDecl1813: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01002000, 0x00000000]), + FOLLOW_p_PreserveMode_in_pm_CopyNamespacesDecl1815: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_pm_CopyNamespacesDecl1817: new org.antlr.runtime.BitSet([0x00000000, 0x40000000,0x00001000, 0x00000000]), + FOLLOW_p_InheritMode_in_pm_CopyNamespacesDecl1819: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_CopyNamespacesDecl1821: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_DecimalFormatDecl1852: new org.antlr.runtime.BitSet([0x00000000, 0x00000008,0x00000000, 0x00080000]), + FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1856: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DecimalFormatDecl1858: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x17300000,0x00000407, 0x00000000]), + FOLLOW_DEFAULT_in_p_DecimalFormatDecl1864: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1866: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x17300000,0x00000407, 0x00000000]), + FOLLOW_p_DFPropertyName_in_p_DecimalFormatDecl1871: new org.antlr.runtime.BitSet([0x00000000, 0x00008000]), + FOLLOW_EQ_in_p_DecimalFormatDecl1874: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_DecimalFormatDecl1876: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_DecimalFormatDecl1878: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECIMAL_SEPARATOR_in_p_DFPropertyName1907: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GROUPING_SEPARATOR_in_p_DFPropertyName1913: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INFINITY_in_p_DFPropertyName1919: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MINUS_SIGN_in_p_DFPropertyName1925: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAN_in_p_DFPropertyName1931: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PERCENT_in_p_DFPropertyName1937: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PER_MILLE_in_p_DFPropertyName1943: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ZERO_DIGIT_in_p_DFPropertyName1949: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DIGIT_in_p_DFPropertyName1955: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PATTERN_SEPARATOR_in_p_DFPropertyName1961: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRESERVE_in_p_PreserveMode1993: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NO_PRESERVE_in_p_PreserveMode1999: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INHERIT_in_p_InheritMode2032: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NO_INHERIT_in_p_InheritMode2038: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_DefaultCollationDecl2078: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_DefaultCollationDecl2082: new org.antlr.runtime.BitSet([0x40000000, 0x00000000]), + FOLLOW_COLLATION_in_pm_DefaultCollationDecl2086: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_DefaultCollationDecl2088: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_DefaultCollationDecl2090: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_BaseURIDecl2129: new org.antlr.runtime.BitSet([0x00800000, 0x00000000]), + FOLLOW_BASE_URI_in_pm_BaseURIDecl2133: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_BaseURIDecl2137: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BaseURIDecl2139: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IMPORT_in_pm_SchemaImport2193: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_SCHEMA_in_pm_SchemaImport2197: new org.antlr.runtime.BitSet([0x00000000, 0x00000008,0x00000400, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_SchemaPrefix_in_pm_SchemaImport2201: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2206: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_AT_in_pm_SchemaImport2211: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2215: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_SchemaImport2218: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2222: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_SchemaImport2228: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_in_p_SchemaPrefix2299: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_SchemaPrefix2303: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_SchemaPrefix2305: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DEFAULT_in_p_SchemaPrefix2345: new org.antlr.runtime.BitSet([0x00000000, 0x00000400]), + FOLLOW_ELEMENT_in_p_SchemaPrefix2349: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_p_SchemaPrefix2353: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IMPORT_in_pm_ModuleImport2402: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_MODULE_in_pm_ModuleImport2406: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_NAMESPACE_in_pm_ModuleImport2411: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_pm_ModuleImport2415: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_pm_ModuleImport2417: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2423: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_AT_in_pm_ModuleImport2428: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2432: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_ModuleImport2435: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ModuleImport2445: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_VarDecl2515: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00001000,0x20000000, 0x20000000]), + FOLLOW_p_PrivateOption_in_pm_VarDecl2517: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00001000,0x20000000, 0x20000000]), + FOLLOW_pg_VarDeclType_in_pm_VarDecl2521: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_VarDecl2523: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_VarDecl2527: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_VarDecl2531: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_pm_VarDecl2536: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_VarDecl2540: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_VarDecl2548: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000200, 0x00000000]), + FOLLOW_BIND_in_pm_VarDecl2551: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_VarDecl2555: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_VarDecl2561: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CONSTANT_in_pg_VarDeclType2648: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_VARIABLE_in_pg_VarDeclType2682: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_ContextItemDecl2739: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00020000]), + FOLLOW_CONTEXT_in_pm_ContextItemDecl2743: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_ITEM_in_pm_ContextItemDecl2747: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_AS_in_pm_ContextItemDecl2752: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ItemType_in_pm_ContextItemDecl2754: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_pm_ContextItemDecl2760: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2762: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_ContextItemDecl2770: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000200, 0x00000000]), + FOLLOW_BIND_in_pm_ContextItemDecl2773: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2775: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ContextItemDecl2781: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_ConstructionDecl2815: new org.antlr.runtime.BitSet([0x00000000, 0x00000001]), + FOLLOW_CONSTRUCTION_in_pm_ConstructionDecl2819: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01000000, 0x00000008]), + FOLLOW_STRIP_in_pm_ConstructionDecl2824: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_PRESERVE_in_pm_ConstructionDecl2830: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ConstructionDecl2833: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_FunctionDecl2869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_SEQUENTIAL_in_pm_FunctionDecl2873: new org.antlr.runtime.BitSet([0x00000000, 0x00400000]), + FOLLOW_FUNCTION_in_pm_FunctionDecl2877: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_FunctionDecl2881: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_pm_FunctionDecl2883: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000000C, 0x00000000]), + FOLLOW_p_ParamList_in_pm_FunctionDecl2887: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_pm_FunctionDecl2890: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2894: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_Block_in_pm_FunctionDecl2900: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_FunctionDecl2906: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_FunctionDecl2909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_FunctionDecl2971: new org.antlr.runtime.BitSet([0x00000000, 0x00400000,0x00000000, 0x00000000,0x02000000, 0x20000004]), + FOLLOW_p_PrivateOption_in_pm_FunctionDecl2973: new org.antlr.runtime.BitSet([0x00000000, 0x00400000,0x00000000, 0x00000000,0x02000000, 0x00000004]), + FOLLOW_p_FunctionType_in_pm_FunctionDecl2975: new org.antlr.runtime.BitSet([0x00000000, 0x00400000]), + FOLLOW_FUNCTION_in_pm_FunctionDecl2979: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_FunctionDecl2983: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_pm_FunctionDecl2985: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000000C, 0x00000000]), + FOLLOW_p_ParamList_in_pm_FunctionDecl2989: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_pm_FunctionDecl2992: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2996: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_EnclosedExpr_in_pm_FunctionDecl3002: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_FunctionDecl3008: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_FunctionDecl3011: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UPDATING_in_p_FunctionType3091: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SIMPLE_in_p_FunctionType3108: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRIVATE_in_p_PrivateOption3150: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Param_in_p_ParamList3193: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ParamList3196: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_Param_in_p_ParamList3200: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DOLLAR_in_p_Param3258: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_Param3262: new org.antlr.runtime.BitSet([0x00080002, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_Param3266: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_EnclosedExpr3322: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_EnclosedExpr3324: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_EnclosedExpr3326: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Expr_in_p_QueryBody3376: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ConcatExpr_in_pm_Expr3427: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_Expr3444: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x8783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_ApplyExpr_in_pm_Expr3446: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x8783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_SEMICOLON_in_pm_Expr3471: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ConcatExpr_in_pm_Expr3473: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_FLWORExpr_in_p_ExprSingle3507: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QuantifiedExpr_in_p_ExprSingle3519: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TypeswitchExpr_in_p_ExprSingle3531: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_IfExpr_in_p_ExprSingle3543: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TryCatchExpr_in_p_ExprSingle3555: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_EvalExpr_in_p_ExprSingle3570: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InsertExpr_in_p_ExprSingle3585: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DeleteExpr_in_p_ExprSingle3600: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_RenameExpr_in_p_ExprSingle3615: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReplaceExpr_in_p_ExprSingle3630: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TransformExpr_in_p_ExprSingle3645: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_BlockExpr_in_p_ExprSingle3660: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AssignmentExpr_in_p_ExprSingle3675: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExitExpr_in_p_ExprSingle3690: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WhileExpr_in_p_ExprSingle3705: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrExpr_in_p_ExprSingle3717: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InitialClause_in_p_FLWORExpr3743: new org.antlr.runtime.BitSet([0x00000000, 0x00200000,0x04040000, 0x00844002,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_p_IntermediateClause_in_p_FLWORExpr3745: new org.antlr.runtime.BitSet([0x00000000, 0x00200000,0x04040000, 0x00844002,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_p_ReturnClause_in_p_FLWORExpr3748: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ForClause_in_p_InitialClause3774: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_LetClause_in_p_InitialClause3778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WindowClause_in_p_InitialClause3782: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InitialClause_in_p_IntermediateClause3808: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WhereClause_in_p_IntermediateClause3812: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_GroupByClause_in_p_IntermediateClause3816: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderByClause_in_p_IntermediateClause3820: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CountClause_in_p_IntermediateClause3824: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOR_in_p_ForClause3852: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ForClause3854: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_ForClause3856: new org.antlr.runtime.BitSet([0x00280000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_ForClause3858: new org.antlr.runtime.BitSet([0x00200000, 0x20000000]), + FOLLOW_p_PositionalVar_in_p_ForClause3861: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_ForClause3866: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ForClause3868: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ForClause3871: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ForClause3873: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_ForClause3875: new org.antlr.runtime.BitSet([0x00280000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_ForClause3877: new org.antlr.runtime.BitSet([0x00200000, 0x20000000]), + FOLLOW_p_PositionalVar_in_p_ForClause3880: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_ForClause3885: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ForClause3887: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_AT_in_p_PositionalVar3918: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_PositionalVar3920: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_PositionalVar3922: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LETDOLLAR_in_p_LetClause3950: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_LetClause3952: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_LetClause3954: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_LetClause3957: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_LetClause3959: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_LetClause3962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_LetClause3964: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_LetClause3966: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_LetClause3968: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_LetClause3971: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_LetClause3973: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_FOR_in_p_WindowClause4003: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000090, 0x00000000]), + FOLLOW_p_TumblingWindowClause_in_p_WindowClause4006: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SlidingWindowClause_in_p_WindowClause4010: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TUMBLING_in_p_TumblingWindowClause4047: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_WINDOW_in_p_TumblingWindowClause4051: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TumblingWindowClause4053: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TumblingWindowClause4055: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_TumblingWindowClause4057: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_TumblingWindowClause4060: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TumblingWindowClause4062: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_p_WindowStartCondition_in_p_TumblingWindowClause4064: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x40400000]), + FOLLOW_p_WindowEndCondition_in_p_TumblingWindowClause4066: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLIDING_in_p_SlidingWindowClause4096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_WINDOW_in_p_SlidingWindowClause4100: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_SlidingWindowClause4102: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_SlidingWindowClause4104: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_SlidingWindowClause4106: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_SlidingWindowClause4109: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_SlidingWindowClause4111: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_p_WindowStartCondition_in_p_SlidingWindowClause4113: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x40400000]), + FOLLOW_p_WindowEndCondition_in_p_SlidingWindowClause4115: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_START_in_p_WindowStartCondition4145: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x20000000,0x00000108, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_WindowVars_in_p_WindowStartCondition4147: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_WHEN_in_p_WindowStartCondition4151: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WindowStartCondition4153: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ONLY_in_p_WindowEndCondition4182: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_END_in_p_WindowEndCondition4187: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x20000000,0x00000108, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_WindowVars_in_p_WindowEndCondition4189: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_WHEN_in_p_WindowEndCondition4193: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WindowEndCondition4195: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4223: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4225: new org.antlr.runtime.BitSet([0x00200002, 0x00000000,0x00000000, 0x20000000,0x00000008, 0x00000000]), + FOLLOW_p_PositionalVar_in_p_WindowVars4229: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x20000000,0x00000008, 0x00000000]), + FOLLOW_PREVIOUS_in_p_WindowVars4235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4237: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4239: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x20000000]), + FOLLOW_NEXT_in_p_WindowVars4246: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4248: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4250: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COUNT_in_p_CountClause4290: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CountClause4292: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CountClause4294: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_WHERE_in_p_WhereClause4330: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WhereClause4332: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GROUP_in_p_GroupByClause4362: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_GroupByClause4366: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_GroupingSpecList_in_p_GroupByClause4368: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4397: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_GroupingSpecList4400: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4402: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DOLLAR_in_p_GroupingSpec4432: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_GroupingSpec4434: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_COLLATION_in_p_GroupingSpec4439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_GroupingSpec4441: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ORDER_in_p_OrderByClause4476: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_OrderByClause4480: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_STABLE_in_p_OrderByClause4488: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_ORDER_in_p_OrderByClause4492: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_OrderByClause4496: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_OrderSpecList_in_p_OrderByClause4500: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderSpec_in_p_OrderSpecList4529: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_OrderSpecList4532: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_OrderSpec_in_p_OrderSpecList4534: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_OrderSpec4564: new org.antlr.runtime.BitSet([0x40100000, 0x00001040]), + FOLLOW_p_OrderModifier_in_p_OrderSpec4566: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ASCENDING_in_p_OrderModifier4595: new org.antlr.runtime.BitSet([0x40000002, 0x00001000]), + FOLLOW_DESCENDING_in_p_OrderModifier4601: new org.antlr.runtime.BitSet([0x40000002, 0x00001000]), + FOLLOW_EMPTY_in_p_OrderModifier4608: new org.antlr.runtime.BitSet([0x00000000, 0x01000000,0x00000020, 0x00000000]), + FOLLOW_GREATEST_in_p_OrderModifier4613: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_LEAST_in_p_OrderModifier4619: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_COLLATION_in_p_OrderModifier4627: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_OrderModifier4629: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_RETURN_in_p_ReturnClause4660: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReturnClause4662: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SOME_in_p_QuantifiedExpr4693: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_EVERY_in_p_QuantifiedExpr4699: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_QuantifiedExpr4702: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_QuantifiedExpr4704: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4706: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_QuantifiedExpr4711: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4713: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x08000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_QuantifiedExpr4716: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_QuantifiedExpr4718: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_QuantifiedExpr4720: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4722: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_QuantifiedExpr4727: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4729: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x08000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_SATISFIES_in_p_QuantifiedExpr4735: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4737: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TYPESWITCH_in_p_TypeswitchExpr4766: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_TypeswitchExpr4768: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_TypeswitchExpr4770: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_TypeswitchExpr4772: new org.antlr.runtime.BitSet([0x04000000, 0x00000000]), + FOLLOW_p_CaseClause_in_p_TypeswitchExpr4774: new org.antlr.runtime.BitSet([0x04000000, 0x00000008]), + FOLLOW_DEFAULT_in_p_TypeswitchExpr4779: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TypeswitchExpr4782: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TypeswitchExpr4784: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_TypeswitchExpr4790: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TypeswitchExpr4792: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CASE_in_p_CaseClause4821: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_DOLLAR_in_p_CaseClause4824: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CaseClause4826: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CaseClause4830: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_CaseClause4834: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_CaseClause4838: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_CaseClause4840: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IF_in_p_IfExpr4869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_IfExpr4871: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_IfExpr4873: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_IfExpr4875: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000020]), + FOLLOW_THEN_in_p_IfExpr4879: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_IfExpr4881: new org.antlr.runtime.BitSet([0x00000000, 0x00000800]), + FOLLOW_ELSE_in_p_IfExpr4885: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_IfExpr4887: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AndExpr_in_p_OrExpr4914: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_OR_in_p_OrExpr4920: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_AndExpr_in_p_OrExpr4923: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_p_ComparisonExpr_in_p_AndExpr4954: new org.antlr.runtime.BitSet([0x00040002, 0x00000000]), + FOLLOW_AND_in_p_AndExpr4960: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ComparisonExpr_in_p_AndExpr4963: new org.antlr.runtime.BitSet([0x00040002, 0x00000000]), + FOLLOW_p_RangeExpr_in_p_ComparisonExpr4994: new org.antlr.runtime.BitSet([0x00000002, 0x02808000,0x00000892, 0x00000000,0x00000000, 0x00000000,0x007E0500, 0x00000000]), + FOLLOW_p_ValueComp_in_p_ComparisonExpr4999: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_GeneralComp_in_p_ComparisonExpr5003: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_NodeComp_in_p_ComparisonExpr5007: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_RangeExpr_in_p_ComparisonExpr5010: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AdditiveExpr_in_p_RangeExpr5041: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000040]), + FOLLOW_TO_in_p_RangeExpr5047: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_AdditiveExpr_in_p_RangeExpr5050: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5081: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00018000, 0x00000000]), + FOLLOW_set_in_p_AdditiveExpr5085: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5093: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00018000, 0x00000000]), + FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5124: new org.antlr.runtime.BitSet([0x00000002, 0x04000080,0x00000100, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_STAR_in_p_MultiplicativeExpr5129: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_DIV_in_p_MultiplicativeExpr5135: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_IDIV_in_p_MultiplicativeExpr5141: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_MOD_in_p_MultiplicativeExpr5149: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5153: new org.antlr.runtime.BitSet([0x00000002, 0x04000080,0x00000100, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5184: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000200,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_UNION_in_p_UnionExpr5191: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_VBAR_in_p_UnionExpr5195: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5198: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000200,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5229: new org.antlr.runtime.BitSet([0x00000002, 0x00020000,0x00000001, 0x00000000]), + FOLLOW_INTERSECT_in_p_IntersectExceptExpr5236: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_EXCEPT_in_p_IntersectExceptExpr5242: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5246: new org.antlr.runtime.BitSet([0x00000002, 0x00020000,0x00000001, 0x00000000]), + FOLLOW_p_TreatExpr_in_p_InstanceofExpr5277: new org.antlr.runtime.BitSet([0x00000002, 0x80000000]), + FOLLOW_INSTANCE_in_p_InstanceofExpr5283: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00008000, 0x00000000]), + FOLLOW_OF_in_p_InstanceofExpr5287: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_InstanceofExpr5289: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CastableExpr_in_p_TreatExpr5319: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000080]), + FOLLOW_TREAT_in_p_TreatExpr5325: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_TreatExpr5329: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_TreatExpr5331: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CastExpr_in_p_CastableExpr5370: new org.antlr.runtime.BitSet([0x10000002, 0x00000000]), + FOLLOW_CASTABLE_in_p_CastableExpr5376: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CastableExpr5380: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SingleType_in_p_CastableExpr5382: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UnaryExpr_in_p_CastExpr5421: new org.antlr.runtime.BitSet([0x08000002, 0x00000000]), + FOLLOW_CAST_in_p_CastExpr5427: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CastExpr5431: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SingleType_in_p_CastExpr5433: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PLUS_in_p_UnaryExpr5465: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_MINUS_in_p_UnaryExpr5469: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ValueExpr_in_p_UnaryExpr5473: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ValidateExpr_in_p_ValueExpr5529: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PathExpr_in_p_ValueExpr5541: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExtensionExpr_in_p_ValueExpr5553: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_GeneralComp0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EQ_in_p_ValueComp5632: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NE_in_p_ValueComp5638: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LT_in_p_ValueComp5644: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LE_in_p_ValueComp5650: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GT_in_p_ValueComp5656: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GE_in_p_ValueComp5662: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IS_in_p_NodeComp5694: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SMALLER_SMALLER_in_p_NodeComp5698: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GREATER_GREATER_in_p_NodeComp5702: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_VALIDATE_in_p_ValidateExpr5732: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000008, 0x00000004,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_ValidationMode_in_p_ValidateExpr5734: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_ValidateExpr5737: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ValidateExpr5739: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ValidateExpr5741: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LAX_in_p_ValidationMode5772: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STRICT_in_p_ValidationMode5778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_ValidationMode5785: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ValidationMode5787: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_Pragma_in_p_ExtensionExpr5818: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00200000]), + FOLLOW_LBRACKET_in_p_ExtensionExpr5821: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ExtensionExpr5823: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ExtensionExpr5826: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_p_PathExpr5868: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5870: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_p_PathExpr5883: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_SLASH_in_p_PathExpr5895: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5897: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_StepExpr_in_p_RelativePathExpr5937: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x01800000, 0x00000000]), + FOLLOW_set_in_p_RelativePathExpr5940: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_StepExpr_in_p_RelativePathExpr5948: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x01800000, 0x00000000]), + FOLLOW_p_AxisStep_in_p_StepExpr5976: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FilterExpr_in_p_StepExpr5988: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReverseStep_in_p_AxisStep6015: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_ForwardStep_in_p_AxisStep6019: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_PredicateList_in_p_AxisStep6022: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ForwardAxis_in_p_ForwardStep6049: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_ForwardStep6051: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AbbrevForwardStep_in_p_ForwardStep6056: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CHILD_in_p_ForwardAxis6082: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6084: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DESCENDANT_in_p_ForwardAxis6096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6098: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_ForwardAxis6110: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6112: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SELF_in_p_ForwardAxis6124: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6126: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DESCENDANT_OR_SELF_in_p_ForwardAxis6138: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6140: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOLLOWING_SIBLING_in_p_ForwardAxis6152: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6154: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOLLOWING_in_p_ForwardAxis6166: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6168: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTR_SIGN_in_p_AbbrevForwardStep6194: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_AbbrevForwardStep6197: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReverseAxis_in_p_ReverseStep6224: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_ReverseStep6226: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AbbrevReverseStep_in_p_ReverseStep6231: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PARENT_in_p_ReverseAxis6257: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6259: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ANCESTOR_in_p_ReverseAxis6271: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6273: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRECEDING_SIBLING_in_p_ReverseAxis6285: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6287: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRECEDING_in_p_ReverseAxis6299: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6301: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ANCESTOR_OR_SELF_in_p_ReverseAxis6313: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6315: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOT_DOT_in_p_AbbrevReverseStep6341: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_KindTest_in_p_NodeTest6367: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NameTest_in_p_NodeTest6371: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_NameTest6397: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Wildcard_in_p_NameTest6401: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_Wildcard6427: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_COLON_in_p_Wildcard6430: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_Wildcard6432: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NCName_in_p_Wildcard6439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_COLON_in_p_Wildcard6441: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_STAR_in_p_Wildcard6443: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PrimaryExpr_in_p_FilterExpr6479: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_PredicateList_in_p_FilterExpr6481: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Predicate_in_p_PredicateList6509: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_LSQUARE_in_p_Predicate6538: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_Predicate6540: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000080, 0x00000000]), + FOLLOW_RSQUARE_in_p_Predicate6542: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Literal_in_p_PrimaryExpr6570: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_VarRef_in_p_PrimaryExpr6582: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ParenthesizedExpr_in_p_PrimaryExpr6594: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ContextItemExpr_in_p_PrimaryExpr6606: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FunctionCall_in_p_PrimaryExpr6618: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderedExpr_in_p_PrimaryExpr6630: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UnorderedExpr_in_p_PrimaryExpr6642: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Constructor_in_p_PrimaryExpr6654: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NumericLiteral_in_p_Literal6682: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_StringLiteral_in_p_Literal6686: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_NumericLiteral0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_VarRef6758: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_VarRef6760: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_VarName6788: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ParenthesizedExpr6816: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00F, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ParenthesizedExpr6818: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ParenthesizedExpr6821: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOT_in_p_ContextItemExpr6849: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ORDERED_in_p_OrderedExpr6879: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_OrderedExpr6882: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_OrderedExpr6884: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_OrderedExpr6886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UNORDERED_in_p_UnorderedExpr6916: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_UnorderedExpr6919: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_UnorderedExpr6921: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_UnorderedExpr6923: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FQName_in_p_FunctionCall6952: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_FunctionCall6954: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00F, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_FunctionCall6957: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_FunctionCall6960: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_FunctionCall6962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_RPAREN_in_p_FunctionCall6968: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirectConstructor_in_p_Constructor7000: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ComputedConstructor_in_p_Constructor7004: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirElemConstructor_in_p_DirectConstructor7032: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_DirCommentConstructor_in_p_DirectConstructor7044: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_DirPIConstructor_in_p_DirectConstructor7056: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SMALLER_in_p_DirElemConstructor7084: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirElemConstructor7100: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x20040000, 0x00080000]), + FOLLOW_p_DirAttributeList_in_p_DirElemConstructor7102: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x20040000, 0x00000000]), + FOLLOW_EMPTY_CLOSE_TAG_in_p_DirElemConstructor7118: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GREATER_in_p_DirElemConstructor7123: new org.antlr.runtime.BitSet([0x00000FC0, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x40020010, 0x00C00000]), + FOLLOW_pm_DirElemContent_in_p_DirElemConstructor7125: new org.antlr.runtime.BitSet([0x00000FC0, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x40020010, 0x00C00000]), + FOLLOW_CLOSE_TAG_in_p_DirElemConstructor7128: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirElemConstructor7130: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00040000, 0x00080000]), + FOLLOW_S_in_p_DirElemConstructor7132: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_GREATER_in_p_DirElemConstructor7135: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_S_in_p_DirAttributeList7212: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00084000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirAttributeList7215: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00080000]), + FOLLOW_S_in_p_DirAttributeList7217: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_DirAttributeList7220: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080C00]), + FOLLOW_S_in_p_DirAttributeList7222: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080C00]), + FOLLOW_p_DirAttributeValue_in_p_DirAttributeList7225: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_QUOT_in_p_DirAttributeValue7256: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_ESCAPE_QUOT_in_p_DirAttributeValue7259: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_pm_QuotAttrValueContent_in_p_DirAttributeValue7263: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_QUOT_in_p_DirAttributeValue7267: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_APOS_in_p_DirAttributeValue7306: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_ESCAPE_APOS_in_p_DirAttributeValue7309: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_pm_AposAttrValueContent_in_p_DirAttributeValue7313: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_APOS_in_p_DirAttributeValue7317: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_QuotAttrContentChar_in_pm_QuotAttrValueContent7369: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_QuotAttrValueContent7373: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_QuotAttrValueContent7377: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_QuotAttrContentChar_in_pg_QuotAttrContentChar7406: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_AposAttrContentChar_in_pm_AposAttrValueContent7459: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_AposAttrValueContent7463: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_AposAttrValueContent7467: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_AposAttrContentChar_in_pg_AposAttrContentChar7496: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirectConstructor_in_pm_DirElemContent7547: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_CDataSection_in_pm_DirElemContent7559: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_DirElemContent7571: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_DirElemContent7583: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_ElementContentChar_in_pm_DirElemContent7595: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_ElementContentChar_in_pg_ElementContentChar7624: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_CommonContent_in_pg_CommonContent7680: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_pm_CommonContent0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_ElemEnclosedExpr7776: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ElemEnclosedExpr7793: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ElemEnclosedExpr7810: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompDocConstructor_in_p_ComputedConstructor7861: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompElemConstructor_in_p_ComputedConstructor7873: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompAttrConstructor_in_p_ComputedConstructor7885: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompNamespaceConstructor_in_p_ComputedConstructor7897: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompTextConstructor_in_p_ComputedConstructor7909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompCommentConstructor_in_p_ComputedConstructor7921: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompPIConstructor_in_p_ComputedConstructor7933: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompBinaryConstructor_in_p_ComputedConstructor7948: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOCUMENT_in_p_CompDocConstructor7982: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompDocConstructor7985: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompDocConstructor7987: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompDocConstructor7989: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ELEMENT_in_p_CompElemConstructor8030: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CompElemConstructor8034: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompElemConstructor8039: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompElemConstructor8041: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompElemConstructor8043: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompElemConstructor8047: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompElemConstructor8049: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompElemConstructor8052: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_CompAttrConstructor8085: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CompAttrConstructor8089: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompAttrConstructor8094: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompAttrConstructor8096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompAttrConstructor8098: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompAttrConstructor8102: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompAttrConstructor8104: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompAttrConstructor8107: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_in_p_CompNamespaceConstructor8135: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_CompNamespaceConstructor8139: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8144: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8146: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8148: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8152: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8154: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8157: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TEXT_in_p_CompTextConstructor8193: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompTextConstructor8196: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompTextConstructor8198: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompTextConstructor8200: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BINARY_in_p_CompBinaryConstructor8230: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompBinaryConstructor8233: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompBinaryConstructor8235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompBinaryConstructor8237: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COMMENT_in_p_CompCommentConstructor8267: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompCommentConstructor8270: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompCommentConstructor8272: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompCommentConstructor8274: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PROCESSING_INSTRUCTION_in_p_CompPIConstructor8305: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_CompPIConstructor8309: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompPIConstructor8314: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompPIConstructor8316: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompPIConstructor8318: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompPIConstructor8322: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompPIConstructor8324: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompPIConstructor8327: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AtomicType_in_p_SingleType8355: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00002000, 0x00000000]), + FOLLOW_QUESTION_in_p_SingleType8357: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_TypeDeclaration8388: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_TypeDeclaration8393: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EMPTY_SEQUENCE_in_p_SequenceType8448: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SequenceType8453: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SequenceType8457: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ItemType_in_p_SequenceType8506: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000E000, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_p_SequenceType8517: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_OccurrenceIndicator0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_KindTest_in_p_ItemType8619: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BINARY_in_p_ItemType8659: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ItemType8661: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ItemType8663: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ITEM_in_p_ItemType8705: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ItemType8707: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ItemType8709: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AtomicType_in_p_ItemType8750: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AtomicType8776: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DocumentTest_in_p_KindTest8826: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElementTest_in_p_KindTest8838: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AttributeTest_in_p_KindTest8850: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SchemaElementTest_in_p_KindTest8862: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SchemaAttributeTest_in_p_KindTest8874: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NamespaceNodeTest_in_p_KindTest8886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PITest_in_p_KindTest8898: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CommentTest_in_p_KindTest8910: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TextTest_in_p_KindTest8922: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AnyKindTest_in_p_KindTest8934: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NODE_in_p_AnyKindTest8962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_AnyKindTest8964: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_AnyKindTest8966: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOCUMENT_NODE_in_p_DocumentTest8994: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_DocumentTest8996: new org.antlr.runtime.BitSet([0x00000000, 0x00000400,0x40000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_ElementTest_in_p_DocumentTest8999: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_SchemaElementTest_in_p_DocumentTest9003: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_DocumentTest9007: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TEXT_in_p_TextTest9027: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_TextTest9029: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_TextTest9031: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COMMENT_in_p_CommentTest9059: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_CommentTest9061: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_CommentTest9063: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_NODE_in_p_NamespaceNodeTest9089: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_NamespaceNodeTest9091: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_NamespaceNodeTest9093: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PROCESSING_INSTRUCTION_in_p_PITest9121: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_PITest9123: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000005, 0x00004C00,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_PITest9126: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_StringLiteral_in_p_PITest9130: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_PITest9134: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_AttributeTest9162: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_AttributeTest9164: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00004005, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AttribNameOrWildcard_in_p_AttributeTest9167: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_AttributeTest9170: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_TypeName_in_p_AttributeTest9172: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_AttributeTest9178: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AttribNameOrWildcard9208: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_AttribNameOrWildcard9212: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SCHEMA_ATTRIBUTE_in_p_SchemaAttributeTest9240: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SchemaAttributeTest9242: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AttributeDeclaration_in_p_SchemaAttributeTest9244: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SchemaAttributeTest9246: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AttributeName_in_p_AttributeDeclaration9272: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ELEMENT_in_p_ElementTest9300: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ElementTest9302: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00004005, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ElementNameOrWildcard_in_p_ElementTest9305: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_ElementTest9308: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_TypeName_in_p_ElementTest9310: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00002004, 0x00000000]), + FOLLOW_QUESTION_in_p_ElementTest9312: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ElementTest9319: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_ElementNameOrWildcard9347: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_ElementNameOrWildcard9351: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SCHEMA_ELEMENT_in_p_SchemaElementTest9371: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SchemaElementTest9373: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ElementDeclaration_in_p_SchemaElementTest9375: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SchemaElementTest9377: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElementName_in_p_ElementDeclaration9403: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AttributeName9431: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_ElementName9459: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_TypeName9487: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TryClause_in_p_TryCatchExpr9519: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_p_CatchClause_in_p_TryCatchExpr9521: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_TRY_in_p_TryClause9550: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_TryClause9552: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_TryClause9554: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_TryClause9556: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CATCH_in_p_CatchClause9587: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004013, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_CatchErrorList_in_p_CatchClause9589: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000012, 0x00000000]), + FOLLOW_p_CatchVars_in_p_CatchClause9591: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CatchClause9594: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CatchClause9596: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CatchClause9598: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NameTest_in_p_CatchErrorList9624: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_VBAR_in_p_CatchErrorList9627: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NameTest_in_p_CatchErrorList9629: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_LPAREN_in_p_CatchVars9675: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9677: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9679: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_CatchVars9682: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9684: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9686: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_CatchVars9689: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9691: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9693: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_CatchVars9699: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_QUOT_in_p_StringLiteral9748: new org.antlr.runtime.BitSet([0xFFFFFFF0, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFFFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_QuotStringLiteralContent_in_p_StringLiteral9752: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000800]), + FOLLOW_QUOT_in_p_StringLiteral9754: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_APOS_in_p_StringLiteral9795: new org.antlr.runtime.BitSet([0xFFFFFFF0, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFFFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_AposStringLiteralContent_in_p_StringLiteral9799: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000400]), + FOLLOW_APOS_in_p_StringLiteral9801: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_QuotStringLiteralContent9857: new org.antlr.runtime.BitSet([0xFFFFFFF2, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFF7FF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_set_in_p_AposStringLiteralContent9909: new org.antlr.runtime.BitSet([0xFFFFFFF2, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFBFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_NCName_in_p_QName9994: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_p_LocalNCName_in_p_QName9996: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLON_in_p_LocalNCName10051: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_LocalNCName10053: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FNCName_in_p_FQName10083: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_p_LocalFNCName_in_p_FQName10085: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLON_in_p_LocalFNCName10113: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_LocalFNCName10115: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_NCName0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_FNCName0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_RevalidationDecl11839: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00800000, 0x00000000]), + FOLLOW_REVALIDATION_in_pm_RevalidationDecl11843: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000008, 0x00000004,0x01000000, 0x00000000]), + FOLLOW_STRICT_in_pm_RevalidationDecl11848: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LAX_in_pm_RevalidationDecl11854: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SKIP_in_pm_RevalidationDecl11860: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_InsertExprTargetChoice11892: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00048000, 0x00000000]), + FOLLOW_FIRST_in_p_InsertExprTargetChoice11897: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_LAST_in_p_InsertExprTargetChoice11903: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_INTO_in_p_InsertExprTargetChoice11910: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AFTER_in_p_InsertExprTargetChoice11926: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BEFORE_in_p_InsertExprTargetChoice11940: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INSERT_in_p_InsertExpr11968: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODE_in_p_InsertExpr11973: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_NODES_in_p_InsertExpr11979: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_SourceExpr_in_p_InsertExpr11982: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00021800, 0x00000000]), + FOLLOW_p_InsertExprTargetChoice_in_p_InsertExpr11984: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_InsertExpr11986: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DELETE_in_p_DeleteExpr12015: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODE_in_p_DeleteExpr12020: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_NODES_in_p_DeleteExpr12026: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_DeleteExpr12029: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_REPLACE_in_p_ReplaceExpr12058: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_VALUE_in_p_ReplaceExpr12063: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00008000, 0x00000000]), + FOLLOW_OF_in_p_ReplaceExpr12067: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ReplaceExpr12073: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReplaceExpr12075: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_WITH_in_p_ReplaceExpr12079: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReplaceExpr12081: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_RENAME_in_p_RenameExpr12110: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_RenameExpr12114: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_RenameExpr12116: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_RenameExpr12118: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_NewNameExpr_in_p_RenameExpr12120: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_SourceExpr12147: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_TargetExpr12173: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_NewNameExpr12199: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COPY_in_p_TransformExpr12227: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TransformExpr12229: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TransformExpr12231: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_TransformExpr12233: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00080000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_TransformExpr12238: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TransformExpr12240: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TransformExpr12242: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_TransformExpr12244: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12246: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00080000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_MODIFY_in_p_TransformExpr12252: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12254: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_TransformExpr12258: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12260: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ConcatExpr_in_pm_ApplyExpr12294: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ApplyExpr12296: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_ConcatExpr12322: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ConcatExpr12325: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ConcatExpr12327: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_BLOCK_in_p_BlockExpr12357: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_Block_in_p_BlockExpr12359: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_Block12385: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_BlockDecls_in_p_Block12389: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_BlockBody_in_p_Block12393: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_Block12395: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_BlockVarDecl_in_pm_BlockDecls12451: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_DECLARE_in_pm_BlockVarDecl12506: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_BlockVarDecl12508: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_pm_BlockVarDecl12512: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12516: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_BIND_in_pm_BlockVarDecl12520: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12524: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_BlockVarDecl12529: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_BlockVarDecl12531: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_pm_BlockVarDecl12533: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12535: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_BIND_in_pm_BlockVarDecl12539: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12541: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BlockVarDecl12547: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Expr_in_p_BlockBody12607: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SET_in_p_AssignmentExpr12635: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_AssignmentExpr12637: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_AssignmentExpr12639: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_AssignmentExpr12641: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_AssignmentExpr12643: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EXIT_in_p_ExitExpr12671: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_RETURNING_in_p_ExitExpr12675: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ExitExpr12677: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_WHILE_in_p_WhileExpr12705: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_WhileExpr12707: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WhileExpr12709: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_WhileExpr12711: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_WhileBody_in_p_WhileExpr12713: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Block_in_p_WhileBody12739: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UsingClause_in_p_EvalExpr12769: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000010]), + FOLLOW_EVAL_in_p_EvalExpr12774: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_EvalExpr12776: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_EvalExpr12778: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_EvalExpr12780: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_USING_in_p_UsingClause12807: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_UsingClause12809: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_UsingClause12811: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_UsingClause12814: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_UsingClause12816: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_UsingClause12818: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DECLARE_in_p_CollectionDecl12853: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200A40]), + FOLLOW_p_CollProperties_in_p_CollectionDecl12855: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_COLLECTION_in_p_CollectionDecl12859: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CollectionDecl12861: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_CollectionTypeDecl_in_p_CollectionDecl12863: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_WITH_in_p_CollectionDecl12869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x04200000]), + FOLLOW_p_NodeModifier_in_p_CollectionDecl12871: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODES_in_p_CollectionDecl12875: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_CollectionDecl12879: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CONST_in_p_CollProperties12909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_MUTABLE_in_p_CollProperties12915: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_APPEND_ONLY_in_p_CollProperties12929: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_QUEUE_in_p_CollProperties12935: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_ORDERED_in_p_CollProperties12949: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_UNORDERED_in_p_CollProperties12955: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_AS_in_p_CollectionTypeDecl12987: new org.antlr.runtime.BitSet([0x80400000, 0x00000600,0x62004000, 0x08000010]), + FOLLOW_p_KindTest_in_p_CollectionTypeDecl12989: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000E000, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_p_CollectionTypeDecl12998: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_READ_ONLY_in_p_NodeModifier13029: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MUTABLE_in_p_NodeModifier13035: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_IndexDecl13064: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08510080]), + FOLLOW_p_IndexProperties_in_p_IndexDecl13066: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_INDEX_in_p_IndexDecl13070: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_IndexName_in_p_IndexDecl13072: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00800000]), + FOLLOW_ON_in_p_IndexDecl13076: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODES_in_p_IndexDecl13080: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexDomainExpr_in_p_IndexDecl13082: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_IndexDecl13086: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexKeySpec_in_p_IndexDecl13088: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_p_IndexDecl13091: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexKeySpec_in_p_IndexDecl13093: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_IndexDecl13097: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_IndexName13123: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UNIQUE_in_p_IndexProperties13152: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_NON_in_p_IndexProperties13158: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x08000000]), + FOLLOW_UNIQUE_in_p_IndexProperties13162: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_VALUE_in_p_IndexProperties13176: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x02000000]), + FOLLOW_RANGE_in_p_IndexProperties13180: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_VALUE_in_p_IndexProperties13186: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00001000]), + FOLLOW_EQUALITY_in_p_IndexProperties13190: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_AUTOMATICALLY_in_p_IndexProperties13204: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_MAINTAINED_in_p_IndexProperties13208: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_MANUALLY_in_p_IndexProperties13214: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_MAINTAINED_in_p_IndexProperties13218: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_p_PathExpr_in_p_IndexDomainExpr13247: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_IndexKeyExpr_in_p_IndexKeySpec13272: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_p_IndexKeyTypeDecl_in_p_IndexKeySpec13274: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_p_IndexKeyCollation_in_p_IndexKeySpec13276: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PathExpr_in_p_IndexKeyExpr13302: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_IndexKeyTypeDecl13329: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AtomicType_in_p_IndexKeyTypeDecl13331: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLLATION_in_p_IndexKeyCollation13358: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_IndexKeyCollation13360: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_ICDecl13387: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00020000]), + FOLLOW_INTEGRITY_in_p_ICDecl13391: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000400]), + FOLLOW_CONSTRAINT_in_p_ICDecl13395: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICDecl13398: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00804000]), + FOLLOW_p_ICCollection_in_p_ICDecl13401: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_ICForeignKey_in_p_ICDecl13405: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_ICDecl13408: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ON_in_p_ICCollection13435: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_COLLECTION_in_p_ICCollection13439: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollection13442: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00000000, 0x00002000,0x00000008, 0x00000000]), + FOLLOW_p_ICCollSequence_in_p_ICCollection13445: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ICCollSequenceUnique_in_p_ICCollection13449: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ICCollNode_in_p_ICCollection13453: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollSequence13479: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollSequence13481: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollSequence13485: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ICCollSequence13487: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NODE_in_p_ICCollSequenceUnique13514: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollSequenceUnique13518: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollSequenceUnique13520: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollSequenceUnique13524: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x08000000]), + FOLLOW_UNIQUE_in_p_ICCollSequenceUnique13528: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICCollSequenceUnique13532: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_PathExpr_in_p_ICCollSequenceUnique13534: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOREACH_in_p_ICCollNode13562: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ICCollNode13566: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollNode13568: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollNode13570: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollNode13574: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ICCollNode13576: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOREIGN_in_p_ICForeignKey13604: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICForeignKey13608: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00008000]), + FOLLOW_p_ICForeignKeySource_in_p_ICForeignKey13610: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000040]), + FOLLOW_p_ICForeignKeyTarget_in_p_ICForeignKey13612: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FROM_in_p_ICForeignKeySource13640: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeySource13642: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TO_in_p_ICForeignKeyTarget13669: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeyTarget13671: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLLECTION_in_p_ICForeignKeyValues13698: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICForeignKeyValues13700: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ICForeignKeyValues13704: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICForeignKeyValues13706: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICForeignKeyValues13708: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICForeignKeyValues13712: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_PathExpr_in_p_ICForeignKeyValues13714: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_synpred1_XQueryParser5860: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_synpred1_XQueryParser5862: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_synpred2_XQueryParser8510: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_synpred3_XQueryParser12993: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]) +}); + +})(); + +}); diff --git a/lib/ace/mode/xquery/antlr3-all.js b/lib/ace/mode/xquery/antlr3-all.js new file mode 100644 index 00000000..bf2dfe50 --- /dev/null +++ b/lib/ace/mode/xquery/antlr3-all.js @@ -0,0 +1,5963 @@ +/* +Copyright (c) 2003-2008 Terence Parr. All rights reserved. +Code licensed under the BSD License: +http://www.antlr.org/license.html + +Some parts of the ANTLR class: +Copyright (c) 2008, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +*/ +/* +Some portions: +Copyright (c) 2008, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.5.1 +*/ +define(function(require, exports, module){ +// create org.antlr module +if (typeof org == "undefined" || !org) { + var org = {}; +} +if (typeof org.antlr == "undefined" || !org.antlr) { + /** + * The org.antlr global namespace object. If antlr is already defined, the + * existing antlr object will not be overwritten so that defined + * namespaces are preserved. + * @namespace org.antlr + */ + org.antlr = {}; +} + +/** + * The global JavaScript object. + */ +org.antlr.global = (function() { + return this; +}).call(null); + +/** + * Returns the namespace specified and creates it if it doesn't exist. + * + * Be careful when naming packages. Reserved words may work in some browsers + * and not others. For instance, the following will fail in Safari: + *
+ * org.antlr.namespace("really.long.nested.namespace");
+ * 
+ * This fails because "long" is a future reserved word in ECMAScript + * + * @static + * @param {String*} arguments 1-n namespaces to create + * @return {Object} A reference to the last namespace object created + * @example + * org.antlr.namespace("org.antlr.property.package"); + */ +org.antlr.namespace = function() { + var a=arguments, o=null, i, j, d; + for (i=0; i0 then it's the level of backtracking. + */ + this.backtracking = 0; + + /** An array[size num rules] of Map that tracks + * the stop token index for each rule. ruleMemo[ruleIndex] is + * the memoization table for ruleIndex. For key ruleStartIndex, you + * get back the stop token for associated rule or MEMO_RULE_FAILED. + * + * This is only used if rule memoization is on (which it is by default). + */ + this.ruleMemo = null; + + + // LEXER FIELDS (must be in same state object to avoid casting + // constantly in generated code and Lexer object) :( + + + /** The goal of all lexer rules/methods is to create a token object. + * This is an instance variable as multiple rules may collaborate to + * create a single token. nextToken will return this object after + * matching lexer rule(s). If you subclass to allow multiple token + * emissions, then set this to the last token to be matched or + * something nonnull so that the auto token emit mechanism will not + * emit another token. + */ + this.token = null; + + /** What character index in the stream did the current token start at? + * Needed, for example, to get the text for current token. Set at + * the start of nextToken. + */ + this.tokenStartCharIndex = -1; + + /** The line on which the first character of the token resides */ + // this.tokenStartLine; + + /** The character position of first character within the line */ + // this.tokenStartCharPositionInLine; + + /** The channel number for the current token */ + // this.channel; + + /** The token type for the current token */ + // this.type; + + /** You can set the text for the current token to override what is in + * the input char buffer. Use setText() or can set this instance var. + */ + this.text = null; +}; +org.antlr.runtime.IndexOutOfBoundsException = function(m) { + org.antlr.runtime.IndexOutOfBoundsException.superclass.constructor.call(this, m); +}; + +org.antlr.lang.extend(org.antlr.runtime.IndexOutOfBoundsException, Error, { + name: "org.antlr.runtime.IndexOutOfBoundsException" +}); +/** The root of the ANTLR exception hierarchy. + * + *

To avoid English-only error messages and to generally make things + * as flexible as possible, these exceptions are not created with strings, + * but rather the information necessary to generate an error. Then + * the various reporting methods in Parser and Lexer can be overridden + * to generate a localized error message. For example, MismatchedToken + * exceptions are built with the expected token type. + * So, don't expect getMessage() to return anything.

+ * + *

ANTLR generates code that throws exceptions upon recognition error and + * also generates code to catch these exceptions in each rule. If you + * want to quit upon first error, you can turn off the automatic error + * handling mechanism using rulecatch action, but you still need to + * override methods mismatch and recoverFromMismatchSet.

+ * + *

In general, the recognition exceptions can track where in a grammar a + * problem occurred and/or what was the expected input. While the parser + * knows its state (such as current input symbol and line info) that + * state can change before the exception is reported so current token index + * is computed and stored at exception time. From this info, you can + * perhaps print an entire line of input not just a single token, for example. + * Better to just say the recognizer had a problem and then let the parser + * figure out a fancy report.

+ * + * @class + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + * @extends Error + * + */ +org.antlr.runtime.RecognitionException = function(input) { + org.antlr.runtime.RecognitionException.superclass.constructor.call(this); + this.input = input; + this.index = input.index(); + if ( input instanceof org.antlr.runtime.CommonTokenStream ) { + this.token = input.LT(1); + this.line = this.token.getLine(); + this.charPositionInLine = this.token.getCharPositionInLine(); + } + if ( input instanceof org.antlr.runtime.tree.TreeNodeStream ) { + this.extractInformationFromTreeNodeStream(input); + } + else if ( input instanceof org.antlr.runtime.ANTLRStringStream ) { + // Note: removed CharStream from hierarchy in JS port so checking for + // StringStream instead + this.c = input.LA(1); + this.line = input.getLine(); + this.charPositionInLine = input.getCharPositionInLine(); + } + else { + this.c = input.LA(1); + } + + this.message = this.toString(); +}; + +org.antlr.lang.extend(org.antlr.runtime.RecognitionException, Error, +/** @lends org.antlr.runtime.RecognitionException.prototype */ +{ + /** + * What input stream did the error occur in? + */ + input: null, + + /** What is index of token/char were we looking at when the error occurred? + * @type Number + */ + index: null, + + /** The current Token when an error occurred. Since not all streams + * can retrieve the ith Token, we have to track the Token object. + * For parsers. Even when it's a tree parser, token might be set. + * @type org.antlr.runtime.CommonToken + */ + token: null, + + /** If this is a tree parser exception, node is set to the node with + * the problem. + * @type Object + */ + node: null, + + /** The current char when an error occurred. For lexers. + * @type Number + */ + c: null, + + /** Track the line at which the error occurred in case this is + * generated from a lexer. We need to track this since the + * unexpected char doesn't carry the line info. + * @type Number + */ + line: null, + + /** The exception's class name. + * @type String + */ + name: "org.antlr.runtime.RecognitionException", + + /** Position in the line where exception occurred. + * @type Number + */ + charPositionInLine: null, + + /** If you are parsing a tree node stream, you will encounter som + * imaginary nodes w/o line/col info. We now search backwards looking + * for most recent token with line/col info, but notify getErrorHeader() + * that info is approximate. + * @type Boolean + */ + approximateLineInfo: null, + + /** Gather exception information from input stream. + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + */ + extractInformationFromTreeNodeStream: function(input) { + var nodes = input, + priorNode, + priorPayLoad, + type, + text, + i; + + this.node = nodes.LT(1); + var adaptor = nodes.getTreeAdaptor(), + payload = adaptor.getToken(this.node); + if ( payload ) { + this.token = payload; + if ( payload.getLine()<= 0 ) { + // imaginary node; no line/pos info; scan backwards + i = -1; + priorNode = nodes.LT(i); + while ( priorNode ) { + priorPayload = adaptor.getToken(priorNode); + if ( priorPayload && priorPayload.getLine()>0 ) { + // we found the most recent real line / pos info + this.line = priorPayload.getLine(); + this.charPositionInLine = priorPayload.getCharPositionInLine(); + this.approximateLineInfo = true; + break; + } + --i; + priorNode = nodes.LT(i); + } + } + else { // node created from real token + this.line = payload.getLine(); + this.charPositionInLine = payload.getCharPositionInLine(); + } + } + else if ( this.node instanceof org.antlr.runtime.tree.CommonTree) { + this.line = this.node.getLine(); + this.charPositionInLine = this.node.getCharPositionInLine(); + if ( this.node instanceof org.antlr.runtime.tree.CommonTree) { + this.token = this.node.token; + } + } + else { + type = adaptor.getType(this.node); + text = adaptor.getText(this.node); + this.token = new org.antlr.runtime.CommonToken(type, text); + } + }, + + /** Return the token type or char of the unexpected input element + * @return {Number} type of the unexpected input element. + */ + getUnexpectedType: function() { + if ( this.input instanceof org.antlr.runtime.CommonTokenStream ) { + return this.token.getType(); + } + else if ( this.input instanceof org.antlr.runtime.tree.TreeNodeStream ) { + var nodes = this.input; + var adaptor = nodes.getTreeAdaptor(); + return adaptor.getType(this.node); + } + else { + return this.c; + } + } +}); +org.antlr.runtime.MismatchedTokenException = function(expecting, input) { + if (arguments.length===0) { + this.expecting = org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + } else { + org.antlr.runtime.MismatchedTokenException.superclass.constructor.call( + this, input); + this.expecting = expecting; + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedTokenException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedTokenException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedTokenException" +}); +/** An extra token while parsing a TokenStream */ +org.antlr.runtime.UnwantedTokenException = function(expecting, input) { + if (arguments.length>0) { + org.antlr.runtime.UnwantedTokenException.superclass.constructor.call( + this, expecting, input); + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.UnwantedTokenException, + org.antlr.runtime.MismatchedTokenException, { + getUnexpectedToken: function() { + return this.token; + }, + toString: function() { + var exp = ", expected "+this.expecting; + if ( this.expecting===org.antlr.runtime.Token.INVALID_TOKEN_TYPE ) { + exp = ""; + } + if ( !org.antlr.lang.isValue(this.token) ) { + return "UnwantedTokenException(found="+exp+")"; + } + return "UnwantedTokenException(found="+this.token.getText()+exp+")"; + }, + name: "org.antlr.runtime.UnwantedTokenException" +}); +org.antlr.runtime.MissingTokenException = function(expecting, input, inserted) { + if (arguments.length>0) { + org.antlr.runtime.MissingTokenException.superclass.constructor.call( + this, expecting, input); + this.inserted = inserted; + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.MissingTokenException, + org.antlr.runtime.MismatchedTokenException, { + getMissingType: function() { + return this.expecting; + }, + + toString: function() { + if (org.antlr.lang.isValue(this.inserted) && + org.antlr.lang.isValue(this.token)) + { + return "MissingTokenException(inserted "+this.inserted+" at "+this.token.getText()+")"; + } + if ( org.antlr.lang.isValue(this.token) ) { + return "MissingTokenException(at "+this.token.getText()+")"; + } + return "MissingTokenException"; + }, + name: "org.antlr.runtime.MissingTokenException" +}); +org.antlr.runtime.NoViableAltException = function(grammarDecisionDescription, + decisionNumber, + stateNumber, + input) +{ + org.antlr.runtime.NoViableAltException.superclass.constructor.call(this, input); + this.grammarDecisionDescription = grammarDecisionDescription; + this.decisionNumber = decisionNumber; + this.stateNumber = stateNumber; +}; + +org.antlr.lang.extend( + org.antlr.runtime.NoViableAltException, + org.antlr.runtime.RecognitionException, { + toString: function() { + if ( this.input instanceof org.antlr.runtime.ANTLRStringStream ) { + return "NoViableAltException('"+this.getUnexpectedType()+"'@["+this.grammarDecisionDescription+"])"; + } + else { + return "NoViableAltException("+this.getUnexpectedType()+"@["+this.grammarDecisionDescription+"])"; + } + }, + name: "org.antlr.runtime.NoViableAltException" +}); +/** The recognizer did not match anything for a ()+ loop. + * + * @class + * @param {Number} decisionNumber + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + * @extends org.antlr.runtime.RecognitionException + */ +org.antlr.runtime.EarlyExitException = function(decisionNumber, input) { + org.antlr.runtime.EarlyExitException.superclass.constructor.call( + this, input); + this.decisionNumber = decisionNumber; +}; + +org.antlr.lang.extend( + org.antlr.runtime.EarlyExitException, + org.antlr.runtime.RecognitionException, +/** @lends org.antlr.runtime.EarlyExitException.prototype */ +{ + /** Name of this class. + * @type String + */ + name: "org.antlr.runtime.EarlyExitException" +}); +org.antlr.runtime.MismatchedSetException = function(expecting, input) { + org.antlr.runtime.MismatchedSetException.superclass.constructor.call( + this, input); + this.expecting = expecting; +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedSetException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedSetException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedSetException" +}); +org.antlr.runtime.MismatchedNotSetException = function(expecting, input) { + org.antlr.runtime.MismatchedNotSetException.superclass.constructor.call(this, expecting, input); +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedNotSetException, + org.antlr.runtime.MismatchedSetException, { + toString: function() { + return "MismatchedNotSetException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedNotSetException" +}); +org.antlr.runtime.MismatchedRangeException = function(a, b, input) { + if (arguments.length===0) { + return this; + } + + org.antlr.runtime.MismatchedRangeException.superclass.constructor.call( + this, input); + this.a = a; + this.b = b; +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedRangeException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedRangeException(" + + this.getUnexpectedType()+" not in ["+this.a+","+this.b+"])"; + }, + name: "org.antlr.runtime.MismatchedRangeException" +}); +/** A semantic predicate failed during validation. Validation of predicates + * occurs when normally parsing the alternative just like matching a token. + * Disambiguating predicate evaluation occurs when we hoist a predicate into + * a prediction decision. + * + * @class + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + * @param {String} ruleName name of the rule in which the exception occurred. + * @param {String} predicateText the predicate that failed. + * @extends org.antlr.runtime.RecognitionException + */ +org.antlr.runtime.FailedPredicateException = function(input, ruleName, predicateText){ + org.antlr.runtime.FailedPredicateException.superclass.constructor.call(this, input); + this.ruleName = ruleName; + this.predicateText = predicateText; +}; + +org.antlr.lang.extend( + org.antlr.runtime.FailedPredicateException, + org.antlr.runtime.RecognitionException, +/** @lends org.antlr.runtime.FailedPredicateException.prototype */ +{ + /** Create a string representation of this exception. + * @returns {String} + */ + toString: function() { + return "FailedPredicateException("+this.ruleName+",{"+this.predicateText+"}?)"; + }, + + /** Name of this class. + * @type String + */ + name: "org.antlr.runtime.FailedPredicateException" +}); +/** + * A BitSet similar to java.util.BitSet. + * + *

JavaScript Note: There is no good way to implement something like this in + * JavaScript. JS has no true int type, arrays are usually implemented as + * hashes, etc. This class should probably be nixed for something that is + * similarly (in)efficient, but more clear.

+ * + * @class + * @param {Number|Array} [bits] a 32 bit number or array of 32 bit numbers + * representing the bitset. These are typically + * generated by the ANTLR Tool. + */ +org.antlr.runtime.BitSet = function(bits) { + if (!bits) { + bits = org.antlr.runtime.BitSet.BITS; + } + + if (org.antlr.lang.isArray(bits)) { + /** + * An array of Numbers representing the BitSet. + * @type Array + */ + this.bits = bits; + } else if(org.antlr.lang.isNumber(bits)) { + this.bits = []; + } +}; + +org.antlr.lang.augmentObject(org.antlr.runtime.BitSet, { + /** + * Number of bits in each number. + * @constant + * @memberOf org.antlr.runtime.BitSet + */ + BITS: 32, + + /** + * Log (base 2) of the number of bits in each number. + * @constant + * @memberOf org.antlr.runtime.BitSet + */ + LOG_BITS: 5, // 2^5 == 32 + + /** + * We will often need to do a mod operator (i mod nbits). Its + * turns out that, for powers of two, this mod operation is + * same as (i & (nbits-1)). Since mod is slow, we use a + * precomputed mod mask to do the mod instead. + * @constant + * @memberOf org.antlr.runtime.BitSet + */ + MOD_MASK: 31, // BITS - 1 + + /** + * Create mask for bit modded to fit in a single word. + * @example + * bitmask(35) => 00000000000000000000000000000100 + * bitmask(3) => 00000000000000000000000000000100 + * @param {Number} bitNumber the bit to create a mask for. + * @returns {Number} the bitmask. + * @memberOf org.antlr.runtime.BitSet + * @private + */ + bitMask: function(bitNumber) { + var bitPosition = bitNumber & org.antlr.runtime.BitSet.MOD_MASK; + return 1 << bitPosition; + }, + + /** + * Calculate the minimum number of bits needed to represent el. + * @param {Number} el a number to be included in the BitSet. + * @returns {Number} the number of bits need to create a BitSet with member + * el. + * @memberOf org.antlr.runtime.BitSet + * @private + */ + numWordsToHold: function(el) { + return (el >> org.antlr.runtime.BitSet.LOG_BITS) + 1; + }, + + /** + * @param {Number} bit a number to be included in the BitSet + * @returns {Number} the index of the word in the field bits that would + * hold bit. + * @memberOf org.antlr.runtime.BitSet + * @private + */ + wordNumber: function(bit) { + return bit >> org.antlr.runtime.BitSet.LOG_BITS; // bit / BITS + }, + + /** + * BitSet factory method. + * + *

Operates in a number of modes: + *

    + *
  • If el is a number create the BitSet containing that number.
  • + *
  • If el is an array create the BitSet containing each number in the + * array.
  • + *
  • If el is a BitSet return el.
  • + *
  • If el is an Object create the BitSet containing each numeric value + * in el.
  • + *
  • If el is a number and el2 is a number return a BitSet containing + * the numbers between el and el2 (inclusive).
  • + *
+ *

+ * @param {Number|Array|org.antlr.runtime.BitSet|Object} el + * @param {Number} el2 + * @returns {org.antlr.runtime.BitSet} + * @memberOf org.antlr.runtime.BitSet + */ + of: function(el, el2) { + var i, n, s, keys; + + if (org.antlr.lang.isNumber(el)) { + if (org.antlr.lang.isNumber(el2)) { + s = new org.antlr.runtime.BitSet(el2 + 1); + for (i = el; i <= el2; i++) { + n = org.antlr.runtime.BitSet.wordNumber(i); + s.bits[n] |= org.antlr.runtime.BitSet.bitMask(i); + } + return s; + } else { + s = new org.antlr.runtime.BitSet(el + 1); + s.add(el); + return s; + } + } else if(org.antlr.lang.isArray(el)) { + s = new org.antlr.runtime.BitSet(); + for (i=el.length-1; i>=0; i--) { + s.add(el[i]); + } + return s; + } else if (el instanceof org.antlr.runtime.BitSet) { + if (!el) { + return null; + } + return el; + } else if (el instanceof org.antlr.runtime.IntervalSet) { + if (!el) { + return null; + } + s = new org.antlr.runtime.BitSet(); + s.addAll(el); + return s; + } else if (org.antlr.lang.isObject(el)) { + keys = []; + for (i in el) { + if (org.antlr.lang.isNumber(i)) { + keys.push(i); + } + } + return org.antlr.runtime.BitSet.of(keys); + } + } +}); + + + +org.antlr.runtime.BitSet.prototype = { + /** + * Add el into this set. + * @param {Number} el the number to add to the set. + */ + add: function(el) { + var n = org.antlr.runtime.BitSet.wordNumber(el); + if (n >= this.bits.length) { + this.growToInclude(el); + } + this.bits[n] |= org.antlr.runtime.BitSet.bitMask(el); + }, + + /** + * Add multiple elements into this set. + * @param {Array|org.antlr.runtime.BitSet} elements the elements to be added to + * this set. + */ + addAll: function(elements) { + var other, + i, + e; + + if ( elements instanceof org.antlr.runtime.BitSet ) { + this.orInPlace(elements); + } + else if ( elements instanceof org.antlr.runtime.IntervalSet ) { + other = elements; + // walk set and add each interval + /* @todo after implementing intervalset + for (Iterator iter = other.intervals.iterator(); iter.hasNext();) { + Interval I = (Interval) iter.next(); + this.orInPlace(BitSet.range(I.a,I.b)); + }*/ + } else if (org.antlr.lang.isArray(elements)) { + for (i = 0; i < elements.length; i++) { + e = elements[i]; + this.add(e); + } + } else { + return; + } + }, + + /** + * Clone this BitSet and then {@link #andInPlace} with a. + * @param {org.antlr.runtime.BitSet} a a bit set. + * @returns {org.antlr.runtime.BitSet} + */ + and: function(a) { + var s = this.clone(); + s.andInPlace(a); + return s; + }, + + /** + * Perform a logical AND of this target BitSet with the argument BitSet. + * + * This bit set is modified so that each bit in it has the value true if + * and only if it both initially had the value true and the corresponding + * bit in the bit set argument also had the value true. + * @param {org.antlr.runtime.BitSet} a a bit set. + * @returns {org.antlr.runtime.BitSet} + */ + andInPlace: function(a) { + var min = Math.min(this.bits.length, a.bits.length), + i; + for (i = min - 1; i >= 0; i--) { + this.bits[i] &= a.bits[i]; + } + // clear all bits in this not present in a (if this bigger than a). + for (i = min; i < this.bits.length; i++) { + this.bits[i] = 0; + } + }, + + /** + * Clear all bits or a specific bit. + * + * If no arguments given, sets all of the bits in this BitSet to false. + * If one argument given, sets the bit specified by the index to false. + * @param {Number} [el] the index of the bit to be cleared. + */ + clear: function(el) { + if (arguments.length===0) { + var i; + for (i = this.bits.length - 1; i >= 0; i--) { + this.bits[i] = 0; + } + return; + } + + var n = org.antlr.runtime.BitSet.wordNumber(el); + if (n >= this.bits.length) { // grow as necessary to accommodate + this.growToInclude(el); + } + this.bits[n] &= ~org.antlr.runtime.BitSet.bitMask(el); + }, + + /** + * Cloning this BitSet produces a new BitSet that is equal to it. + * + * The clone of the bit set is another bit set that has exactly the same + * bit set to true as this bit set. + * @returns {org.antlr.runtime.BitSet} a clone of this BitSet. + */ + clone: function() { + var i, len, b=[]; + for (i=0, len=this.bits.length; i= 0; i--) { + word = this.bits[i]; + if (word !== 0) { + for (bit = org.antlr.runtime.BitSet.BITS - 1; bit >= 0; bit--) { + if ((word & (1 << bit)) !== 0) { + deg++; + } + } + } + } + return deg; + }, + + /** + * Compares this object against the specified object. + * + * The result is true if and only if the argument is not null and is a + * BitSet object that has exactly the same set of bits set to true as + * this bit set. That is, for every nonnegative int index k, + *

+     * ((BitSet)obj).get(k) == this.get(k)
+     * 
+ * must be true. The current sizes of the two bit sets are not compared. + * @param {Object} other the object to compare with. + * @returns {Boolean} if the objects are the same; false otherwise. + */ + equals: function(other) { + if ( !other || !(other instanceof org.antlr.runtime.BitSet) ) { + return false; + } + + var otherSet = other, + i, + n = Math.min(this.bits.length, otherSet.bits.length); + + // for any bits in common, compare + for (i=0; i n) { + for (i = n+1; i n) { + for (i = n+1; i= this.bits.length) { return false; } + return (this.bits[n] & org.antlr.runtime.BitSet.bitMask(el)) !== 0; + }, + + /** + * Returns the index of the first bit that is set to true. + * If no such bit exists then -1 is returned. + * @returns {Number} the index of the next set bit. + */ + getSingleElement: function() { + var i; + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + return i; + } + } + return -1; //Label.INVALID; + }, + + /** + * Returns true if this BitSet contains no bits that are set to true. + * @returns {Boolean} boolean indicating whether this BitSet is empty. + */ + isNil: function() { + var i; + for (i = this.bits.length - 1; i >= 0; i--) { + if (this.bits[i] !== 0) { + return false; + } + } + return true; + }, + + /** + * If a bit set argument is passed performs a {@link #subtract} of this bit + * set with the argument bit set. If no argument is passed, clone this bit + * set and {@link #notInPlace}. + * @param {org.antlr.runtime.BitSet} [set] + * @returns {org.antlr.runtime.BitSet} + */ + complement: function(set) { + if (set) { + return set.subtract(this); + } else { + var s = this.clone(); + s.notInPlace(); + return s; + } + }, + + /** + * If no arguments are passed sets all bits to the complement of their + * current values. If one argument is passed sets each bit from the + * beginning of the bit set to index1 (inclusive) to the complement of its + * current value. If two arguments are passed sets each bit from the + * specified index1 (inclusive) to the sepcified index2 (inclusive) to the + * complement of its current value. + * @param {Number} index1 + * @param {Number} index2 + */ + notInPlace: function() { + var minBit, maxBit, i, n; + if (arguments.length===0) { + for (i = this.bits.length - 1; i >= 0; i--) { + this.bits[i] = ~this.bits[i]; + } + } else { + if (arguments.length===1) { + minBit = 0; + maxBit = arguments[0]; + } else { + minBit = arguments[0]; + maxBit = arguments[1]; + } + // make sure that we have room for maxBit + this.growToInclude(maxBit); + for (i = minBit; i <= maxBit; i++) { + n = org.antlr.runtime.BitSet.wordNumber(i); + this.bits[n] ^= org.antlr.runtime.BitSet.bitMask(i); + } + } + + }, + + /** + * Performs a logical OR of this bit set with the bit set argument. + * If no argument is passed, return this bit set. Otherwise a clone of + * this bit set is modified so that a bit in it has the value true if and + * only if it either already had the value true or the corresponding bit + * in the bit set argument has the value true. + * @param {org.antlr.runtime.BitSet} [a] a bit set. + * @returns {org.antlr.runtime.BitSet} + */ + or: function(a) { + if ( !a ) { + return this; + } + var s = this.clone(); + s.orInPlace(a); + return s; + }, + + /** + * Performs a logical {@link #or} in place. + * @param {org.antlr.runtime.BitSet} [a] + * @returns {org.antlr.runtime.BitSet} + */ + orInPlace: function(a) { + if ( !a ) { + return; + } + // If this is smaller than a, grow this first + if (a.bits.length > this.bits.length) { + this.setSize(a.bits.length); + } + var min = Math.min(this.bits.length, a.bits.length), + i; + for (i = min - 1; i >= 0; i--) { + this.bits[i] |= a.bits[i]; + } + }, + + /** + * Sets the bit specified by the index to false. + * @param {Number} bitIndex the index of the bit to be cleared. + */ + remove: function(el) { + var n = org.antlr.runtime.BitSet.wordNumber(el); + if (n >= this.bits.length) { + this.growToInclude(el); + } + this.bits[n] &= ~org.antlr.runtime.BitSet.bitMask(el); + }, + + /** + * Grows the internal bits array to include at least nwords numbers. + * @private + * @param {Number} nwords how many words the new set should be + * @private + */ + setSize: function(nwords) { + var n = nwords - this.bits.length; + while (n>=0) { + this.bits.push(0); + n--; + } + }, + + /** + * Returns the number of bits capable of being represented by this bit set + * given its current size. + * @returns {Number} the maximum number of bits that can be represented at + * the moment. + * @private + */ + numBits: function() { + return this.bits.length << org.antlr.runtime.BitSet.LOG_BITS; // num words * bits per word + }, + + /** + * Return how much space is being used by the bits array not + * how many actually have member bits on. + * @returns {Number} the length of the internal bits array. + * @private + */ + lengthInLongWords: function() { + return this.bits.length; + }, + + /** + * Is this bit set contained within a? + * @param {org.antlr.runtime.BitSet} a bit set + * @returns {Boolean} true if and only if a is a subset of this bit set. + */ + subset: function(a) { + if (!a) { return false; } + return this.and(a).equals(this); + }, + + /** + * Subtract the elements of the argument bit set from this bit set in place. + * That is, for each set bit in the argument bit set, set the corresponding + * bit in this bit set to false. + * @param {org.antlr.runtime.BitSet} a bit set. + */ + subtractInPlace: function(a) { + if (!a) { return; } + // for all words of 'a', turn off corresponding bits of 'this' + var i; + for (i = 0; i < this.bits.length && i < a.bits.length; i++) { + this.bits[i] &= ~a.bits[i]; + } + }, + + /** + * Perform a {@link #subtractInPlace} on a clone of this bit set. + * @param {org.antlr.runtime.BitSet} a bit set. + * @returns {org.antlr.runtime.BitSet} the new bit set. + */ + subtract: function(a) { + if (!a || !(a instanceof org.antlr.runtime.BitSet)) { return null; } + + var s = this.clone(); + s.subtractInPlace(a); + return s; + }, + + /* antlr-java needs this to make its class hierarchy happy . . . + toList: function() { + throw new Error("BitSet.toList() unimplemented"); + }, + */ + + /** + * Creates an array of the indexes of each bit set in this bit set. + * @returns {Array} + */ + toArray: function() { + var elems = [], //new Array(this.size()), + i, + en = 0; + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + elems[en++] = i; + } + } + return elems; + }, + + /** + * Returns the internal representation of this bit set. + * This representation is an array of numbers, each representing 32 bits. + * @returns {Array} + */ + toPackedArray: function() { + return this.bits; + }, + + /** + * Returns a string representation of this bit set. + *

For every index for which this BitSet contains a bit in the set state, + * the decimal representation of that index is included in the result. + * Such indices are listed in order from lowest to highest, separated by + * ", " (a comma and a space) and surrounded by braces, resulting in the + * usual mathematical notation for a set of integers.

+ * + *

If a grammar g is passed, print g.getTokenDisplayName(i) for each set + * index instead of the numerical index.

+ * + * <>If two arguments are passed, the first will be used as a custom + * separator string. The second argument is an array whose i-th element + * will be added if the corresponding bit is set.

+ * + * @param {Object|String} [arg1] an Object with function property + * getTokenDispalyName or a String that will be used as a list + * separator. + * @param {Array} [vocabulary] array from which the i-th value will be + * drawn if the corresponding bit is set. Must pass a string as the + * first argument if using this option. + * @return A commma-separated list of values + */ + toString: function() { + if (arguments.length===0) { + return this.toString1(null); + } else { + if (org.antlr.lang.isString(arguments[0])) { + if (!org.antlr.lang.isValue(arguments[1])) { + return this.toString1(null); + } else { + return this.toString2(arguments[0], arguments[1]); + } + } else { + return this.toString1(arguments[0]); + } + } + }, + + /** + * Transform a bit set into a string by formatting each element as an + * integer separator The string to put in between elements + * @private + * @return A commma-separated list of values + */ + toString1: function(g) { + var buf = "{", + separator = ",", + i, + havePrintedAnElement = false; + + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + if (i > 0 && havePrintedAnElement ) { + buf += separator; + } + if ( g ) { + buf += g.getTokenDisplayName(i); + } + else { + buf += i.toString(); + } + havePrintedAnElement = true; + } + } + return buf + "}"; + }, + + /** + * Create a string representation where instead of integer elements, the + * ith element of vocabulary is displayed instead. Vocabulary is a Vector + * of Strings. + * separator The string to put in between elements + * @private + * @return A commma-separated list of character constants. + */ + toString2: function(separator, vocabulary) { + var str = "", + i; + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + if (str.length > 0) { + str += separator; + } + if (i >= vocabulary.size()) { + str += "'" + i + "'"; + } + else if (!org.antlr.lang.isValue(vocabulary.get(i))) { + str += "'" + i + "'"; + } + else { + str += vocabulary.get(i); + } + } + } + return str; + } + + /* + * Dump a comma-separated list of the words making up the bit set. + * Split each 32 bit number into two more manageable 16 bit numbers. + * @returns {String} comma separated list view of the this.bits property. + * + toStringOfHalfWords: function() { + var s = "", + tmp, + i; + for (i = 0; i < this.bits.length; i++) { + if (i !== 0) { + s+=", "; + } + tmp = this.bits[i]; + tmp &= 0xFFFF; + s += tmp + "UL, "; + tmp = this.bits[i] >> 16; + tmp &= 0xFFFF; + s += tmp+"UL"; + } + return s; + }, + */ + + /* + * Dump a comma-separated list of the words making up the bit set. + * This generates a comma-separated list of Java-like long int constants. + * + toStringOfWords: function() { + var s="", + i; + for (i = 0; i < this.bits.length; i++) { + if (i !== 0) { + s+=", "; + } + s += this.bits[i]+"L"; + } + return s; + }, + + toStringWithRanges: function() { + return this.toString(); + } + */ +}; + +/* + * + * +org.antlr.runtime.IntervalSet = function() { + throw new Error("not implemented"); +}; +*/ +org.antlr.runtime.CharStream = { + EOF: -1 +}; +org.antlr.runtime.CommonToken = function() { + var oldToken; + + this.charPositionInLine = -1; // set to invalid position + this.channel = 0; // org.antlr.runtime.CommonToken.DEFAULT_CHANNEL + this.index = -1; + + if (arguments.length == 1) { + if (org.antlr.lang.isNumber(arguments[0])) { + this.type = arguments[0]; + } else { + oldToken = arguments[0]; + this.text = oldToken.getText(); + this.type = oldToken.getType(); + this.line = oldToken.getLine(); + this.index = oldToken.getTokenIndex(); + this.charPositionInLine = oldToken.getCharPositionInLine(); + this.channel = oldToken.getChannel(); + if ( oldToken instanceof org.antlr.runtime.CommonToken ) { + this.start = oldToken.start; + this.stop = oldToken.stop; + } + } + } else if (arguments.length == 2) { + this.type = arguments[0]; + this.text = arguments[1]; + this.channel = 0; // org.antlr.runtime.CommonToken.DEFAULT_CHANNEL + } else if (arguments.length == 5) { + this.input = arguments[0]; + this.type = arguments[1]; + this.channel = arguments[2]; + this.start = arguments[3]; + this.stop = arguments[4]; + } +}; + +org.antlr.runtime.CommonToken.prototype = { + getType: function() { + return this.type; + }, + + setLine: function(line) { + this.line = line; + }, + + getText: function() { + if ( org.antlr.lang.isString(this.text) ) { + return this.text; + } + if ( !this.input ) { + return null; + } + this.text = this.input.substring(this.start,this.stop); + return this.text; + }, + + /** Override the text for this token. getText() will return this text + * rather than pulling from the buffer. Note that this does not mean + * that start/stop indexes are not valid. It means that that input + * was converted to a new string in the token object. + */ + setText: function(text) { + this.text = text; + }, + + getLine: function() { + return this.line; + }, + + getCharPositionInLine: function() { + return this.charPositionInLine; + }, + + setCharPositionInLine: function(charPositionInLine) { + this.charPositionInLine = charPositionInLine; + }, + + getChannel: function() { + return this.channel; + }, + + setChannel: function(channel) { + this.channel = channel; + }, + + setType: function(type) { + this.type = type; + }, + + getStartIndex: function() { + return this.start; + }, + + setStartIndex: function(start) { + this.start = start; + }, + + getStopIndex: function() { + return this.stop; + }, + + setStopIndex: function(stop) { + this.stop = stop; + }, + + getTokenIndex: function() { + return this.index; + }, + + setTokenIndex: function(index) { + this.index = index; + }, + + getInputStream: function() { + return this.input; + }, + + setInputStream: function(input) { + this.input = input; + }, + + toString: function() { + var channelStr = ""; + if ( this.channel>0 ) { + channelStr=",channel="+this.channel; + } + var txt = this.getText(); + if ( !org.antlr.lang.isNull(txt) ) { + txt = txt.replace(/\n/g,"\\\\n"); + txt = txt.replace(/\r/g,"\\\\r"); + txt = txt.replace(/\t/g,"\\\\t"); + } + else { + txt = ""; + } + return "[@"+this.getTokenIndex()+","+this.start+":"+this.stop+"='"+txt+"',<"+this.type+">"+channelStr+","+this.line+":"+this.getCharPositionInLine()+"]"; + } +}; +// NB: Because Token has static members of type CommonToken, the Token dummy +// constructor is defined in CommonToken. All methods and vars of Token are +// defined here. Token is an interface, not a subclass in the Java runtime. + +/** + * @class Abstract base class of all token types. + * @name Token + * @memberOf org.antlr.runtime + */ +org.antlr.runtime.Token = function() {}; +org.antlr.lang.augmentObject(org.antlr.runtime.Token, /** @lends Token */ { + EOR_TOKEN_TYPE: 1, + + /** imaginary tree navigation type; traverse "get child" link */ + DOWN: 2, + /** imaginary tree navigation type; finish with a child list */ + UP: 3, + + MIN_TOKEN_TYPE: 4, // UP+1, + + EOF: org.antlr.runtime.CharStream.EOF, + EOF_TOKEN: new org.antlr.runtime.CommonToken(org.antlr.runtime.CharStream.EOF), + + INVALID_TOKEN_TYPE: 0, + INVALID_TOKEN: new org.antlr.runtime.CommonToken(0), + + /** In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + * will avoid creating a token for this symbol and try to fetch another. + */ + SKIP_TOKEN: new org.antlr.runtime.CommonToken(0), + + /** All tokens go to the parser (unless skip() is called in that rule) + * on a particular "channel". The parser tunes to a particular channel + * so that whitespace etc... can go to the parser on a "hidden" channel. + */ + DEFAULT_CHANNEL: 0, + + /** Anything on different channel than DEFAULT_CHANNEL is not parsed + * by parser. + */ + HIDDEN_CHANNEL: 99 +}); + +org.antlr.lang.augmentObject(org.antlr.runtime.CommonToken, org.antlr.runtime.Token); +org.antlr.runtime.tree = {}; +org.antlr.runtime.tree.RewriteCardinalityException = function(elementDescription) { + this.elementDescription = elementDescription; +}; + +/** Base class for all exceptions thrown during AST rewrite construction. + * This signifies a case where the cardinality of two or more elements + * in a subrule are different: (ID INT)+ where |ID|!=|INT| + */ +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteCardinalityException, Error, { + getMessage: function() { + if ( org.antlr.lang.isString(this.elementDescription) ) { + return this.elementDescription; + } + return null; + }, + name: function() { + return "org.antlr.runtime.tree.RewriteCardinalityException"; + } +}); +/** Ref to ID or expr but no tokens in ID stream or subtrees in expr stream */ +org.antlr.runtime.tree.RewriteEmptyStreamException = function(elementDescription) { + var sup = org.antlr.runtime.tree.RewriteEmptyStreamException.superclass; + sup.constructor.call(this, elementDescription); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteEmptyStreamException, + org.antlr.runtime.tree.RewriteCardinalityException, { + name: function() { + return "org.antlr.runtime.tree.RewriteEmptyStreamException"; + } +}); +/** No elements within a (...)+ in a rewrite rule */ +org.antlr.runtime.tree.RewriteEarlyExitException = function(elementDescription) { + var sup = org.antlr.runtime.tree.RewriteEarlyExitException.superclass; + if (org.antlr.lang.isUndefined(elementDescription)) { + elementDescription = null; + } + sup.constructor.call(this, elementDescription); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteEarlyExitException, + org.antlr.runtime.tree.RewriteCardinalityException, { + name: function() { + return "org.antlr.runtime.tree.RewriteEarlyExitException"; + } +}); +org.antlr.runtime.MismatchedTreeNodeException = function(expecting, input) { + if (expecting && input) { + org.antlr.runtime.MismatchedTreeNodeException.superclass.constructor.call( + this, input); + this.expecting = expecting; + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedTreeNodeException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedTreeNodeException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedTreeNodeException" +}); +/** A generic tree implementation with no payload. You must subclass to + * actually have any user data. ANTLR v3 uses a list of children approach + * instead of the child-sibling approach in v2. A flat tree (a list) is + * an empty node whose children represent the list. An empty, but + * non-null node is called "nil". + */ +org.antlr.runtime.tree.BaseTree = function() {}; + +org.antlr.runtime.tree.BaseTree.prototype = { + getChild: function(i) { + if ( !this.children || i>=this.children.length ) { + return null; + } + return this.children[i]; + }, + + /** Get the children internal List; note that if you directly mess with + * the list, do so at your own risk. + */ + getChildren: function() { + return this.children; + }, + + getFirstChildWithType: function(type) { + var i, t; + for (i = 0; this.children && i < this.children.length; i++) { + t = this.children[i]; + if ( t.getType()===type ) { + return t; + } + } + return null; + }, + + getChildCount: function() { + if ( !this.children ) { + return 0; + } + return this.children.length; + }, + + /** Add t as child of this node. + * + * Warning: if t has no children, but child does + * and child isNil then this routine moves children to t via + * t.children = child.children; i.e., without copying the array. + */ + addChild: function(t) { + if ( !org.antlr.lang.isValue(t) ) { + return; // do nothing upon addChild(null) + } + var childTree = t, n, i, c; + if ( childTree.isNil() ) { // t is an empty node possibly with children + if ( this.children && this.children == childTree.children ) { + throw new Error("attempt to add child list to itself"); + } + // just add all of childTree's children to this + if ( childTree.children ) { + if ( this.children ) { // must copy, this has children already + n = childTree.children.length; + for (i = 0; i < n; i++) { + c = childTree.children[i]; + this.children.push(c); + // handle double-link stuff for each child of nil root + c.setParent(this); + c.setChildIndex(this.children.length-1); + } + } + else { + // no children for this but t has children; just set pointer + // call general freshener routine + this.children = childTree.children; + this.freshenParentAndChildIndexes(); + } + } + } + else { // child is not nil (don't care about children) + if ( !this.children ) { + this.children = this.createChildrenList(); // create children list on demand + } + this.children.push(t); + childTree.setParent(this); + childTree.setChildIndex(this.children.length-1); + } + }, + + /** Add all elements of kids list as children of this node */ + addChildren: function(kids) { + var i, t; + for (i = 0; i < kids.length; i++) { + t = kids[i]; + this.addChild(t); + } + }, + + setChild: function(i, t) { + if ( !t ) { + return; + } + if ( t.isNil() ) { + throw new Error("Can't set single child to a list"); + } + if ( !this.children ) { + this.children = this.createChildrenList(); + } + this.children[i] = t; + t.setParent(this); + t.setChildIndex(i); + }, + + deleteChild: function(i) { + if ( !this.children ) { + return null; + } + if (i<0 || i>=this.children.length) { + throw new Error("Index out of bounds."); + } + var killed = this.children.splice(i, 1)[0]; + // walk rest and decrement their child indexes + this.freshenParentAndChildIndexes(i); + return killed; + }, + + /** Delete children from start to stop and replace with t even if t is + * a list (nil-root tree). num of children can increase or decrease. + * For huge child lists, inserting children can force walking rest of + * children to set their childindex; could be slow. + */ + replaceChildren: function(startChildIndex, stopChildIndex, t) { + if ( !this.children ) { + throw new Error("indexes invalid; no children in list"); + } + var replacingHowMany = stopChildIndex - startChildIndex + 1; + var replacingWithHowMany; + var newTree = t; + var newChildren = null; + // normalize to a list of children to add: newChildren + if ( newTree.isNil() ) { + newChildren = newTree.children; + } + else { + newChildren = []; + newChildren.push(newTree); + } + replacingWithHowMany = newChildren.length; + var numNewChildren = newChildren.length; + var delta = replacingHowMany - replacingWithHowMany; + var j, i, child, indexToDelete, c, killed, numToInsert; + // if same number of nodes, do direct replace + if ( delta === 0 ) { + j = 0; // index into new children + for (i=startChildIndex; i<=stopChildIndex; i++) { + child = newChildren[j]; + this.children[i] = child; + child.setParent(this); + child.setChildIndex(i); + j++; + } + } + else if ( delta > 0 ) { // fewer new nodes than there were + // set children and then delete extra + for (j=0; j0 ) { + buf += ' '; + } + buf += t.toStringTree(); + } + if ( !this.isNil() ) { + buf += ")"; + } + return buf; + }, + + getLine: function() { + return 0; + }, + + getCharPositionInLine: function() { + return 0; + } +}; +/** A tree node that is wrapper for a Token object. After 3.0 release + * while building tree rewrite stuff, it became clear that computing + * parent and child index is very difficult and cumbersome. Better to + * spend the space in every tree node. If you don't want these extra + * fields, it's easy to cut them out in your own BaseTree subclass. + */ +org.antlr.runtime.tree.CommonTree = function(node) { + /** What token indexes bracket all tokens associated with this node + * and below? + */ + this.startIndex = -1; + this.stopIndex = -1; + + /** What index is this node in the child list? Range: 0..n-1 */ + this.childIndex = -1; + + /** Who is the parent node of this node; if null, implies node is root */ + this.parent = null; + + /** A single token is the payload */ + this.token = null; + + if (node instanceof org.antlr.runtime.tree.CommonTree) { + org.antlr.runtime.tree.CommonTree.superclass.constructor.call(this, node); + this.token = node.token; + this.startIndex = node.startIndex; + this.stopIndex = node.stopIndex; + } else if (node instanceof org.antlr.runtime.CommonToken) { + this.token = node; + } +}; + +/** A tree node that is wrapper for a Token object. */ +org.antlr.lang.extend(org.antlr.runtime.tree.CommonTree, org.antlr.runtime.tree.BaseTree, { + getToken: function() { + return this.token; + }, + + dupNode: function() { + return new org.antlr.runtime.tree.CommonTree(this); + }, + + isNil: function() { + return !this.token; + }, + + getType: function() { + if ( !this.token ) { + return org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + } + return this.token.getType(); + }, + + getText: function() { + if ( !this.token ) { + return null; + } + return this.token.getText(); + }, + + getLine: function() { + if ( !this.token || this.token.getLine()===0 ) { + if ( this.getChildCount()>0 ) { + return this.getChild(0).getLine(); + } + return 0; + } + return this.token.getLine(); + }, + + getCharPositionInLine: function() { + if ( !this.token || this.token.getCharPositionInLine()===-1 ) { + if ( this.getChildCount()>0 ) { + return this.getChild(0).getCharPositionInLine(); + } + return 0; + } + return this.token.getCharPositionInLine(); + }, + + getTokenStartIndex: function() { + if ( this.token ) { + return this.token.getTokenIndex(); + } + return this.startIndex; + }, + + setTokenStartIndex: function(index) { + this.startIndex = index; + }, + + getTokenStopIndex: function() { + if ( this.token ) { + return this.token.getTokenIndex(); + } + return this.stopIndex; + }, + + setTokenStopIndex: function(index) { + this.stopIndex = index; + }, + + getChildIndex: function() { + return this.childIndex; + }, + + getParent: function() { + return this.parent; + }, + + setParent: function(t) { + this.parent = t; + }, + + setChildIndex: function(index) { + this.childIndex = index; + }, + + toString: function() { + if ( this.isNil() ) { + return "nil"; + } + if ( this.getType()===org.antlr.runtime.Token.INVALID_TOKEN_TYPE ) { + return ""; + } + if ( !this.token ) { + return null; + } + return this.token.getText(); + } +}); +/** What does a tree look like? ANTLR has a number of support classes + * such as CommonTreeNodeStream that work on these kinds of trees. You + * don't have to make your trees implement this interface, but if you do, + * you'll be able to use more support code. + * + * NOTE: When constructing trees, ANTLR can build any kind of tree; it can + * even use Token objects as trees if you add a child list to your tokens. + * + * This is a tree node without any payload; just navigation and factory stuff. + */ +org.antlr.runtime.tree.Tree = { + INVALID_NODE: new org.antlr.runtime.tree.CommonTree(org.antlr.runtime.Token.INVALID_TOKEN) +}; +org.antlr.runtime.tree.CommonErrorNode = function(input, start, stop, e) { + if ( !stop || + (stop.getTokenIndex() < start.getTokenIndex() && + stop.getType()!=org.antlr.runtime.Token.EOF) ) + { + // sometimes resync does not consume a token (when LT(1) is + // in follow set. So, stop will be 1 to left to start. adjust. + // Also handle case where start is the first token and no token + // is consumed during recovery; LT(-1) will return null. + stop = start; + } + this.input = input; + this.start = start; + this.stop = stop; + this.trappedException = e; +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.CommonErrorNode, org.antlr.runtime.tree.CommonTree, { + isNil: function() { + return false; + }, + + getType: function() { + return org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + }, + + getText: function() { + var badText = null; + if ( this.start instanceof org.antlr.runtime.CommonToken ) { + var i = this.start.getTokenIndex(); + var j = this.stop.getTokenIndex(); + if ( this.stop.getType() === org.antlr.runtime.Token.EOF ) { + j = this.input.size(); + } + badText = this.input.toString(i, j); + } + else if ( this.start instanceof org.antlr.runtime.tree.CommonTree ) { + badText = this.input.toString(this.start, this.stop); + } + else { + // people should subclass if they alter the tree type so this + // next one is for sure correct. + badText = ""; + } + return badText; + }, + + toString: function() { + if ( this.trappedException instanceof org.antlr.runtime.MissingTokenException ) { + return ""; + } + else if ( this.trappedException instanceof org.antlr.runtime.UnwantedTokenException ) { + return ""; + } + else if ( this.trappedException instanceof org.antlr.runtime.MismatchedTokenException ) { + return ""; + } + else if ( this.trappedException instanceof org.antlr.runtime.NoViableAltException ) { + return ""; + } + return ""; + } +}); +/** A TreeAdaptor that works with any Tree implementation. */ +org.antlr.runtime.tree.BaseTreeAdaptor = function() { + this.uniqueNodeID = 1; +}; + +org.antlr.runtime.tree.BaseTreeAdaptor.prototype = { + nil: function() { + return this.create(null); + }, + + /** create tree node that holds the start and stop tokens associated + * with an error. + * + * If you specify your own kind of tree nodes, you will likely have to + * override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + * if no token payload but you might have to set token type for diff + * node type. + */ + errorNode: function(input, start, stop, e) { + var t = new org.antlr.runtime.tree.CommonErrorNode(input, start, stop, e); + return t; + }, + + isNil: function(tree) { + return tree.isNil(); + }, + + /** This is generic in the sense that it will work with any kind of + * tree (not just Tree interface). It invokes the adaptor routines + * not the tree node routines to do the construction. + */ + dupTree: function(t, parent) { + if (arguments.length===1) { + parent = null; + } + if ( !t ) { + return null; + } + var newTree = this.dupNode(t); + // ensure new subtree root has parent/child index set + this.setChildIndex(newTree, this.getChildIndex(t)); // same index in new tree + this.setParent(newTree, parent); + var n = this.getChildCount(t), + i, child, newSubTree; + for (i = 0; i < n; i++) { + child = this.getChild(t, i); + newSubTree = this.dupTree(child, t); + this.addChild(newTree, newSubTree); + } + return newTree; + }, + + /** Add a child to the tree t. If child is a flat tree (a list), make all + * in list children of t. Warning: if t has no children, but child does + * and child isNil then you can decide it is ok to move children to t via + * t.children = child.children; i.e., without copying the array. Just + * make sure that this is consistent with have the user will build + * ASTs. + */ + addChild: function(t, child) { + if ( t && org.antlr.lang.isValue(child) ) { + t.addChild(child); + } + }, + + /** If oldRoot is a nil root, just copy or move the children to newRoot. + * If not a nil root, make oldRoot a child of newRoot. + * + * old=^(nil a b c), new=r yields ^(r a b c) + * old=^(a b c), new=r yields ^(r ^(a b c)) + * + * If newRoot is a nil-rooted single child tree, use the single + * child as the new root node. + * + * old=^(nil a b c), new=^(nil r) yields ^(r a b c) + * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + * + * If oldRoot was null, it's ok, just return newRoot (even if isNil). + * + * old=null, new=r yields r + * old=null, new=^(nil r) yields ^(nil r) + * + * Return newRoot. Throw an exception if newRoot is not a + * simple node or nil root with a single child node--it must be a root + * node. If newRoot is ^(nil x) return x as newRoot. + * + * Be advised that it's ok for newRoot to point at oldRoot's + * children; i.e., you don't have to copy the list. We are + * constructing these nodes so we should have this control for + * efficiency. + */ + becomeRoot: function(newRoot, oldRoot) { + if (newRoot instanceof org.antlr.runtime.CommonToken || !newRoot) { + newRoot = this.create(newRoot); + } + + var newRootTree = newRoot, + oldRootTree = oldRoot; + if ( !oldRoot ) { + return newRoot; + } + // handle ^(nil real-node) + if ( newRootTree.isNil() ) { + if ( newRootTree.getChildCount()>1 ) { + // TODO: make tree run time exceptions hierarchy + throw new Error("more than one node as root (TODO: make exception hierarchy)"); + } + newRootTree = newRootTree.getChild(0); + } + // add oldRoot to newRoot; addChild takes care of case where oldRoot + // is a flat list (i.e., nil-rooted tree). All children of oldRoot + // are added to newRoot. + newRootTree.addChild(oldRootTree); + return newRootTree; + }, + + /** Transform ^(nil x) to x */ + rulePostProcessing: function(root) { + var r = root; + if ( r && r.isNil() ) { + if ( r.getChildCount()===0 ) { + r = null; + } + else if ( r.getChildCount()===1 ) { + r = r.getChild(0); + // whoever invokes rule will set parent and child index + r.setParent(null); + r.setChildIndex(-1); + } + } + return r; + }, + + create: function(tokenType, fromToken) { + var text, t; + if (arguments.length===2) { + if (org.antlr.lang.isString(arguments[1])) { + text = arguments[1]; + fromToken = this.createToken(tokenType, text); + t = this.create(fromToken); + return t; + } else { + fromToken = this.createToken(fromToken); + fromToken.setType(tokenType); + t = this.create(fromToken); + return t; + } + } else if (arguments.length===3) { + text = arguments[2]; + fromToken = this.createToken(fromToken); + fromToken.setType(tokenType); + fromToken.setText(text); + t = this.create(fromToken); + return t; + } + }, + + getType: function(t) { + t.getType(); + return 0; + }, + + setType: function(t, type) { + throw new Error("don't know enough about Tree node"); + }, + + getText: function(t) { + return t.getText(); + }, + + setText: function(t, text) { + throw new Error("don't know enough about Tree node"); + }, + + getChild: function(t, i) { + return t.getChild(i); + }, + + setChild: function(t, i, child) { + t.setChild(i, child); + }, + + deleteChild: function(t, i) { + return t.deleteChild(i); + }, + + getChildCount: function(t) { + return t.getChildCount(); + }, + + getUniqueID: function(node) { + if ( !this.treeToUniqueIDMap ) { + this.treeToUniqueIDMap = {}; + } + var prevID = this.treeToUniqueIDMap[node]; + if ( org.antlr.lang.isValue(prevID) ) { + return prevID; + } + var ID = this.uniqueNodeID; + this.treeToUniqueIDMap[node] = ID; + this.uniqueNodeID++; + return ID; + // GC makes these nonunique: + // return System.identityHashCode(node); + } +}; +/** A TreeAdaptor that works with any Tree implementation. It provides + * really just factory methods; all the work is done by BaseTreeAdaptor. + * If you would like to have different tokens created than ClassicToken + * objects, you need to override this and then set the parser tree adaptor to + * use your subclass. + * + * To get your parser to build nodes of a different type, override + * create(Token). + */ +org.antlr.runtime.tree.CommonTreeAdaptor = function() {}; + +org.antlr.lang.extend(org.antlr.runtime.tree.CommonTreeAdaptor, + org.antlr.runtime.tree.BaseTreeAdaptor, { + /** Duplicate a node. This is part of the factory; + * override if you want another kind of node to be built. + * + * I could use reflection to prevent having to override this + * but reflection is slow. + */ + dupNode: function(t) { + if ( !org.antlr.lang.isValue(t) ) { + return null; + } + return t.dupNode(); + }, + + create: function(payload) { + if (arguments.length>1) { + return org.antlr.runtime.tree.CommonTreeAdaptor.superclass.create.apply(this, arguments); + } + return new org.antlr.runtime.tree.CommonTree(payload); + }, + + /** Tell me how to create a token for use with imaginary token nodes. + * For example, there is probably no input symbol associated with imaginary + * token DECL, but you need to create it as a payload or whatever for + * the DECL node as in ^(DECL type ID). + * + * If you care what the token payload objects' type is, you should + * override this method and any other createToken variant. + * + * Tell me how to create a token for use with imaginary token nodes. + * For example, there is probably no input symbol associated with imaginary + * token DECL, but you need to create it as a payload or whatever for + * the DECL node as in ^(DECL type ID). + * + * This is a variant of createToken where the new token is derived from + * an actual real input token. Typically this is for converting '{' + * tokens to BLOCK etc... You'll see + * + * r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + * + * If you care what the token payload objects' type is, you should + * override this method and any other createToken variant. + */ + createToken: function(fromToken) { + if (arguments.length===2) { + return new org.antlr.runtime.CommonToken(arguments[0], arguments[1]); + } else { + return new org.antlr.runtime.CommonToken(arguments[0]); + } + }, + + /** Track start/stop token for subtree root created for a rule. + * Only works with Tree nodes. For rules that match nothing, + * seems like this will yield start=i and stop=i-1 in a nil node. + * Might be useful info so I'll not force to be i..i. + */ + setTokenBoundaries: function(t, startToken, stopToken) { + if ( !org.antlr.lang.isValue(t) ) { + return; + } + var start = 0, + stop = 0; + if ( org.antlr.lang.isValue(startToken) ) { + if (startToken.getTokenIndex) { + start = startToken.getTokenIndex(); + } else if (startToken.getStartIndex) { + start = startToken.getStartIndex(); + } else { + start = startToken.getTokenStartIndex(); + } + } + if ( org.antlr.lang.isValue(stopToken) ) { + if (stop.getTokenIndex) { + stop = stopToken.getTokenIndex(); + } else if (stopToken.getStopIndex) { + stop = stopToken.getStopIndex(); + } else { + stop = stopToken.getTokenStopIndex(); + } + } + t.setTokenStartIndex(start); + t.setTokenStopIndex(stop); + }, + + getTokenStartIndex: function(t) { + if (!t) { + return -1; + } + return t.getTokenStartIndex(); + }, + + getTokenStopIndex: function(t) { + if (!t) { + return -1; + } + return t.getTokenStopIndex(); + }, + + getText: function(t) { + if (!t) { + return null; + } + return t.getText(); + }, + + getType: function(t) { + if (!t) { + return org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + } + return t.getType(); + }, + + /** What is the Token associated with this node? If + * you are not using CommonTree, then you must + * override this in your own adaptor. + */ + getToken: function(t) { + if ( t instanceof org.antlr.runtime.tree.CommonTree ) { + return t.getToken(); + } + return null; // no idea what to do + }, + + getChild: function(t, i) { + if (!t) { + return null; + } + return t.getChild(i); + }, + + getChildCount: function(t) { + if (!t) { + return 0; + } + return t.getChildCount(); + }, + + getParent: function(t) { + return t.getParent(); + }, + + setParent: function(t, parent) { + t.setParent(parent); + }, + + getChildIndex: function(t) { + return t.getChildIndex(); + }, + + setChildIndex: function(t, index) { + t.setChildIndex(index); + }, + + replaceChildren: function(parent, startChildIndex, stopChildIndex, t) { + if ( parent ) { + parent.replaceChildren(startChildIndex, stopChildIndex, t); + } + } +}); +/** + * A stream of characters created from a JavaScript string that in turn gets + * fed to a lexer. + * @class + * @param {String} data the string from which this stream will be created. + */ +org.antlr.runtime.ANTLRStringStream = function(data) { + /** + * Location in the stream. + * Ranges from 0 to (stream length - 1). + * @private + * @type Number + */ + this.p = 0; + + /** + * The current line in the input. + * Ranges from 1 to (number of lines). + * @private + * @type Number + */ + this.line = 1; + + /** + * The index of the character relative to the beginning of the line. + * Ranges from 0 to (length of line - 1). + * @private + * @type Number + */ + this.charPositionInLine = 0; + + /** + * Tracks how deep mark() calls are nested + * @private + * @type Number + */ + this.markDepth = 0; + + /** + * An Array of objects that tracks the stream state + * values line, charPositionInLine, and p that can change as you + * move through the input stream. Indexed from 1..markDepth. + * A null is kept at index 0. Created upon first call to mark(). + * @private + * @type Array + */ + this.markers = null; + + /** + * Track the last mark() call result value for use in rewind(). + * @private + * @type Number + */ + this.lastMarker = null; + + /** + * The data being scanned. + * @private + * @type String + */ + this.data = data; + + /** + * The number of characters in the stream. + * @private + * @type Number + */ + this.n = data.length; +}; + +org.antlr.runtime.ANTLRStringStream.prototype = { + /** + * Reset the stream so that it's in the same state it was + * when the object was created *except* the data array is not + * touched. + */ + reset: function() { + this.p = 0; + this.line = 1; + this.charPositionInLine = 0; + this.markDepth = 0; + }, + + /** + * Consume the next character of data in the stream. + */ + consume: function() { + if ( this.p < this.n ) { + this.charPositionInLine++; + if ( this.data.charAt(this.p)==="\n" ) { + this.line++; + this.charPositionInLine=0; + } + this.p++; + } + }, + + /** + * Get character at current input pointer + i ahead where i=1 is next int. + * Negative indexes are allowed. LA(-1) is previous token (token + * just matched). LA(-i) where i is before first token should + * yield -1, invalid char / EOF. + * @param {Number} i non-zero amount of lookahead or lookback + * @returns {String|Number} The charcter at the specified position or -1 if + * you fell off either end of the stream. + */ + LA: function(i) { + if ( i<0 ) { + i++; // e.g., translate LA(-1) to use offset i=0; then data[p+0-1] + } + + var new_pos = this.p+i-1; + if (new_pos>=this.n || new_pos<0) { + return org.antlr.runtime.CharStream.EOF; + } + return this.data.charAt(new_pos); + }, + + + /** + * Return the current input symbol index 0..n where n indicates the + * last symbol has been read. The index is the index of char to + * be returned from LA(1) (i.e. the one about to be consumed). + * @returns {Number} the index of the current input symbol + */ + index: function() { + return this.p; + }, + + /** + * The length of this stream. + * @returns {Number} the length of this stream. + */ + size: function() { + return this.n; + }, + + /** + * Tell the stream to start buffering if it hasn't already. Return + * current input position, index(), or some other marker so that + * when passed to rewind() you get back to the same spot. + * rewind(mark()) should not affect the input cursor. The Lexer + * tracks line/col info as well as input index so its markers are + * not pure input indexes. Same for tree node streams. + * + *

Marking is a mechanism for storing the current position of a stream + * in a stack. This corresponds with the predictive look-ahead mechanism + * used in Lexers.

+ * @returns {Number} the current size of the mark stack. + */ + mark: function() { + if ( !this.markers ) { + this.markers = []; + this.markers.push(null); // depth 0 means no backtracking, leave blank + } + this.markDepth++; + var state = null; + if ( this.markDepth>=this.markers.length ) { + state = {}; + this.markers.push(state); + } + else { + state = this.markers[this.markDepth]; + } + state.p = this.p; + state.line = this.line; + state.charPositionInLine = this.charPositionInLine; + this.lastMarker = this.markDepth; + return this.markDepth; + }, + + /** + * Rewind to the input position of the last marker. + * Used currently only after a cyclic DFA and just + * before starting a sem/syn predicate to get the + * input position back to the start of the decision. + * Do not "pop" the marker off the state. mark(i) + * and rewind(i) should balance still. It is + * like invoking rewind(last marker) but it should not "pop" + * the marker off. It's like seek(last marker's input position). + * @param {Number} [m] the index in the mark stack to load instead of the + * last. + */ + rewind: function(m) { + if (!org.antlr.lang.isNumber(m)) { + m = this.lastMarker; + } + + var state = this.markers[m]; + // restore stream state + this.seek(state.p); + this.line = state.line; + this.charPositionInLine = state.charPositionInLine; + this.release(m); + }, + + /** + * You may want to commit to a backtrack but don't want to force the + * stream to keep bookkeeping objects around for a marker that is + * no longer necessary. This will have the same behavior as + * rewind() except it releases resources without the backward seek. + * This must throw away resources for all markers back to the marker + * argument. So if you're nested 5 levels of mark(), and then release(2) + * you have to release resources for depths 2..5. + * @param {Number} marker the mark depth above which all mark states will + * be released. + */ + release: function(marker) { + // unwind any other markers made after m and release m + this.markDepth = marker; + // release this marker + this.markDepth--; + }, + + /** + * Set the input cursor to the position indicated by index. This is + * normally used to seek ahead in the input stream. No buffering is + * required to do this unless you know your stream will use seek to + * move backwards such as when backtracking. + * + *

This is different from rewind in its multi-directional + * requirement and in that its argument is strictly an input cursor + * (index).

+ * + *

For char streams, seeking forward must update the stream state such + * as line number. For seeking backwards, you will be presumably + * backtracking using the mark/rewind mechanism that restores state and + * so this method does not need to update state when seeking backwards.

+ * + *

Currently, this method is only used for efficient backtracking using + * memoization, but in the future it may be used for incremental + * parsing.

+ * + *

The index is 0..n-1. A seek to position i means that LA(1) will + * return the ith symbol. So, seeking to 0 means LA(1) will return the + * first element in the stream.

+ * + *

Esentially this method method moves the input position, + * {@link #consume}-ing data if necessary.

+ * + * @param {Number} index the position to seek to. + */ + seek: function(index) { + if ( index<=this.p ) { + this.p = index; // just jump; don't update stream state (line, ...) + return; + } + // seek forward, consume until p hits index + while ( this.p= 2) { + this.channel = channel; + } else if (arguments.length === 1) { + this.tokenSource = tokenSource; + } +}; + +org.antlr.runtime.CommonTokenStream.prototype = { + /** Reset this token stream by setting its token source. */ + setTokenSource: function(tokenSource) { + this.tokenSource = tokenSource; + this.tokens = []; + this.p = -1; + this.channel = org.antlr.runtime.Token.DEFAULT_CHANNEL; + }, + + /** Load all tokens from the token source and put in tokens. + * This is done upon first LT request because you might want to + * set some token type / channel overrides before filling buffer. + */ + fillBuffer: function() { + var index = 0, + t = this.tokenSource.nextToken(), + discard, + channelI; + while ( org.antlr.lang.isValue(t) && + t.getType()!=org.antlr.runtime.CharStream.EOF ) + { + discard = false; + // is there a channel override for token type? + if ( this.channelOverrideMap ) { + channelI = this.channelOverrideMap[t.getType()]; + if ( org.antlr.lang.isValue(channelI) ) { + t.setChannel(channelI); + } + } + if ( this.discardSet && this.discardSet[t.getType()] ) + { + discard = true; + } + else if ( this.v_discardOffChannelTokens && + t.getChannel()!=this.channel ) + { + discard = true; + } + if ( !discard ) { + t.setTokenIndex(index); + this.tokens.push(t); + index++; + } + t = this.tokenSource.nextToken(); + } + // leave p pointing at first token on channel + this.p = 0; + this.p = this.skipOffTokenChannels(this.p); + }, + + /** Move the input pointer to the next incoming token. The stream + * must become active with LT(1) available. consume() simply + * moves the input pointer so that LT(1) points at the next + * input symbol. Consume at least one token. + * + * Walk past any token not on the channel the parser is listening to. + */ + consume: function() { + if ( this.p=0 && (this.tokens[i]).getChannel()!=this.channel ) { + i--; + } + return i; + }, + + /** A simple filter mechanism whereby you can tell this token stream + * to force all tokens of type ttype to be on channel. For example, + * when interpreting, we cannot exec actions so we need to tell + * the stream to force all WS and NEWLINE to be a different, ignored + * channel. + */ + setTokenTypeChannel: function(ttype, channel) { + if ( !this.channelOverrideMap ) { + this.channelOverrideMap = {}; + } + this.channelOverrideMap[ttype] = channel; + }, + + discardTokenType: function(ttype) { + if ( !this.discardSet ) { + this.discardSet = {}; + } + this.discardSet[ttype] = true; + }, + + discardOffChannelTokens: function(b) { + this.v_discardOffChannelTokens = b; + }, + + /** Given a start and stop index, return a List of all tokens in + * the token type BitSet. Return null if no tokens were found. This + * method looks at both on and off channel tokens. + */ + getTokens: function(start, stop, types) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + + if (arguments.length===0) { + return this.tokens; + } + + if (org.antlr.lang.isArray(types)) { + types = new org.antlr.runtime.BitSet(types); + } else if (org.antlr.lang.isNumber(types)) { + types = org.antlr.runtime.BitSet.of(types); + } + + if ( stop>=this.tokens.length ) { + stop=this.tokens.length-1; + } + if ( start<0 ) { + start=0; + } + if ( start>stop ) { + return null; + } + + // list = tokens[start:stop]:{Token t, t.getType() in types} + var filteredTokens = [], + i, + t; + for (i=start; i<=stop; i++) { + t = this.tokens[i]; + if ( !this.types || types.member(t.getType()) ) { + filteredTokens.push(t); + } + } + if ( filteredTokens.length===0 ) { + filteredTokens = null; + } + return filteredTokens; + }, + + /** Get the ith token from the current position 1..n where k=1 is the + * first symbol of lookahead. + */ + LT: function(k) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + if ( k===0 ) { + return null; + } + if ( k<0 ) { + return this.LB(-1*k); + } + if ( (this.p+k-1) >= this.tokens.length ) { + return org.antlr.runtime.Token.EOF_TOKEN; + } + var i = this.p, + n = 1; + // find k good tokens + while ( n=this.tokens.length ) { + return org.antlr.runtime.Token.EOF_TOKEN; + } + return this.tokens[i]; + }, + + /** Look backwards k tokens on-channel tokens */ + LB: function(k) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + if ( k===0 ) { + return null; + } + if ( (this.p-k)<0 ) { + return null; + } + + var i = this.p, + n = 1; + // find k good tokens looking backwards + while ( n<=k ) { + // skip off-channel tokens + i = this.skipOffTokenChannelsReverse(i-1); // leave p on valid token + n++; + } + if ( i<0 ) { + return null; + } + return this.tokens[i]; + }, + + /** Return absolute token i; ignore which channel the tokens are on; + * that is, count all tokens not just on-channel tokens. + */ + get: function(i) { + return this.tokens[i]; + }, + + LA: function(i) { + return this.LT(i).getType(); + }, + + mark: function() { + if ( this.p === -1 ) { + this.fillBuffer(); + } + this.lastMarker = this.index(); + return this.lastMarker; + }, + + release: function(marker) { + // no resources to release + }, + + size: function() { + return this.tokens.length; + }, + + index: function() { + return this.p; + }, + + rewind: function(marker) { + if (!org.antlr.lang.isNumber(marker)) { + marker = this.lastMarker; + } + this.seek(marker); + }, + + reset: function() { + this.p = -1; + this.lastMarker = 0; + }, + + seek: function(index) { + this.p = index; + }, + + getTokenSource: function() { + return this.tokenSource; + }, + + getSourceName: function() { + return this.getTokenSource().getSourceName(); + }, + + toString: function(start, stop) { + if (arguments.length===0) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + start = 0; + stop = this.tokens.length-1; + } + + if (!org.antlr.lang.isNumber(start) && !org.antlr.lang.isNumber(stop)) { + if ( org.antlr.lang.isValue(start) && org.antlr.lang.isValue(stop) ) { + start = start.getTokenIndex(); + stop = stop.getTokenIndex(); + } else { + return null; + } + } + + var buf = "", + i; + + if ( start<0 || stop<0 ) { + return null; + } + if ( this.p == -1 ) { + this.fillBuffer(); + } + if ( stop>=this.tokens.length ) { + stop = this.tokens.length-1; + } + for (i = start; i <= stop; i++) { + t = this.tokens[i]; + buf = buf + this.tokens[i].getText(); + } + return buf; + } +}; +/* Useful for dumping out the input stream after doing some + * augmentation or other manipulations. + * + * You can insert stuff, replace, and delete chunks. Note that the + * operations are done lazily--only if you convert the buffer to a + * String. This is very efficient because you are not moving data around + * all the time. As the buffer of tokens is converted to strings, the + * toString() method(s) check to see if there is an operation at the + * current index. If so, the operation is done and then normal String + * rendering continues on the buffer. This is like having multiple Turing + * machine instruction streams (programs) operating on a single input tape. :) + * + * Since the operations are done lazily at toString-time, operations do not + * screw up the token index values. That is, an insert operation at token + * index i does not change the index values for tokens i+1..n-1. + * + * Because operations never actually alter the buffer, you may always get + * the original token stream back without undoing anything. Since + * the instructions are queued up, you can easily simulate transactions and + * roll back any changes if there is an error just by removing instructions. + * For example, + * + * CharStream input = new ANTLRFileStream("input"); + * TLexer lex = new TLexer(input); + * TokenRewriteStream tokens = new TokenRewriteStream(lex); + * T parser = new T(tokens); + * parser.startRule(); + * + * Then in the rules, you can execute + * Token t,u; + * ... + * input.insertAfter(t, "text to put after t");} + * input.insertAfter(u, "text after u");} + * System.out.println(tokens.toString()); + * + * Actually, you have to cast the 'input' to a TokenRewriteStream. :( + * + * You can also have multiple "instruction streams" and get multiple + * rewrites from a single pass over the input. Just name the instruction + * streams and use that name again when printing the buffer. This could be + * useful for generating a C file and also its header file--all from the + * same buffer: + * + * tokens.insertAfter("pass1", t, "text to put after t");} + * tokens.insertAfter("pass2", u, "text after u");} + * System.out.println(tokens.toString("pass1")); + * System.out.println(tokens.toString("pass2")); + * + * If you don't use named rewrite streams, a "default" stream is used as + * the first example shows. + */ + +org.antlr.runtime.TokenRewriteStream = function() { + var sup = org.antlr.runtime.TokenRewriteStream.superclass; + + /** You may have multiple, named streams of rewrite operations. + * I'm calling these things "programs." + * Maps String (name) -> rewrite (List) + */ + this.programs = null; + + /** Map String (program name) -> Integer index */ + this.lastRewriteTokenIndexes = null; + + + if (arguments.length===0) { + this.init(); + } else { + sup.constructor.apply(this, arguments); + this.init(); + } +}; + +(function(){ +var trs = org.antlr.runtime.TokenRewriteStream; + +org.antlr.lang.augmentObject(trs, { + DEFAULT_PROGRAM_NAME: "default", + PROGRAM_INIT_SIZE: 100, + MIN_TOKEN_INDEX: 0 +}); + +// +// Define the rewrite operation hierarchy +// + +trs.RewriteOperation = function(index, text) { + this.index = index; + this.text = text; +}; + +/** Execute the rewrite operation by possibly adding to the buffer. + * Return the index of the next token to operate on. + */ +trs.RewriteOperation.prototype = { + execute: function(buf) { + return this.index; + }, + toString: function() { + /*String opName = getClass().getName(); + int $index = opName.indexOf('$'); + opName = opName.substring($index+1, opName.length()); + return opName+"@"+index+'"'+text+'"';*/ + return this.text; + } +}; + +trs.InsertBeforeOp = function(index, text) { + trs.InsertBeforeOp.superclass.constructor.call(this, index, text); +}; +org.antlr.lang.extend(trs.InsertBeforeOp, trs.RewriteOperation, { + execute: function(buf) { + buf.push(this.text); + return this.index; + } +}); + +/** I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + * instructions. + */ +trs.ReplaceOp = function(from, to, text) { + trs.ReplaceOp.superclass.constructor.call(this, from, text); + this.lastIndex = to; +}; +org.antlr.lang.extend(trs.ReplaceOp, trs.RewriteOperation, { + execute: function(buf) { + if (org.antlr.lang.isValue(this.text)) { + buf.push(this.text); + } + return this.lastIndex+1; + } +}); + +trs.DeleteOp = function(from, to) { + trs.DeleteOp.superclass.constructor.call(this, from, to); +}; +org.antlr.lang.extend(trs.DeleteOp, trs.ReplaceOp); + +org.antlr.lang.extend(trs, org.antlr.runtime.CommonTokenStream, { + init: function() { + this.programs = {}; + this.programs[trs.DEFAULT_PROGRAM_NAME] = []; + this.lastRewriteTokenIndexes = {}; + }, + + /** Rollback the instruction stream for a program so that + * the indicated instruction (via instructionIndex) is no + * longer in the stream. UNTESTED! + */ + rollback: function() { + var programName, + instructionIndex; + + if (arguments.length===1) { + programName = trs.DEFAULT_PROGRAM_NAME; + instructionIndex = arguments[0]; + } else if (arguments.length===2) { + programName = arguments[0]; + instructionIndex = arguments[1]; + } + var is = this.programs[programName]; + if (is) { + programs[programName] = is.slice(trs.MIN_TOKEN_INDEX, this.instructionIndex); + } + }, + + /** Reset the program so that no instructions exist */ + deleteProgram: function(programName) { + programName = programName || trs.DEFAULT_PROGRAM_NAME; + this.rollback(programName, trs.MIN_TOKEN_INDEX); + }, + + /** Add an instruction to the rewrite instruction list ordered by + * the instruction number (use a binary search for efficiency). + * The list is ordered so that toString() can be done efficiently. + * + * When there are multiple instructions at the same index, the instructions + * must be ordered to ensure proper behavior. For example, a delete at + * index i must kill any replace operation at i. Insert-before operations + * must come before any replace / delete instructions. If there are + * multiple insert instructions for a single index, they are done in + * reverse insertion order so that "insert foo" then "insert bar" yields + * "foobar" in front rather than "barfoo". This is convenient because + * I can insert new InsertOp instructions at the index returned by + * the binary search. A ReplaceOp kills any previous replace op. Since + * delete is the same as replace with null text, i can check for + * ReplaceOp and cover DeleteOp at same time. :) + */ + addToSortedRewriteList: function() { + var programName, + op; + if (arguments.length===1) { + programName = trs.DEFAULT_PROGRAM_NAME; + op = arguments[0]; + } else if (arguments.length===2) { + programName = arguments[0]; + op = arguments[1]; + } + + var rewrites = this.getProgram(programName); + var len, pos, searchOp, replaced, prevOp, i; + for (pos=0, len=rewrites.length; pos op.index) { + rewrites.splice(pos, 0, op); + break; + } + } + if (pos===len) { + rewrites.push(op); + } + }, + + insertAfter: function() { + var index, programName, text; + if (arguments.length===2) { + programName = trs.DEFAULT_PROGRAM_NAME; + index = arguments[0]; + text = arguments[1]; + } else if (arguments.length===3) { + programName = arguments[0]; + index = arguments[1]; + text = arguments[2]; + } + + if (index instanceof org.antlr.runtime.CommonToken) { + // index is a Token, grab it's stream index + index = index.index; // that's ugly + } + + // insert after is the same as insert before the next index + this.insertBefore(programName, index+1, text); + }, + + insertBefore: function() { + var index, programName, text; + if (arguments.length===2) { + programName = trs.DEFAULT_PROGRAM_NAME; + index = arguments[0]; + text = arguments[1]; + } else if (arguments.length===3) { + programName = arguments[0]; + index = arguments[1]; + text = arguments[2]; + } + + if (index instanceof org.antlr.runtime.CommonToken) { + // index is a Token, grab it's stream index + index = index.index; // that's ugly + } + + this.addToSortedRewriteList( + programName, + new trs.InsertBeforeOp(index,text) + ); + }, + + replace: function() { + var programName, first, last, text; + if (arguments.length===2) { + programName = trs.DEFAULT_PROGRAM_NAME; + first = arguments[0]; + last = arguments[0]; + text = arguments[1]; + } else if (arguments.length===3) { + programName = trs.DEFAULT_PROGRAM_NAME; + first = arguments[0]; + last = arguments[1]; + text = arguments[2]; + } if (arguments.length===4) { + programName = arguments[0]; + first = arguments[1]; + last = arguments[2]; + text = arguments[3]; + } + + if (first instanceof org.antlr.runtime.CommonToken) { + first = first.index; + } + + if (last instanceof org.antlr.runtime.CommonToken) { + last = last.index; // that's ugly + } + + if ( first > last || last<0 || first<0 ) { + return; + } + this.addToSortedRewriteList( + programName, + new trs.ReplaceOp(first, last, text)); + }, + + // !!! API Break: delete is a JS keyword, so using remove instead. + remove: function() { + // convert arguments to a real array + var args=[], i=arguments.length-1; + while (i>=0) { + args[i] = arguments[i]; + i--; + } + + args.push(""); + this.replace.apply(this, args); + }, + + getLastRewriteTokenIndex: function(programName) { + programName = programName || trs.DEFAULT_PROGRAM_NAME; + return this.lastRewriteTokenIndexes[programName] || -1; + }, + + setLastRewriteTokenIndex: function(programName, i) { + this.lastRewriteTokenIndexes[programName] = i; + }, + + getProgram: function(name) { + var is = this.programs[name]; + if ( !is ) { + is = this.initializeProgram(name); + } + return is; + }, + + initializeProgram: function(name) { + var is = []; + this.programs[name] = is; + return is; + }, + + toOriginalString: function(start, end) { + if (!org.antlr.lang.isNumber(start)) { + start = trs.MIN_TOKEN_INDEX; + } + if (!org.antlr.lang.isNumber(end)) { + end = this.size()-1; + } + + var buf = [], i; + for (i=start; i>=trs.MIN_TOKEN_INDEX && i<=end && i=trs.MIN_TOKEN_INDEX && + tokenCursor<=end && + tokenCursor=trs.MIN_TOKEN_INDEX && i<=end && i0 ) { + this.addNavigationNode(org.antlr.runtime.Token.DOWN); + } + // and now add all its children + var c, child; + for (c=0; c0 ) { + this.addNavigationNode(org.antlr.runtime.Token.UP); + } + + if (reset_p) { + this.p = 0; // buffer of nodes intialized now + } + }, + + getNodeIndex: function(node) { + if ( this.p==-1 ) { + this.fillBuffer(); + } + var i, t; + for (i=0; i= this.nodes.length ) { + return this.eof; + } + return this.nodes[this.p+k-1]; + }, + + getCurrentSymbol: function() { return this.LT(1); }, + + /** Look backwards k nodes */ + LB: function(k) { + if ( k===0 ) { + return null; + } + if ( (this.p-k)<0 ) { + return null; + } + return this.nodes[this.p-k]; + }, + + getTreeSource: function() { + return this.root; + }, + + getSourceName: function() { + return this.getTokenStream().getSourceName(); + }, + + getTokenStream: function() { + return this.tokens; + }, + + setTokenStream: function(tokens) { + this.tokens = tokens; + }, + + getTreeAdaptor: function() { + return this.adaptor; + }, + + setTreeAdaptor: function(adaptor) { + this.adaptor = adaptor; + }, + + hasUniqueNavigationNodes: function() { + return this.uniqueNavigationNodes; + }, + + setUniqueNavigationNodes: function(uniqueNavigationNodes) { + this.uniqueNavigationNodes = uniqueNavigationNodes; + }, + + consume: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + this.p++; + }, + + LA: function(i) { + return this.adaptor.getType(this.LT(i)); + }, + + mark: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + this.lastMarker = this.index(); + return this.lastMarker; + }, + + release: function(marker) { + // no resources to release + }, + + index: function() { + return this.p; + }, + + rewind: function(marker) { + if (!org.antlr.lang.isNumber(marker)) { + marker = this.lastMarker; + } + this.seek(marker); + }, + + seek: function(index) { + if ( this.p===-1 ) { + this.fillBuffer(); + } + this.p = index; + }, + + /** Make stream jump to a new location, saving old location. + * Switch back with pop(). + */ + push: function(index) { + if ( !this.calls ) { + this.calls = []; + } + this.calls.push(this.p); // save current index + this.seek(index); + }, + + /** Seek back to previous index saved during last push() call. + * Return top of stack (return index). + */ + pop: function() { + var ret = this.calls.pop(); + this.seek(ret); + return ret; + }, + + reset: function() { + this.p = -1; + this.lastMarker = 0; + if (this.calls) { + this.calls = []; + } + }, + + size: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + return this.nodes.length; + }, + + iterator: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + return this.StreamIterator(); + }, + + replaceChildren: function(parent, startChildIndex, stopChildIndex, t) { + if ( parent ) { + this.adaptor.replaceChildren(parent, startChildIndex, stopChildIndex, t); + } + }, + + /** Debugging */ + toTokenString: function(start, stop) { + if ( this.p===-1 ) { + this.fillBuffer(); + } + var buf='', i, t; + for (i = start; i < this.nodes.length && i <= stop; i++) { + t = this.nodes[i]; + buf += " "+this.adaptor.getToken(t); + } + return buf; + }, + + /** Used for testing, just return the token type stream */ + toString: function(start, stop) { + var buf = "", + text, + t, + i; + if (arguments.length===0) { + if ( this.p===-1 ) { + this.fillBuffer(); + } + for (i = 0; i < this.nodes.length; i++) { + t = this.nodes[i]; + buf += " "; + buf += this.adaptor.getType(t); + } + return buf; + } else { + if ( !org.antlr.lang.isNumber(start) || !org.antlr.lang.isNumber(stop) ) { + return null; + } + if ( this.p===-1 ) { + this.fillBuffer(); + } + //System.out.println("stop: "+stop); + if ( start instanceof org.antlr.runtime.tree.CommonTree ) { + //System.out.print("toString: "+((CommonTree)start).getToken()+", "); + } else { + //System.out.println(start); + } + if ( stop instanceof org.antlr.runtime.tree.CommonTree ) { + //System.out.println(((CommonTree)stop).getToken()); + } else { + //System.out.println(stop); + } + // if we have the token stream, use that to dump text in order + var beginTokenIndex, + endTokenIndex; + if ( this.tokens ) { + beginTokenIndex = this.adaptor.getTokenStartIndex(start); + endTokenIndex = this.adaptor.getTokenStopIndex(stop); + // if it's a tree, use start/stop index from start node + // else use token range from start/stop nodes + if ( this.adaptor.getType(stop)===org.antlr.runtime.Token.UP ) { + endTokenIndex = this.adaptor.getTokenStopIndex(start); + } + else if ( this.adaptor.getType(stop)==org.antlr.runtime.Token.EOF ) + { + endTokenIndex = this.size()-2; // don't use EOF + } + return this.tokens.toString(beginTokenIndex, endTokenIndex); + } + // walk nodes looking for start + t = null; + i = 0; + for (; i < this.nodes.length; i++) { + t = this.nodes[i]; + if ( t===start ) { + break; + } + } + // now walk until we see stop, filling string buffer with text + buf = text = ""; + t = this.nodes[i]; + while ( t!==stop ) { + text = this.adaptor.getText(t); + if ( !org.antlr.lang.isString(text) ) { + text = " "+this.adaptor.getType(t).toString(); + } + buf += text; + i++; + t = nodes[i]; + } + // include stop node too + text = this.adaptor.getText(stop); + if ( !org.antlr.lang.isString(text) ) { + text = " "+this.adaptor.getType(stop).toString(); + } + buf += text; + return buf; + } + } +}); +/** A generic list of elements tracked in an alternative to be used in + * a -> rewrite rule. We need to subclass to fill in the next() method, + * which returns either an AST node wrapped around a token payload or + * an existing subtree. + * + * Once you start next()ing, do not try to add more elements. It will + * break the cursor tracking I believe. + * + * @see org.antlr.runtime.tree.RewriteRuleSubtreeStream + * @see org.antlr.runtime.tree.RewriteRuleTokenStream + * + * TODO: add mechanism to detect/puke on modification after reading from stream + */ +org.antlr.runtime.tree.RewriteRuleElementStream = function(adaptor, elementDescription, el) { + /** Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), + * which bumps it to 1 meaning no more elements. + */ + this.cursor = 0; + + /** Once a node / subtree has been used in a stream, it must be dup'd + * from then on. Streams are reset after subrules so that the streams + * can be reused in future subrules. So, reset must set a dirty bit. + * If dirty, then next() always returns a dup. + * + * I wanted to use "naughty bit" here, but couldn't think of a way + * to use "naughty". + */ + this.dirty = false; + + this.elementDescription = elementDescription; + this.adaptor = adaptor; + if (el) { + if (org.antlr.lang.isArray(el)) { + this.singleElement = null; + this.elements = el; + } else { + this.add(el); + } + } +}; + +org.antlr.runtime.tree.RewriteRuleElementStream.prototype = { + /** Reset the condition of this stream so that it appears we have + * not consumed any of its elements. Elements themselves are untouched. + * Once we reset the stream, any future use will need duplicates. Set + * the dirty bit. + */ + reset: function() { + this.cursor = 0; + this.dirty = true; + }, + + add: function(el) { + if ( !org.antlr.lang.isValue(el) ) { + return; + } + if ( this.elements ) { // if in list, just add + this.elements.push(el); + return; + } + if ( !org.antlr.lang.isValue(this.singleElement) ) { // no elements yet, track w/o list + this.singleElement = el; + return; + } + // adding 2nd element, move to list + this.elements = []; + this.elements.push(this.singleElement); + this.singleElement = null; + this.elements.push(el); + }, + + /** Return the next element in the stream. If out of elements, throw + * an exception unless size()==1. If size is 1, then return elements[0]. + * Return a duplicate node/subtree if stream is out of elements and + * size==1. If we've already used the element, dup (dirty bit set). + */ + nextTree: function() { + var n = this.size(), + el; + if ( this.dirty || (this.cursor>=n && n==1) ) { + // if out of elements and size is 1, dup + el = this._next(); + return this.dup(el); + } + // test size above then fetch + el = this._next(); + return el; + }, + + /** do the work of getting the next element, making sure that it's + * a tree node or subtree. Deal with the optimization of single- + * element list versus list of size > 1. Throw an exception + * if the stream is empty or we're out of elements and size>1. + * protected so you can override in a subclass if necessary. + */ + _next: function() { + var n = this.size(); + if (n===0) { + throw new org.antlr.runtime.tree.RewriteEmptyStreamException(this.elementDescription); + } + if ( this.cursor>= n) { // out of elements? + if ( n===1 ) { // if size is 1, it's ok; return and we'll dup + return this.toTree(this.singleElement); + } + // out of elements and size was not 1, so we can't dup + throw new org.antlr.runtime.tree.RewriteCardinalityException(this.elementDescription); + } + // we have elements + if ( org.antlr.lang.isValue(this.singleElement) ) { + this.cursor++; // move cursor even for single element list + return this.toTree(this.singleElement); + } + // must have more than one in list, pull from elements + var o = this.toTree(this.elements[this.cursor]); + this.cursor++; + return o; + }, + + /** Ensure stream emits trees; tokens must be converted to AST nodes. + * AST nodes can be passed through unmolested. + */ + toTree: function(el) { + if (el && el.getTree) { + return el.getTree(); + } + return el; + }, + + hasNext: function() { + return (org.antlr.lang.isValue(this.singleElement) && this.cursor < 1) || + (this.elements && this.cursor < this.elements.length); + }, + + size: function() { + var n = 0; + if ( org.antlr.lang.isValue(this.singleElement) ) { + n = 1; + } + if ( this.elements ) { + return this.elements.length; + } + return n; + }, + + getDescription: function() { + return this.elementDescription; + } +}; +/** Queues up nodes matched on left side of -> in a tree parser. This is + * the analog of RewriteRuleTokenStream for normal parsers. + */ +org.antlr.runtime.tree.RewriteRuleNodeStream = function(adaptor, elementDescription, el) { + org.antlr.runtime.tree.RewriteRuleNodeStream.superclass.constructor.apply(this, arguments); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteRuleNodeStream, + org.antlr.runtime.tree.RewriteRuleElementStream, +{ + nextNode: function() { + return this._next(); + }, + + toTree: function(el) { + return this.adaptor.dupNode(el); + }, + + dup: function() { + // we dup every node, so don't have to worry about calling dup; short- + // circuited next() so it doesn't call. + throw new Error("dup can't be called for a node stream."); + } +}); +org.antlr.runtime.tree.RewriteRuleTokenStream = function(adaptor, elementDescription, el) { + var sup = org.antlr.runtime.tree.RewriteRuleTokenStream.superclass; + sup.constructor.apply(this, arguments); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteRuleTokenStream, + org.antlr.runtime.tree.RewriteRuleElementStream, { + /** Get next token from stream and make a node for it */ + nextNode: function() { + var t = this._next(); + return this.adaptor.create(t); + }, + + nextToken: function() { + return this._next(); + }, + + /** Don't convert to a tree unless they explicitly call nextTree. + * This way we can do hetero tree nodes in rewrite. + */ + toTree: function(el) { + return el; + }, + + dup: function(el) { + throw new Error("dup can't be called for a token stream."); + } +}); +org.antlr.runtime.tree.RewriteRuleSubtreeStream = function() { + var sup = org.antlr.runtime.tree.RewriteRuleSubtreeStream.superclass; + sup.constructor.apply(this, arguments); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteRuleSubtreeStream, + org.antlr.runtime.tree.RewriteRuleElementStream, { + /** Treat next element as a single node even if it's a subtree. + * This is used instead of next() when the result has to be a + * tree root node. Also prevents us from duplicating recently-added + * children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration + * must dup the type node, but ID has been added. + * + * Referencing a rule result twice is ok; dup entire tree as + * we can't be adding trees as root; e.g., expr expr. + * + * Hideous code duplication here with super.next(). Can't think of + * a proper way to refactor. This needs to always call dup node + * and super.next() doesn't know which to call: dup node or dup tree. + */ + nextNode: function() { + var n = this.size(), + el; + if ( this.dirty || (this.cursor>=n && n===1) ) { + // if out of elements and size is 1, dup (at most a single node + // since this is for making root nodes). + el = this._next(); + return this.adaptor.dupNode(el); + } + // test size above then fetch + el = this._next(); + return el; + }, + + dup: function(el) { + return this.adaptor.dupTree(el); + } +});/** A generic recognizer that can handle recognizers generated from + * lexer, parser, and tree grammars. This is all the parsing + * support code essentially; most of it is error recovery stuff and + * backtracking. + * + *

This class should not be instantiated directly. Instead, use one of its + * subclasses.

+ * + * @class + * @param {org.antlr.runtime.RecognizerSharedState} [state] optional state object + * with which to initialize this recognizer. + */ +org.antlr.runtime.BaseRecognizer = function(state) { + /** State of a lexer, parser, or tree parser are collected into a state + * object so the state can be shared. This sharing is needed to + * have one grammar import others and share same error variables + * and other state variables. It's a kind of explicit multiple + * inheritance via delegation of methods and shared state. + */ + this.state = state || new org.antlr.runtime.RecognizerSharedState(); +}; + +/* static vars, methods */ +org.antlr.lang.augmentObject(org.antlr.runtime.BaseRecognizer, { + MEMO_RULE_FAILED: -2, + MEMO_RULE_UNKNOWN: -1, + INITIAL_FOLLOW_STACK_SIZE: 100, + MEMO_RULE_FAILED_I: -2, + DEFAULT_TOKEN_CHANNEL: org.antlr.runtime.Token.DEFAULT_CHANNEL, + HIDDEN: org.antlr.runtime.Token.HIDDEN_CHANNEL, + NEXT_TOKEN_RULE_NAME: "nextToken" +}); + +org.antlr.runtime.BaseRecognizer.prototype = { + /** Reset the parser's state. Subclasses must rewinds the input stream */ + reset: function() { + var i, len; + + // wack everything related to error recovery + if (!this.state) { + return; // no shared state work to do + } + this.state._fsp = -1; + this.state.errorRecovery = false; + this.state.lastErrorIndex = -1; + this.state.failed = false; + this.state.syntaxErrors = 0; + // wack everything related to backtracking and memoization + this.state.backtracking = 0; + // wipe cache + if (this.state.ruleMemo) { + for (i=0, len=this.state.ruleMemo.length; iTo turn off single token insertion or deletion error + * recovery, override {@link #mismatchRecover} and have it call + * plain {@link #mismatch}, which does not recover. Then any error + * in a rule will cause an exception and immediate exit from + * rule. Rule would recover by resynchronizing to the set of + * symbols that can follow rule ref.

+ * + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {Number} ttype input type to match. + * @param {org.antlr.runtime.BitSet} [follow] set of tokens that can follow the + * matched token. + * @returns {Object} the matched symbol + */ + match: function(input, ttype, follow) { + var matchedSymbol = this.getCurrentInputSymbol(input); + if ( input.LA(1)===ttype ) { + input.consume(); + this.state.errorRecovery = false; + this.state.failed = false; + return matchedSymbol; + } + if ( this.state.backtracking>0 ) { + this.state.failed = true; + return matchedSymbol; + } + matchedSymbol = this.recoverFromMismatchedToken(input, ttype, follow); + return matchedSymbol; + }, + + /** + * Match any token. + * @param {org.antlr.runtime.IntStream} input input stream to match against. + */ + matchAny: function(input) { + this.state.errorRecovery = false; + this.state.failed = false; + input.consume(); + }, + + /** + * Is the following token (LA(2)) the unwanted type (ttype)? + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {Number} ttype the undesired token type. + * @returns {Boolean} true if and only if the following token is the + * unwanted type. + */ + mismatchIsUnwantedToken: function(input, ttype) { + return input.LA(2)===ttype; + }, + + /** + * Does the stream appear to be missing a single token? + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {org.antlr.runtime.BitSet} [follow] set of tokens that can follow the + * matched token. + * @returns {Boolean} true if and only if it appears that the stream is + * missing a single token. + */ + mismatchIsMissingToken: function(input, follow) { + if ( !follow ) { + // we have no information about the follow; we can only consume + // a single token and hope for the best + return false; + } + // compute what can follow this grammar element reference + if ( follow.member(org.antlr.runtime.Token.EOR_TOKEN_TYPE) ) { + if ( this.state._fsp>=0 ) { // remove EOR if we're not the start symbol + follow.remove(org.antlr.runtime.Token.EOR_TOKEN_TYPE); + } + var viableTokensFollowingThisRule = this.computeContextSensitiveRuleFOLLOW(); + follow = follow.or(this.viableTokensFollowingThisRule); + } + // if current token is consistent with what could come after set + // then we know we're missing a token; error recovery is free to + // "insert" the missing token + + // BitSet cannot handle negative numbers like -1 (EOF) so I leave EOR + // in follow set to indicate that the fall of the start symbol is + // in the set (EOF can follow). + if ( follow.member(input.LA(1)) || + follow.member(org.antlr.runtime.Token.EOR_TOKEN_TYPE) ) + { + return true; + } + return false; + }, + + /** Factor out what to do upon token mismatch so tree parsers can behave + * differently. Override and call {@link #mismatchRecover} + * to get single token insertion and deletion. + * + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {Number} ttype input type to match. + * @param {org.antlr.runtime.BitSet} [follow] set of tokens that can follow the + * matched token. + */ + mismatch: function(input, ttype, follow) { + if ( this.mismatchIsUnwantedToken(input, ttype) ) { + throw new org.antlr.runtime.UnwantedTokenException(ttype, input); + } else if ( this.mismatchIsMissingToken(input, follow) ) { + throw new org.antlr.runtime.MissingTokenException(ttype, input, null); + } + throw new org.antlr.runtime.MismatchedTokenException(ttype, input); + }, + + /** Report a recognition problem. + * + *

This method sets errorRecovery to indicate the parser is recovering + * not parsing. Once in recovery mode, no errors are generated. + * To get out of recovery mode, the parser must successfully match + * a token (after a resync). So it will go:

+ *
    + *
  1. error occurs
  2. + *
  3. enter recovery mode, report error
  4. + *
  5. consume until token found in resynch set
  6. + *
  7. try to resume parsing
  8. + *
  9. next match() will reset errorRecovery mode
  10. + *
+ * + *

If you override, make sure to update this.state.syntaxErrors if you + * care about that.

+ * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + */ + reportError: function(e) { + // if we've already reported an error and have not matched a token + // yet successfully, don't report any errors. + if ( this.state.errorRecovery ) { + return; + } + this.state.syntaxErrors++; + this.state.errorRecovery = true; + + this.displayRecognitionError(this.getTokenNames(), e); + }, + + /** + * Assemble recognition error message. + * @param {Array} tokenNames array of token names (strings). + * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + */ + displayRecognitionError: function(tokenNames, e) { + var hdr = this.getErrorHeader(e), + msg = this.getErrorMessage(e, tokenNames); + this.emitErrorMessage(hdr+" "+msg); + }, + + /** + * Create error header message. Format is line + * lineNumber:positionInLine. + * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + * @returns {String} The error header. + */ + getErrorHeader: function(e) { + /* handle null input */ + if (!org.antlr.lang.isNumber(e.line)) { + e.line = 0; + } + return "line "+e.line+":"+e.charPositionInLine; + }, + + /** + * Override this method to change where error messages go. + * Defaults to "alert"-ing the error in browsers and "print"-ing the error + * in other environments (e.g. Rhino, SpiderMonkey). + * @param {String} msg the error message to be displayed. + */ + emitErrorMessage: function(msg) { + throw msg; + //console.log(msg); + }, + + /** What error message should be generated for the various + * exception types? + * + *

Not very object-oriented code, but I like having all error message + * generation within one method rather than spread among all of the + * exception classes. This also makes it much easier for the exception + * handling because the exception classes do not have to have pointers back + * to this object to access utility routines and so on. Also, changing + * the message for an exception type would be difficult because you + * would have to be subclassing exceptions, but then somehow get ANTLR + * to make those kinds of exception objects instead of the default.

+ * + *

For grammar debugging, you will want to override this to add + * more information such as the stack frame and no viable alts.

+ * + *

Override this to change the message generated for one or more + * exception types.

+ * + * @param {Array} tokenNames array of token names (strings). + * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + * @returns {String} the error message to be emitted. + */ + getErrorMessage: function(e, tokenNames) { + var msg = (e && e.getMessage) ? e.getMessage() : null, + mte, + tokenName; + if ( e instanceof org.antlr.runtime.UnwantedTokenException ) { + var ute = e; + tokenName=""; + if ( ute.expecting== org.antlr.runtime.Token.EOF ) { + tokenName = "EOF"; + } else { + tokenName = tokenNames[ute.expecting]; + } + msg = "extraneous input "+this.getTokenErrorDisplay(ute.getUnexpectedToken())+ + " expecting "+tokenName; + } + else if ( e instanceof org.antlr.runtime.MissingTokenException ) { + mte = e; + tokenName=""; + if ( mte.expecting== org.antlr.runtime.Token.EOF ) { + tokenName = "EOF"; + } else { + tokenName = tokenNames[mte.expecting]; + } + msg = "missing "+tokenName+" at "+this.getTokenErrorDisplay(e.token); + } + else if ( e instanceof org.antlr.runtime.MismatchedTokenException ) { + mte = e; + tokenName=""; + if ( mte.expecting== org.antlr.runtime.Token.EOF ) { + tokenName = "EOF"; + } + else { + tokenName = tokenNames[mte.expecting]; + } + msg = "mismatched input "+this.getTokenErrorDisplay(e.token)+ + " expecting "+tokenName; + } + else if ( e instanceof org.antlr.runtime.NoViableAltException ) { + msg = "no viable alternative at input "+this.getTokenErrorDisplay(e.token); + } + else if ( e instanceof org.antlr.runtime.EarlyExitException ) { + msg = "required (...)+ loop did not match anything at input "+ + this.getTokenErrorDisplay(e.token); + } + else if ( e instanceof org.antlr.runtime.MismatchedSetException ) { + msg = "mismatched input "+this.getTokenErrorDisplay(e.token)+ + " expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.MismatchedNotSetException ) { + msg = "mismatched input "+this.getTokenErrorDisplay(e.token)+ + " expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.FailedPredicateException ) { + msg = "rule "+e.ruleName+" failed predicate: {"+ + e.predicateText+"}?"; + } + return msg; + }, + + /** Get number of recognition errors (lexer, parser, tree parser). Each + * recognizer tracks its own number. So parser and lexer each have + * separate count. Does not count the spurious errors found between + * an error and next valid token match + * + * See also reportError() + */ + getNumberOfSyntaxErrors: function() { + return this.state.syntaxErrors; + }, + + /** How should a token be displayed in an error message? The default + * is to display just the text, but during development you might + * want to have a lot of information spit out. Override in that case + * to use t.toString() (which, for CommonToken, dumps everything about + * the token). This is better than forcing you to override a method in + * your token objects because you don't have to go modify your lexer + * so that it creates a new Java type. + */ + getTokenErrorDisplay: function(t) { + var s = t.getText(); + if ( !org.antlr.lang.isValue(s) ) { + if ( t.getType()==org.antlr.runtime.Token.EOF ) { + s = ""; + } + else { + s = "<"+t.getType()+">"; + } + } + s = s.replace(/\n/g,"\\n"); + s = s.replace(/\r/g,"\\r"); + s = s.replace(/\t/g,"\\t"); + return "'"+s+"'"; + }, + + /** Recover from an error found on the input stream. This is + * for NoViableAlt and mismatched symbol exceptions. If you enable + * single token insertion and deletion, this will usually not + * handle mismatched symbol exceptions but there could be a mismatched + * token that the match() routine could not recover from. + */ + recover: function(input, re) { + if ( this.state.lastErrorIndex==input.index() ) { + // uh oh, another error at same token index; must be a case + // where LT(1) is in the recovery token set so nothing is + // consumed; consume a single token so at least to prevent + // an infinite loop; this is a failsafe. + input.consume(); + } + this.state.lastErrorIndex = input.index(); + var followSet = this.computeErrorRecoverySet(); + this.beginResync(); + this.consumeUntil(input, followSet); + this.endResync(); + }, + + /** A hook to listen in on the token consumption during error recovery. + * The DebugParser subclasses this to fire events to the listenter. + */ + beginResync: function() { + }, + + endResync: function() { + }, + + /* Compute the error recovery set for the current rule. During + * rule invocation, the parser pushes the set of tokens that can + * follow that rule reference on the stack; this amounts to + * computing FIRST of what follows the rule reference in the + * enclosing rule. This local follow set only includes tokens + * from within the rule; i.e., the FIRST computation done by + * ANTLR stops at the end of a rule. + * + * EXAMPLE + * + * When you find a "no viable alt exception", the input is not + * consistent with any of the alternatives for rule r. The best + * thing to do is to consume tokens until you see something that + * can legally follow a call to r *or* any rule that called r. + * You don't want the exact set of viable next tokens because the + * input might just be missing a token--you might consume the + * rest of the input looking for one of the missing tokens. + * + * Consider grammar: + * + * a : '[' b ']' + * | '(' b ')' + * ; + * b : c '^' INT ; + * c : ID + * | INT + * ; + * + * At each rule invocation, the set of tokens that could follow + * that rule is pushed on a stack. Here are the various "local" + * follow sets: + * + * FOLLOW(b1_in_a) = FIRST(']') = ']' + * FOLLOW(b2_in_a) = FIRST(')') = ')' + * FOLLOW(c_in_b) = FIRST('^') = '^' + * + * Upon erroneous input "[]", the call chain is + * + * a -> b -> c + * + * and, hence, the follow context stack is: + * + * depth local follow set after call to rule + * 0 a (from main()) + * 1 ']' b + * 3 '^' c + * + * Notice that ')' is not included, because b would have to have + * been called from a different context in rule a for ')' to be + * included. + * + * For error recovery, we cannot consider FOLLOW(c) + * (context-sensitive or otherwise). We need the combined set of + * all context-sensitive FOLLOW sets--the set of all tokens that + * could follow any reference in the call chain. We need to + * resync to one of those tokens. Note that FOLLOW(c)='^' and if + * we resync'd to that token, we'd consume until EOF. We need to + * sync to context-sensitive FOLLOWs for a, b, and c: {']','^'}. + * In this case, for input "[]", LA(1) is in this set so we would + * not consume anything and after printing an error rule c would + * return normally. It would not find the required '^' though. + * At this point, it gets a mismatched token error and throws an + * exception (since LA(1) is not in the viable following token + * set). The rule exception handler tries to recover, but finds + * the same recovery set and doesn't consume anything. Rule b + * exits normally returning to rule a. Now it finds the ']' (and + * with the successful match exits errorRecovery mode). + * + * So, you cna see that the parser walks up call chain looking + * for the token that was a member of the recovery set. + * + * Errors are not generated in errorRecovery mode. + * + * ANTLR's error recovery mechanism is based upon original ideas: + * + * "Algorithms + Data Structures = Programs" by Niklaus Wirth + * + * and + * + * "A note on error recovery in recursive descent parsers": + * http://portal.acm.org/citation.cfm?id=947902.947905 + * + * Later, Josef Grosch had some good ideas: + * + * "Efficient and Comfortable Error Recovery in Recursive Descent + * Parsers": + * ftp://www.cocolab.com/products/cocktail/doca4.ps/ell.ps.zip + * + * Like Grosch I implemented local FOLLOW sets that are combined + * at run-time upon error to avoid overhead during parsing. + */ + computeErrorRecoverySet: function() { + return this.combineFollows(false); + }, + + + /** Compute the context-sensitive FOLLOW set for current rule. + * This is set of token types that can follow a specific rule + * reference given a specific call chain. You get the set of + * viable tokens that can possibly come next (lookahead depth 1) + * given the current call chain. Contrast this with the + * definition of plain FOLLOW for rule r: + * + * FOLLOW(r)={x | S=>*alpha r beta in G and x in FIRST(beta)} + * + * where x in T* and alpha, beta in V*; T is set of terminals and + * V is the set of terminals and nonterminals. In other words, + * FOLLOW(r) is the set of all tokens that can possibly follow + * references to r in *any* sentential form (context). At + * runtime, however, we know precisely which context applies as + * we have the call chain. We may compute the exact (rather + * than covering superset) set of following tokens. + * + * For example, consider grammar: + * + * stat : ID '=' expr ';' // FOLLOW(stat)=={EOF} + * | "return" expr '.' + * ; + * expr : atom ('+' atom)* ; // FOLLOW(expr)=={';','.',')'} + * atom : INT // FOLLOW(atom)=={'+',')',';','.'} + * | '(' expr ')' + * ; + * + * The FOLLOW sets are all inclusive whereas context-sensitive + * FOLLOW sets are precisely what could follow a rule reference. + * For input input "i=(3);", here is the derivation: + * + * stat => ID '=' expr ';' + * => ID '=' atom ('+' atom)* ';' + * => ID '=' '(' expr ')' ('+' atom)* ';' + * => ID '=' '(' atom ')' ('+' atom)* ';' + * => ID '=' '(' INT ')' ('+' atom)* ';' + * => ID '=' '(' INT ')' ';' + * + * At the "3" token, you'd have a call chain of + * + * stat -> expr -> atom -> expr -> atom + * + * What can follow that specific nested ref to atom? Exactly ')' + * as you can see by looking at the derivation of this specific + * input. Contrast this with the FOLLOW(atom)={'+',')',';','.'}. + * + * You want the exact viable token set when recovering from a + * token mismatch. Upon token mismatch, if LA(1) is member of + * the viable next token set, then you know there is most likely + * a missing token in the input stream. "Insert" one by just not + * throwing an exception. + */ + computeContextSensitiveRuleFOLLOW: function() { + return this.combineFollows(true); + }, + + combineFollows: function(exact) { + var top = this.state._fsp, + i, + localFollowSet, + followSet = new org.antlr.runtime.BitSet(); + for (i=top; i>=0; i--) { + localFollowSet = this.state.following[i]; + followSet.orInPlace(localFollowSet); + if ( exact ) { + // can we see end of rule? + if ( localFollowSet.member(org.antlr.runtime.Token.EOR_TOKEN_TYPE) ) + { + // Only leave EOR in set if at top (start rule); this lets + // us know if have to include follow(start rule); i.e., EOF + if ( i>0 ) { + followSet.remove(org.antlr.runtime.Token.EOR_TOKEN_TYPE); + } + } + else { // can't see end of rule, quit + break; + } + } + } + return followSet; + }, + + /** Attempt to recover from a single missing or extra token. + * + * EXTRA TOKEN + * + * LA(1) is not what we are looking for. If LA(2) has the right token, + * however, then assume LA(1) is some extra spurious token. Delete it + * and LA(2) as if we were doing a normal match(), which advances the + * input. + * + * MISSING TOKEN + * + * If current token is consistent with what could come after + * ttype then it is ok to "insert" the missing token, else throw + * exception For example, Input "i=(3;" is clearly missing the + * ')'. When the parser returns from the nested call to expr, it + * will have call chain: + * + * stat -> expr -> atom + * + * and it will be trying to match the ')' at this point in the + * derivation: + * + * => ID '=' '(' INT ')' ('+' atom)* ';' + * ^ + * match() will see that ';' doesn't match ')' and report a + * mismatched token error. To recover, it sees that LA(1)==';' + * is in the set of tokens that can follow the ')' token + * reference in rule atom. It can assume that you forgot the ')'. + */ + recoverFromMismatchedToken: function(input, + ttype, + follow) + { + var e = null; + // if next token is what we are looking for then "delete" this token + if ( this.mismatchIsUnwantedToken(input, ttype) ) { + e = new org.antlr.runtime.UnwantedTokenException(ttype, input); + this.beginResync(); + input.consume(); // simply delete extra token + this.endResync(); + this.reportError(e); // report after consuming so AW sees the token in the exception + // we want to return the token we're actually matching + var matchedSymbol = this.getCurrentInputSymbol(input); + input.consume(); // move past ttype token as if all were ok + return matchedSymbol; + } + // can't recover with single token deletion, try insertion + if ( this.mismatchIsMissingToken(input, follow) ) { + var inserted = this.getMissingSymbol(input, e, ttype, follow); + e = new org.antlr.runtime.MissingTokenException(ttype, input, inserted); + this.reportError(e); // report after inserting so AW sees the token in the exception + return inserted; + } + // even that didn't work; must throw the exception + e = new org.antlr.runtime.MismatchedTokenException(ttype, input); + throw e; + }, + + recoverFromMismatchedSet: function(input, + e, + follow) + { + if ( this.mismatchIsMissingToken(input, follow) ) { + // System.out.println("missing token"); + this.reportError(e); + // we don't know how to conjure up a token for sets yet + return this.getMissingSymbol(input, e, org.antlr.runtime.Token.INVALID_TOKEN_TYPE, follow); + } + throw e; + }, + + /** Match needs to return the current input symbol, which gets put + * into the label for the associated token ref; e.g., x=ID. Token + * and tree parsers need to return different objects. Rather than test + * for input stream type or change the IntStream interface, I use + * a simple method to ask the recognizer to tell me what the current + * input symbol is. + * + * This is ignored for lexers. + */ + getCurrentInputSymbol: function(input) { return null; }, + + /** Conjure up a missing token during error recovery. + * + * The recognizer attempts to recover from single missing + * symbols. But, actions might refer to that missing symbol. + * For example, x=ID {f($x);}. The action clearly assumes + * that there has been an identifier matched previously and that + * $x points at that token. If that token is missing, but + * the next token in the stream is what we want we assume that + * this token is missing and we keep going. Because we + * have to return some token to replace the missing token, + * we have to conjure one up. This method gives the user control + * over the tokens returned for missing tokens. Mostly, + * you will want to create something special for identifier + * tokens. For literals such as '{' and ',', the default + * action in the parser or tree parser works. It simply creates + * a CommonToken of the appropriate type. The text will be the token. + * If you change what tokens must be created by the lexer, + * override this method to create the appropriate tokens. + */ + getMissingSymbol: function(input, + e, + expectedTokenType, + follow) + { + return null; + }, + + + /** Consume tokens until one matches the given token set */ + consumeUntil: function(input, set) { + var ttype = input.LA(1); + while (ttype != org.antlr.runtime.Token.EOF && !set.member(ttype) ) { + input.consume(); + ttype = input.LA(1); + } + }, + + /** Push a rule's follow set using our own hardcoded stack */ + pushFollow: function(fset) { + if ( (this.state._fsp +1)>=this.state.following.length ) { + var f = []; + var i; + for (i=this.state.following.length-1; i>=0; i--) { + f[i] = this.state.following[i]; + } + this.state.following = f; + } + this.state._fsp++; + this.state.following[this.state._fsp] = fset; + }, + + /** Return List of the rules in your parser instance + * leading up to a call to this method. You could override if + * you want more details such as the file/line info of where + * in the parser java code a rule is invoked. + * + * This is very useful for error messages and for context-sensitive + * error recovery. + * + * A more general version of getRuleInvocationStack where you can + * pass in, for example, a RecognitionException to get it's rule + * stack trace. This routine is shared with all recognizers, hence, + * static. + * + * TODO: move to a utility class or something; weird having lexer call this + * + * Most JS interpreters can't do real stack reflection. See this + * spidermonkey bug, for example: + * https://bugzilla.mozilla.org/show_bug.cgi?id=332104 + * + * JS is supposed to get real stack traces in v4, at which time it would + * be easy to implement this function. + * + * Until then I'll leave this unimplemented. If there is enough clamor + * it would be possible to keep track of the invocation stack using an + * auxillary array, but that will definitely be a performance hit. + */ + getRuleInvocationStack: function(e, recognizerClassName) + { + throw new Error("Not implemented."); + }, + + getBacktrackingLevel: function() { + return this.state.backtracking; + }, + + /** Used to print out token names like ID during debugging and + * error reporting. The generated parsers implement a method + * that overrides this to point to their String[] tokenNames. + */ + getTokenNames: function() { + return null; + }, + + /** For debugging and other purposes, might want the grammar name. + * Have ANTLR generate an implementation for this method. + */ + getGrammarFileName: function() { + return null; + }, + + /** A convenience method for use most often with template rewrites. + * Convert a List to List + */ + toStrings: function(tokens) { + if ( !tokens ) { + return null; + } + var strings = []; + var i; + for (i=0; i= this.state.ruleMemo.length ) { + throw new Error("!!!!!!!!! memo size is "+this.state.ruleMemo.length+", but rule index is "+ruleIndex); + } + if ( org.antlr.lang.isValue(this.state.ruleMemo[ruleIndex]) ) { + this.state.ruleMemo[ruleIndex][ruleStartIndex] = stopTokenIndex; + } + }, + + /** return how many rule/input-index pairs there are in total. + * TODO: this includes synpreds. + */ + getRuleMemoizationCacheSize: function() { + var n = 0, i; + for (i = 0; this.state.ruleMemo && i < this.state.ruleMemo.length; i++) { + var ruleMap = this.state.ruleMemo[i]; + if ( ruleMap ) { + // @todo need to get size of rulemap? + n += ruleMap.length; // how many input indexes are recorded? + } + } + return n; + }, + + traceIn: function(ruleName, ruleIndex, inputSymbol) { + this.emitErrorMessage("enter "+ruleName+" "+inputSymbol); + if ( this.state.failed ) { + this.emitErrorMessage(" failed="+this.failed); + } + if ( this.state.backtracking>0 ) { + this.emitErrorMessage(" backtracking="+this.state.backtracking); + } + // System.out.println(); + }, + + traceOut: function(ruleName, ruleIndex, inputSymbol) { + this.emitErrorMessage("exit "+ruleName+" "+inputSymbol); + if ( this.state.failed ) { + this.emitErrorMessage(" failed="+this.state.failed); + } + if ( this.state.backtracking>0 ) { + this.emitErrorMessage(" backtracking="+this.state.backtracking); + } + } +}; +/** A lexer is recognizer that draws input symbols from a character stream. + * lexer grammars result in a subclass of this object. A Lexer object + * uses simplified match() and error recovery mechanisms in the interest + * of speed. + */ +org.antlr.runtime.Lexer = function(input, state) { + if (state) { + org.antlr.runtime.Lexer.superclass.constructor.call(this, state); + } + if (input) { + this.input = input; + } +}; + +org.antlr.lang.extend(org.antlr.runtime.Lexer, org.antlr.runtime.BaseRecognizer, { + reset: function() { + // reset all recognizer state variables + org.antlr.runtime.Lexer.superclass.reset.call(this); + if ( org.antlr.lang.isValue(this.input) ) { + this.input.seek(0); // rewind the input + } + if ( !org.antlr.lang.isValue(this.state) ) { + return; // no shared state work to do + } + this.state.token = null; + this.state.type = org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + this.state.channel = org.antlr.runtime.Token.DEFAULT_CHANNEL; + this.state.tokenStartCharIndex = -1; + this.state.tokenStartCharPositionInLine = -1; + this.state.tokenStartLine = -1; + this.state.text = null; + }, + + /** Return a token from this source; i.e., match a token on the char + * stream. + */ + nextToken: function() { + while (true) { + this.state.token = null; + this.state.channel = org.antlr.runtime.Token.DEFAULT_CHANNEL; + this.state.tokenStartCharIndex = this.input.index(); + this.state.tokenStartCharPositionInLine = this.input.getCharPositionInLine(); + this.state.tokenStartLine = this.input.getLine(); + this.state.text = null; + if ( this.input.LA(1)===org.antlr.runtime.CharStream.EOF ) { + return org.antlr.runtime.Token.EOF_TOKEN; + } + try { + this.mTokens(); + if ( !org.antlr.lang.isValue(this.state.token) ) { + this.emit(); + } + else if ( this.state.token==org.antlr.runtime.Token.SKIP_TOKEN ) { + continue; + } + return this.state.token; + } + catch (re) { + if ( re instanceof org.antlr.runtime.RecognitionException ) { + this.reportError(re); + } else if (re instanceof org.antlr.runtime.NoViableAltException) { + this.reportError(re); + this.recover(re); + } else { + throw re; + } + } + } + }, + + /** Instruct the lexer to skip creating a token for current lexer rule + * and look for another token. nextToken() knows to keep looking when + * a lexer rule finishes with token set to SKIP_TOKEN. Recall that + * if token==null at end of any token rule, it creates one for you + * and emits it. + */ + skip: function() { + this.state.token = org.antlr.runtime.Token.SKIP_TOKEN; + }, + + /** Set the char stream and reset the lexer */ + setCharStream: function(input) { + this.input = null; + this.reset(); + this.input = input; + }, + + getCharStream: function() { + return this.input; + }, + + getSourceName: function() { + return this.input.getSourceName(); + }, + + /** Currently does not support multiple emits per nextToken invocation + * for efficiency reasons. Subclass and override this method and + * nextToken (to push tokens into a list and pull from that list rather + * than a single variable as this implementation does). + * + * The standard method called to automatically emit a token at the + * outermost lexical rule. The token object should point into the + * char buffer start..stop. If there is a text override in 'text', + * use that to set the token's text. Override this method to emit + * custom Token objects. + * + * If you are building trees, then you should also override + * Parser or TreeParser.getMissingSymbol(). + */ + emit: function() { + if (arguments.length===0) { + var t = new org.antlr.runtime.CommonToken(this.input, this.state.type, this.state.channel, this.state.tokenStartCharIndex, this.getCharIndex()-1); + t.setLine(this.state.tokenStartLine); + t.setText(this.state.text); + t.setCharPositionInLine(this.state.tokenStartCharPositionInLine); + this.state.token = t; + return t; + } else { + this.state.token = arguments[0]; + } + }, + + match: function(s) { + var i = 0, + mte; + + if (org.antlr.lang.isString(s)) { + while ( i0 ) { + this.state.failed = true; + return; + } + mte = new org.antlr.runtime.MismatchedTokenException(s.charAt(i), this.input); + this.recover(mte); + throw mte; + } + i++; + this.input.consume(); + this.state.failed = false; + } + } else if (org.antlr.lang.isNumber(s)) { + if ( this.input.LA(1)!=s ) { + if ( this.state.backtracking>0 ) { + this.state.failed = true; + return; + } + mte = new org.antlr.runtime.MismatchedTokenException(s, this.input); + this.recover(mte); + throw mte; + } + this.input.consume(); + this.state.failed = false; + } + }, + + matchAny: function() { + this.input.consume(); + }, + + matchRange: function(a, b) { + if ( this.input.LA(1)b ) { + if ( this.state.backtracking>0 ) { + this.state.failed = true; + return; + } + mre = new org.antlr.runtime.MismatchedRangeException(a,b,this.input); + this.recover(mre); + throw mre; + } + this.input.consume(); + this.state.failed = false; + }, + + getLine: function() { + return this.input.getLine(); + }, + + getCharPositionInLine: function() { + return this.input.getCharPositionInLine(); + }, + + /** What is the index of the current character of lookahead? */ + getCharIndex: function() { + return this.input.index(); + }, + + /** Return the text matched so far for the current token or any + * text override. + */ + getText: function() { + if ( org.antlr.lang.isString(this.state.text) ) { + return this.state.text; + } + return this.input.substring(this.state.tokenStartCharIndex,this.getCharIndex()-1); + }, + + /** Set the complete text of this token; it wipes any previous + * changes to the text. + */ + setText: function(text) { + this.state.text = text; + }, + + reportError: function(e) { + /** TODO: not thought about recovery in lexer yet. + * + // if we've already reported an error and have not matched a token + // yet successfully, don't report any errors. + if ( errorRecovery ) { + //System.err.print("[SPURIOUS] "); + return; + } + errorRecovery = true; + */ + + this.displayRecognitionError(this.getTokenNames(), e); + }, + + getErrorMessage: function(e, tokenNames) { + var msg = null; + if ( e instanceof org.antlr.runtime.MismatchedTokenException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting "+this.getCharErrorDisplay(e.expecting); + } + else if ( e instanceof org.antlr.runtime.NoViableAltException ) { + msg = "no viable alternative at character "+this.getCharErrorDisplay(e.c); + } + else if ( e instanceof org.antlr.runtime.EarlyExitException ) { + msg = "required (...)+ loop did not match anything at character "+this.getCharErrorDisplay(e.c); + } + else if ( e instanceof org.antlr.runtime.MismatchedNotSetException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.MismatchedSetException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.MismatchedRangeException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting set "+ + this.getCharErrorDisplay(e.a)+".."+this.getCharErrorDisplay(e.b); + } + else { + msg = org.antlr.runtime.Lexer.superclass.getErrorMessage.call(this, e, tokenNames); + } + return msg; + }, + + getCharErrorDisplay: function(c) { + var s = c; //String.fromCharCode(c); + switch ( s ) { + case org.antlr.runtime.Token.EOF : + s = ""; + break; + case "\n" : + s = "\\n"; + break; + case "\t" : + s = "\\t"; + break; + case "\r" : + s = "\\r"; + break; + } + return "'"+s+"'"; + }, + + /** Lexers can normally match any char in it's vocabulary after matching + * a token, so do the easy thing and just kill a character and hope + * it all works out. You can instead use the rule invocation stack + * to do sophisticated error recovery if you are in a fragment rule. + */ + recover: function(re) { + this.input.consume(); + }, + + traceIn: function(ruleName, ruleIndex) { + var inputSymbol = String.fromCharCode(this.input.LT(1))+" line="+this.getLine()+":"+this.getCharPositionInLine(); + org.antlr.runtime.Lexer.superclass.traceIn.call(this, ruleName, ruleIndex, inputSymbol); + }, + + traceOut: function(ruleName, ruleIndex) { + var inputSymbol = String.fromCharCode(this.input.LT(1))+" line="+this.getLine()+":"+this.getCharPositionInLine(); + org.antlr.runtime.Lexer.superclass.traceOut.call(this, ruleName, ruleIndex, inputSymbol); + } +}); +/** Rules that return more than a single value must return an object + * containing all the values. Besides the properties defined in + * RuleLabelScope.predefinedRulePropertiesScope there may be user-defined + * return values. This class simply defines the minimum properties that + * are always defined and methods to access the others that might be + * available depending on output option such as template and tree. + * + * Note text is not an actual property of the return value, it is computed + * from start and stop using the input stream's toString() method. I + * could add a ctor to this so that we can pass in and store the input + * stream, but I'm not sure we want to do that. It would seem to be undefined + * to get the .text property anyway if the rule matches tokens from multiple + * input streams. + * + * I do not use getters for fields of objects that are used simply to + * group values such as this aggregate. The getters/setters are there to + * satisfy the superclass interface. + */ +org.antlr.runtime.ParserRuleReturnScope = function() {}; + +org.antlr.runtime.ParserRuleReturnScope.prototype = { + getStart: function() { return this.start; }, + getStop: function() { return this.stop; } +}; +/** This is identical to the ParserRuleReturnScope except that + * the start property is a tree nodes not Token object + * when you are parsing trees. To be generic the tree node types + * have to be Object. + */ +org.antlr.runtime.tree.TreeRuleReturnScope = function(){}; + +org.antlr.runtime.tree.TreeRuleReturnScope.prototype = { + getStart: function() { return this.start; } +}; +/** A parser for TokenStreams. "parser grammars" result in a subclass + * of this. + */ +org.antlr.runtime.Parser = function(input, state) { + org.antlr.runtime.Parser.superclass.constructor.call(this, state); + this.setTokenStream(input); +}; + +org.antlr.lang.extend(org.antlr.runtime.Parser, org.antlr.runtime.BaseRecognizer, { + reset: function() { + // reset all recognizer state variables + org.antlr.runtime.Parser.superclass.reset.call(this); + if ( org.antlr.lang.isValue(this.input) ) { + this.input.seek(0); // rewind the input + } + }, + + getCurrentInputSymbol: function(input) { + return input.LT(1); + }, + + getMissingSymbol: function(input, + e, + expectedTokenType, + follow) + { + var tokenText = + ""; + var t = new org.antlr.runtime.CommonToken(expectedTokenType, tokenText); + var current = input.LT(1); + var old_current; + if ( current.getType() === org.antlr.runtime.Token.EOF ) { + old_current = current; + current = input.LT(-1); + // handle edge case where there are no good tokens in the stream + if (!current) { + current = old_current; + } + } + t.line = current.getLine(); + t.charPositionInLine = current.getCharPositionInLine(); + t.channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + return t; + }, + + + /** Set the token stream and reset the parser */ + setTokenStream: function(input) { + this.input = null; + this.reset(); + this.input = input; + }, + + getTokenStream: function() { + return this.input; + }, + + getSourceName: function() { + return this.input.getSourceName(); + }, + + traceIn: function(ruleName, ruleIndex) { + org.antlr.runtime.Parser.superclass.traceIn.call( + this, ruleName, ruleIndex, this.input.LT(1)); + }, + + traceOut: function(ruleName, ruleIndex) { + org.antlr.runtime.Parser.superclass.traceOut.call( + this, ruleName, ruleIndex, this.input.LT(1)); + } +}); +/** A DFA implemented as a set of transition tables. + * + * Any state that has a semantic predicate edge is special; those states + * are generated with if-then-else structures in a specialStateTransition() + * which is generated by cyclicDFA template. + * + * There are at most 32767 states (16-bit signed short). + * Could get away with byte sometimes but would have to generate different + * types and the simulation code too. For a point of reference, the Java + * lexer's Tokens rule DFA has 326 states roughly. + */ +org.antlr.runtime.DFA = function() {}; + +org.antlr.runtime.DFA.prototype = { + /** From the input stream, predict what alternative will succeed + * using this DFA (representing the covering regular approximation + * to the underlying CFL). Return an alternative number 1..n. Throw + * an exception upon error. + */ + predict: function(input) { + var mark = input.mark(), // remember where decision started in input + s = 0, // we always start at s0 + specialState, + c, + snext; + + try { + while ( true ) { + specialState = this.special[s]; + if ( specialState>=0 ) { + s = this.specialStateTransition(specialState,input); + if (s===-1) { + this.noViableAlt(s, input); + return 0; + } + input.consume(); + continue; + } + if ( this.accept[s] >= 1 ) { + return this.accept[s]; + } + // look for a normal char transition + c = input.LA(1); // -1 == \uFFFF, all tokens fit in 65000 space + + if (c===org.antlr.runtime.Token.EOF) { + c = -1; + } else if (org.antlr.lang.isString(c)) { + c = c.charCodeAt(0); + } + + if (c>=this.min[s] && c<=this.max[s]) { + snext = this.transition[s][c-this.min[s]]; // move to next state + if ( snext < 0 ) { + // was in range but not a normal transition + // must check EOT, which is like the else clause. + // eot[s]>=0 indicates that an EOT edge goes to another + // state. + if ( this.eot[s]>=0 ) { // EOT Transition to accept state? + s = this.eot[s]; + input.consume(); + // TODO: I had this as return accept[eot[s]] + // which assumed here that the EOT edge always + // went to an accept...faster to do this, but + // what about predicated edges coming from EOT + // target? + continue; + } + this.noViableAlt(s,input); + return 0; + } + s = snext; + input.consume(); + continue; + } + if ( this.eot[s]>=0 ) { // EOT Transition? + s = this.eot[s]; + input.consume(); + continue; + } + if ( c==org.antlr.runtime.Token.EOF && this.eof[s]>=0 ) { // EOF Transition to accept state? + return this.accept[this.eof[s]]; + } + // not in range and not EOF/EOT, must be invalid symbol + this.noViableAlt(s,input); + return 0; + } + } + finally { + input.rewind(mark); + } + }, + + noViableAlt: function(s, input) { + if (this.recognizer.state.backtracking>0) { + this.recognizer.state.failed=true; + return; + } + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), + this.decisionNumber, + s, + input); + this.error(nvae); + throw nvae; + }, + + /** A hook for debugging interface */ + error: function(nvae) { }, + + specialStateTransition: function(s, input) { + return -1; + }, + + getDescription: function() { + return "n/a"; + } +}; + +org.antlr.lang.augmentObject(org.antlr.runtime.DFA, { + /** Given a String that has a run-length-encoding of some unsigned shorts + * like "\1\2\3\9", convert to short[] {2,9,9,9}. + */ + unpackEncodedString: function(encodedString) { + // walk first to find how big it is. + var i, + data = [], + di = 0, + n, + v, + j; + for (i=0; i"; + return new org.antlr.runtime.tree.CommonTree(new org.antlr.runtime.CommonToken(expectedTokenType, tokenText)); + }, + + /** Match '.' in tree parser has special meaning. Skip node or + * entire tree if node has children. If children, scan until + * corresponding UP node. + */ + matchAny: function(ignore) { // ignore stream, copy of this.input + this.state.errorRecovery = false; + this.state.failed = false; + var look = this.input.LT(1); + if ( this.input.getTreeAdaptor().getChildCount(look)===0 ) { + this.input.consume(); // not subtree, consume 1 node and return + return; + } + // current node is a subtree, skip to corresponding UP. + // must count nesting level to get right UP + var level=0, + tokenType = this.input.getTreeAdaptor().getType(look); + while ( tokenType!==org.antlr.runtime.Token.EOF && + !(tokenType===TP.UP && level===0) ) + { + this.input.consume(); + look = this.input.LT(1); + tokenType = this.input.getTreeAdaptor().getType(look); + if ( tokenType === TP.DOWN ) { + level++; + } + else if ( tokenType === TP.UP ) { + level--; + } + } + this.input.consume(); // consume UP + }, + + /** We have DOWN/UP nodes in the stream that have no line info; override. + * plus we want to alter the exception type. Don't try to recover + * * from tree parser errors inline... + */ + mismatch: function(input, ttype, follow) { + throw new org.antlr.runtime.MismatchedTreeNodeException(ttype, input); + }, + + /** Prefix error message with the grammar name because message is + * always intended for the programmer because the parser built + * the input tree not the user. + */ + getErrorHeader: function(e) { + return this.getGrammarFileName()+": node from "+ + (e.approximateLineInfo?"after ":"")+"line "+e.line+":"+e.charPositionInLine; + }, + + /** Tree parsers parse nodes they usually have a token object as + * payload. Set the exception token and do the default behavior. + */ + getErrorMessage: function(e, tokenNames) { + var adaptor; + if ( this instanceof TP ) { + adaptor = e.input.getTreeAdaptor(); + e.token = adaptor.getToken(e.node); + if ( !org.antlr.lang.isValue(e.token) ) { // could be an UP/DOWN node + e.token = new org.antlr.runtime.CommonToken( + adaptor.getType(e.node), + adaptor.getText(e.node)); + } + } + return TP.superclass.getErrorMessage.call(this, e, tokenNames); + }, + + traceIn: function(ruleName, ruleIndex) { + TP.superclass.traceIn.call(this, ruleName, ruleIndex, this.input.LT(1)); + }, + + traceOut: function(ruleName, ruleIndex) { + TP.superclass.traceOut.call(this, ruleName, ruleIndex, this.input.LT(1)); + } +}); + +})(); + +exports.org = org; + +}); diff --git a/lib/ace/mode/xquery/xquery.js b/lib/ace/mode/xquery/xquery.js new file mode 100644 index 00000000..b3b91e25 --- /dev/null +++ b/lib/ace/mode/xquery/xquery.js @@ -0,0 +1,51 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * William Candillon + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + + var org = require("./antlr3-all").org; + var XQueryLexer = require("./XQueryLexer").XQueryLexer; + var XQueryParser = require("./XQueryParser").XQueryParser; + + exports.parse = function(code) { + var cstream = new org.antlr.runtime.ANTLRStringStream(code); + var lexer = new XQueryLexer(cstream); + var tstream = new org.antlr.runtime.CommonTokenStream(lexer); + var parser = new XQueryParser(tstream); + parser.p_Module(); + }; +}); diff --git a/lib/ace/mode/xquery_worker.js b/lib/ace/mode/xquery_worker.js new file mode 100644 index 00000000..3fda128d --- /dev/null +++ b/lib/ace/mode/xquery_worker.js @@ -0,0 +1,100 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * William Candillon + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var Mirror = require("../worker/mirror").Mirror; +var xquery = require("../mode/xquery/xquery"); + +window.addEventListener = function() {}; + + +var XQueryWorker = exports.XQueryWorker = function(sender) { + Mirror.call(this, sender); + this.setTimeout(200); +}; + +oop.inherits(XQueryWorker, Mirror); + +(function() { + + this.onUpdate = function() { + var value = this.doc.getValue(); + + try { + xquery.parse(value); + } catch(e) { + console.log(e); + var m = e.match(/line (\d+):\-?(\d+) (.*)/); + + if (m) { + var line = parseInt(m[1]) - 1; + line = line <= 0 ? 0 : line; + var col = parseInt(m[2]); + console.log("Row: " + line); + console.log("Col: " + col); + this.sender.emit("error", { + row: line, + column: col, + text: m[3], + type: "error" + }); + return; + } + /* + if (e instanceof SyntaxError) { + var m = e.message.match(/ on line (\d+)/); + if (m) { + this.sender.emit("error", { + row: parseInt(m[1]) - 1, + column: null, + text: e.message.replace(m[0], ""), + type: "error" + }); + } + } + */ + return; + } + this.sender.emit("ok"); + }; + +}).call(XQueryWorker.prototype); + +}); From ae085ef410fd35a057eb7fd1cfbf672a96416820 Mon Sep 17 00:00:00 2001 From: William Candillon Date: Mon, 2 Apr 2012 10:44:38 +0200 Subject: [PATCH 2/3] Add missing build files. --- .../kitchen-sink/mode-xquery-uncompressed.js | 721 + build/demo/kitchen-sink/worker-xquery.js | 48847 ++++++++++++++++ build/kitchen-sink.html | 222 + build/src/worker-xquery.js | 48847 ++++++++++++++++ 4 files changed, 98637 insertions(+) create mode 100644 build/demo/kitchen-sink/mode-xquery-uncompressed.js create mode 100644 build/demo/kitchen-sink/worker-xquery.js create mode 100644 build/kitchen-sink.html create mode 100644 build/src/worker-xquery.js diff --git a/build/demo/kitchen-sink/mode-xquery-uncompressed.js b/build/demo/kitchen-sink/mode-xquery-uncompressed.js new file mode 100644 index 00000000..9d7bbc12 --- /dev/null +++ b/build/demo/kitchen-sink/mode-xquery-uncompressed.js @@ -0,0 +1,721 @@ +/* + * eXide - web-based XQuery IDE + * + * Copyright (C) 2011 Wolfgang Meier + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) { +"use strict"; + +var WorkerClient = require("../worker/worker_client").WorkerClient; +var oop = require("../lib/oop"); +var TextMode = require("./text").Mode; +var Tokenizer = require("../tokenizer").Tokenizer; +var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules; +var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour; +var Range = require("../range").Range; + +var Mode = function(parent) { + this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules()); + this.$behaviour = new XQueryBehaviour(parent); +}; + +oop.inherits(Mode, TextMode); + +(function() { + + this.getNextLineIndent = function(state, line, tab) { + var indent = this.$getIndent(line); + var match = line.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/); + if (match) + indent += tab; + return indent; + }; + + this.checkOutdent = function(state, line, input) { + if (! /^\s+$/.test(line)) + return false; + + return /^\s*[\}\)]/.test(input); + }; + + this.autoOutdent = function(state, doc, row) { + var line = doc.getLine(row); + var match = line.match(/^(\s*[\}\)])/); + + if (!match) return 0; + + var column = match[1].length; + var openBracePos = doc.findMatchingBracket({row: row, column: column}); + + if (!openBracePos || openBracePos.row == row) return 0; + + var indent = this.$getIndent(doc.getLine(openBracePos.row)); + doc.replace(new Range(row, 0, row, column-1), indent); + }; + + this.$getIndent = function(line) { + var match = line.match(/^(\s+)/); + if (match) { + return match[1]; + } + + return ""; + }; + + this.toggleCommentLines = function(state, doc, startRow, endRow) { + var i, line; + var outdent = true; + var re = /^\s*\(:(.*):\)/; + + for (i=startRow; i<= endRow; i++) { + if (!re.test(doc.getLine(i))) { + outdent = false; + break; + } + } + + var range = new Range(0, 0, 0, 0); + for (i=startRow; i<= endRow; i++) { + line = doc.getLine(i); + range.start.row = i; + range.end.row = i; + range.end.column = line.length; + + doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)"); + } + }; + + this.createWorker = function(session) { + var worker = new WorkerClient(["ace"], "worker-xquery.js", "ace/mode/xquery_worker", "XQueryWorker"); + worker.attachToDocument(session.getDocument()); + + worker.on("error", function(e) { + session.setAnnotations([e.data]); + }); + + worker.on("ok", function(e) { + session.clearAnnotations(); + }); + + return worker; + }; + +}).call(Mode.prototype); + +exports.Mode = Mode; +}); +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/worker/worker_client', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/config'], function(require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var EventEmitter = require("../lib/event_emitter").EventEmitter; +var config = require("../config"); + +var WorkerClient = function(topLevelNamespaces, packagedJs, mod, classname) { + + this.changeListener = this.changeListener.bind(this); + + if (config.get("packaged")) { + this.$worker = new Worker(config.get("workerPath") + "/" + packagedJs); + } + else { + var workerUrl = this.$normalizePath(require.nameToUrl("ace/worker/worker", null, "_")); + this.$worker = new Worker(workerUrl); + + var tlns = {}; + for (var i=0; i. + */ +define('ace/mode/xquery_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var lang = require("../lib/lang"); +var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; + +var XQueryHighlightRules = function() { + + var keywords = lang.arrayToMap( + ("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|" + + "switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|" + + "using|stemming|" + + "while|" + + "external|" + + "if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains").split("|") + ); + + // regexp must not have capturing parentheses + // regexps are ordered -> the first match is used + + this.$rules = { + start : [ { + token : "text", + regex : "<\\!\\[CDATA\\[", + next : "cdata" + }, { + token : "xml_pe", + regex : "<\\?.*?\\?>" + }, { + token : "comment", + regex : "<\\!--", + next : "comment" + }, { + token : "comment", + regex : "\\(:", + next : "comment" + }, { + token : "text", // opening tag + regex : "<\\/?", + next : "tag" + }, { + token : "constant", // number + regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" + }, { + token : "variable", // variable + regex : "\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b" + }, { + token: "string", + regex : '".*?"' + }, { + token: "string", + regex : "'.*?'" + }, { + token : "text", + regex : "\\s+" + }, { + token: "support.function", + regex: "\\w[\\w+_\\-:]+(?=\\()" + }, { + token : function(value) { + if (keywords[value]) + return "keyword"; + else + return "identifier"; + }, + regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" + }, { + token: "keyword.operator", + regex: "\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt" + }, { + token: "lparen", + regex: "[[({]" + }, { + token: "rparen", + regex: "[\\])}]" + } ], + + tag : [ { + token : "text", + regex : ">", + next : "start" + }, { + token : "meta.tag", + regex : "[-_a-zA-Z0-9:]+" + }, { + token : "text", + regex : "\\s+" + }, { + token : "string", + regex : '".*?"' + }, { + token : "string", + regex : "'.*?'" + } ], + + cdata : [ { + token : "text", + regex : "\\]\\]>", + next : "start" + }, { + token : "text", + regex : "\\s+" + }, { + token : "text", + regex : "(?:[^\\]]|\\](?!\\]>))+" + } ], + + comment : [ { + token : "comment", + regex : ".*?-->", + next : "start" + }, { + token: "comment", + regex : ".*:\\)", + next : "start" + }, { + token : "comment", + regex : ".+" + } ] + }; +}; + +oop.inherits(XQueryHighlightRules, TextHighlightRules); + +exports.XQueryHighlightRules = XQueryHighlightRules; +}); +/* +* eXide - web-based XQuery IDE +* +* Copyright (C) 2011 Wolfgang Meier +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ +define('ace/mode/behaviour/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/mode/behaviour/cstyle'], function(require, exports, module) { +"use strict"; + + var oop = require("../../lib/oop"); + var Behaviour = require('../behaviour').Behaviour; + var CstyleBehaviour = require('./cstyle').CstyleBehaviour; + + var XQueryBehaviour = function (parent) { + + this.inherit(CstyleBehaviour, ["braces", "parens", "string_dquotes"]); // Get string behaviour + this.parent = parent; + + this.add("brackets", "insertion", function (state, action, editor, session, text) { + if (text == "\n") { + var cursor = editor.getCursorPosition(); + var line = session.doc.getLine(cursor.row); + var rightChars = line.substring(cursor.column, cursor.column + 2); + if (rightChars == ' 0 && line.charAt(cursor.column - 1) == "<") { + line = line.substring(0, cursor.column) + "/" + line.substring(cursor.column); + var lines = session.doc.getAllLines(); + lines[cursor.row] = line; + // call mode helper to close the tag if possible + parent.exec("closeTag", lines.join(session.doc.getNewLineCharacter()), cursor.row); + } + } + return false; + }); + } + oop.inherits(XQueryBehaviour, Behaviour); + + exports.XQueryBehaviour = XQueryBehaviour; +}); +/* vim:ts=4:sts=4:sw=4: + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Chris Spencer + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour'], function(require, exports, module) { +"use strict"; + +var oop = require("../../lib/oop"); +var Behaviour = require('../behaviour').Behaviour; + +var CstyleBehaviour = function () { + + this.add("braces", "insertion", function (state, action, editor, session, text) { + if (text == '{') { + var selection = editor.getSelectionRange(); + var selected = session.doc.getTextRange(selection); + if (selected !== "") { + return { + text: '{' + selected + '}', + selection: false + } + } else { + return { + text: '{}', + selection: [1, 1] + } + } + } else if (text == '}') { + var cursor = editor.getCursorPosition(); + var line = session.doc.getLine(cursor.row); + var rightChar = line.substring(cursor.column, cursor.column + 1); + if (rightChar == '}') { + var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row}); + if (matching !== null) { + return { + text: '', + selection: [1, 1] + } + } + } + } else if (text == "\n") { + var cursor = editor.getCursorPosition(); + var line = session.doc.getLine(cursor.row); + var rightChar = line.substring(cursor.column, cursor.column + 1); + if (rightChar == '}') { + var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column + 1}); + if (!openBracePos) + return null; + + var indent = this.getNextLineIndent(state, line.substring(0, line.length - 1), session.getTabString()); + var next_indent = this.$getIndent(session.doc.getLine(openBracePos.row)); + + return { + text: '\n' + indent + '\n' + next_indent, + selection: [1, indent.length, 1, indent.length] + } + } + } + }); + + this.add("braces", "deletion", function (state, action, editor, session, range) { + var selected = session.doc.getTextRange(range); + if (!range.isMultiLine() && selected == '{') { + var line = session.doc.getLine(range.start.row); + var rightChar = line.substring(range.end.column, range.end.column + 1); + if (rightChar == '}') { + range.end.column++; + return range; + } + } + }); + + this.add("parens", "insertion", function (state, action, editor, session, text) { + if (text == '(') { + var selection = editor.getSelectionRange(); + var selected = session.doc.getTextRange(selection); + if (selected !== "") { + return { + text: '(' + selected + ')', + selection: false + } + } else { + return { + text: '()', + selection: [1, 1] + } + } + } else if (text == ')') { + var cursor = editor.getCursorPosition(); + var line = session.doc.getLine(cursor.row); + var rightChar = line.substring(cursor.column, cursor.column + 1); + if (rightChar == ')') { + var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row}); + if (matching !== null) { + return { + text: '', + selection: [1, 1] + } + } + } + } + }); + + this.add("parens", "deletion", function (state, action, editor, session, range) { + var selected = session.doc.getTextRange(range); + if (!range.isMultiLine() && selected == '(') { + var line = session.doc.getLine(range.start.row); + var rightChar = line.substring(range.start.column + 1, range.start.column + 2); + if (rightChar == ')') { + range.end.column++; + return range; + } + } + }); + + this.add("string_dquotes", "insertion", function (state, action, editor, session, text) { + if (text == '"') { + var selection = editor.getSelectionRange(); + var selected = session.doc.getTextRange(selection); + if (selected !== "") { + return { + text: '"' + selected + '"', + selection: false + } + } else { + var cursor = editor.getCursorPosition(); + var line = session.doc.getLine(cursor.row); + var leftChar = line.substring(cursor.column-1, cursor.column); + + // We're escaped. + if (leftChar == '\\') { + return null; + } + + // Find what token we're inside. + var tokens = session.getTokens(selection.start.row, selection.start.row)[0].tokens; + var col = 0, token; + var quotepos = -1; // Track whether we're inside an open quote. + + for (var x = 0; x < tokens.length; x++) { + token = tokens[x]; + if (token.type == "string") { + quotepos = -1; + } else if (quotepos < 0) { + quotepos = token.value.indexOf('"'); + } + if ((token.value.length + col) > selection.start.column) { + break; + } + col += tokens[x].value.length; + } + + // Try and be smart about when we auto insert. + if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf('"') === token.value.length-1)))) { + return { + text: '""', + selection: [1,1] + } + } else if (token && token.type === "string") { + // Ignore input and move right one if we're typing over the closing quote. + var rightChar = line.substring(cursor.column, cursor.column + 1); + if (rightChar == '"') { + return { + text: '', + selection: [1, 1] + } + } + } + } + } + }); + + this.add("string_dquotes", "deletion", function (state, action, editor, session, range) { + var selected = session.doc.getTextRange(range); + if (!range.isMultiLine() && selected == '"') { + var line = session.doc.getLine(range.start.row); + var rightChar = line.substring(range.start.column + 1, range.start.column + 2); + if (rightChar == '"') { + range.end.column++; + return range; + } + } + }); + +} +oop.inherits(CstyleBehaviour, Behaviour); + +exports.CstyleBehaviour = CstyleBehaviour; +}); \ No newline at end of file diff --git a/build/demo/kitchen-sink/worker-xquery.js b/build/demo/kitchen-sink/worker-xquery.js new file mode 100644 index 00000000..f153a06d --- /dev/null +++ b/build/demo/kitchen-sink/worker-xquery.js @@ -0,0 +1,48847 @@ +"no use strict"; + +var console = { + log: function(msg) { + postMessage({type: "log", data: msg}); + } +}; +var window = { + console: console +}; + +var normalizeModule = function(parentId, moduleName) { + // normalize plugin requires + if (moduleName.indexOf("!") !== -1) { + var chunks = moduleName.split("!"); + return normalizeModule(parentId, chunks[0]) + "!" + normalizeModule(parentId, chunks[1]); + } + // normalize relative requires + if (moduleName.charAt(0) == ".") { + var base = parentId.split("/").slice(0, -1).join("/"); + var moduleName = base + "/" + moduleName; + + while(moduleName.indexOf(".") !== -1 && previous != moduleName) { + var previous = moduleName; + var moduleName = moduleName.replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, ""); + } + } + + return moduleName; +}; + +var require = function(parentId, id) { + var id = normalizeModule(parentId, id); + + var module = require.modules[id]; + if (module) { + if (!module.initialized) { + module.exports = module.factory().exports; + module.initialized = true; + } + return module.exports; + } + + var chunks = id.split("/"); + chunks[0] = require.tlns[chunks[0]] || chunks[0]; + var path = chunks.join("/") + ".js"; + + require.id = id; + importScripts(path); + return require(parentId, id); +}; + +require.modules = {}; +require.tlns = {}; + +var define = function(id, deps, factory) { + if (arguments.length == 2) { + factory = deps; + } else if (arguments.length == 1) { + factory = id; + id = require.id; + } + + if (id.indexOf("text!") === 0) + return; + + var req = function(deps, factory) { + return require(id, deps, factory); + }; + + require.modules[id] = { + factory: function() { + var module = { + exports: {} + }; + var returnExports = factory(req, module.exports, module); + if (returnExports) + module.exports = returnExports; + return module; + } + }; +}; + +function initBaseUrls(topLevelNamespaces) { + require.tlns = topLevelNamespaces; +} + +function initSender() { + + var EventEmitter = require(null, "ace/lib/event_emitter").EventEmitter; + var oop = require(null, "ace/lib/oop"); + + var Sender = function() {}; + + (function() { + + oop.implement(this, EventEmitter); + + this.callback = function(data, callbackId) { + postMessage({ + type: "call", + id: callbackId, + data: data + }); + }; + + this.emit = function(name, data) { + postMessage({ + type: "event", + name: name, + data: data + }); + }; + + }).call(Sender.prototype); + + return new Sender(); +} + +var main; +var sender; + +onmessage = function(e) { + var msg = e.data; + if (msg.command) { + main[msg.command].apply(main, msg.args); + } + else if (msg.init) { + initBaseUrls(msg.tlns); + require(null, "ace/lib/fixoldbrowsers"); + sender = initSender(); + var clazz = require(null, msg.module)[msg.classname]; + main = new clazz(sender); + } + else if (msg.event && sender) { + sender._emit(msg.event, msg.data); + } +}; +// vim:set ts=4 sts=4 sw=4 st: +// -- kriskowal Kris Kowal Copyright (C) 2009-2010 MIT License +// -- tlrobinson Tom Robinson Copyright (C) 2009-2010 MIT License (Narwhal Project) +// -- dantman Daniel Friesen Copyright(C) 2010 XXX No License Specified +// -- fschaefer Florian Schäfer Copyright (C) 2010 MIT License +// -- Irakli Gozalishvili Copyright (C) 2010 MIT License + +/*! + Copyright (c) 2009, 280 North Inc. http://280north.com/ + MIT License. http://github.com/280north/narwhal/blob/master/README.md +*/ + +define('ace/lib/fixoldbrowsers', ['require', 'exports', 'module' , 'ace/lib/regexp', 'ace/lib/es5-shim'], function(require, exports, module) { +"use strict"; + +require("./regexp"); +require("./es5-shim"); + +});/** + * Based on code from: + * + * XRegExp 1.5.0 + * (c) 2007-2010 Steven Levithan + * MIT License + * + * Provides an augmented, extensible, cross-browser implementation of regular expressions, + * including support for additional syntax, flags, and methods + */ + +define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, exports, module) { +"use strict"; + + //--------------------------------- + // Private variables + //--------------------------------- + + var real = { + exec: RegExp.prototype.exec, + test: RegExp.prototype.test, + match: String.prototype.match, + replace: String.prototype.replace, + split: String.prototype.split + }, + compliantExecNpcg = real.exec.call(/()??/, "")[1] === undefined, // check `exec` handling of nonparticipating capturing groups + compliantLastIndexIncrement = function () { + var x = /^/g; + real.test.call(x, ""); + return !x.lastIndex; + }(); + + //--------------------------------- + // Overriden native methods + //--------------------------------- + + // Adds named capture support (with backreferences returned as `result.name`), and fixes two + // cross-browser issues per ES3: + // - Captured values for nonparticipating capturing groups should be returned as `undefined`, + // rather than the empty string. + // - `lastIndex` should not be incremented after zero-length matches. + RegExp.prototype.exec = function (str) { + var match = real.exec.apply(this, arguments), + name, r2; + if ( typeof(str) == 'string' && match) { + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1 && indexOf(match, "") > -1) { + r2 = RegExp(this.source, real.replace.call(getNativeFlags(this), "g", "")); + // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + real.replace.call(str.slice(match.index), r2, function () { + for (var i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) + match[i] = undefined; + } + }); + } + // Attach named capture properties + if (this._xregexp && this._xregexp.captureNames) { + for (var i = 1; i < match.length; i++) { + name = this._xregexp.captureNames[i - 1]; + if (name) + match[name] = match[i]; + } + } + // Fix browsers that increment `lastIndex` after zero-length matches + if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index)) + this.lastIndex--; + } + return match; + }; + + // Don't override `test` if it won't change anything + if (!compliantLastIndexIncrement) { + // Fix browser bug in native method + RegExp.prototype.test = function (str) { + // Use the native `exec` to skip some processing overhead, even though the overriden + // `exec` would take care of the `lastIndex` fix + var match = real.exec.call(this, str); + // Fix browsers that increment `lastIndex` after zero-length matches + if (match && this.global && !match[0].length && (this.lastIndex > match.index)) + this.lastIndex--; + return !!match; + }; + } + + //--------------------------------- + // Private helper functions + //--------------------------------- + + function getNativeFlags (regex) { + return (regex.global ? "g" : "") + + (regex.ignoreCase ? "i" : "") + + (regex.multiline ? "m" : "") + + (regex.extended ? "x" : "") + // Proposed for ES4; included in AS3 + (regex.sticky ? "y" : ""); + }; + + function indexOf (array, item, from) { + if (Array.prototype.indexOf) // Use the native array method if available + return array.indexOf(item, from); + for (var i = from || 0; i < array.length; i++) { + if (array[i] === item) + return i; + } + return -1; + }; + +}); +// vim: ts=4 sts=4 sw=4 expandtab +// -- kriskowal Kris Kowal Copyright (C) 2009-2011 MIT License +// -- tlrobinson Tom Robinson Copyright (C) 2009-2010 MIT License (Narwhal Project) +// -- dantman Daniel Friesen Copyright (C) 2010 XXX TODO License or CLA +// -- fschaefer Florian Schäfer Copyright (C) 2010 MIT License +// -- Gozala Irakli Gozalishvili Copyright (C) 2010 MIT License +// -- kitcambridge Kit Cambridge Copyright (C) 2011 MIT License +// -- kossnocorp Sasha Koss XXX TODO License or CLA +// -- bryanforbes Bryan Forbes XXX TODO License or CLA +// -- killdream Quildreen Motta Copyright (C) 2011 MIT Licence +// -- michaelficarra Michael Ficarra Copyright (C) 2011 3-clause BSD License +// -- sharkbrainguy Gerard Paapu Copyright (C) 2011 MIT License +// -- bbqsrc Brendan Molloy (C) 2011 Creative Commons Zero (public domain) +// -- iwyg XXX TODO License or CLA +// -- DomenicDenicola Domenic Denicola Copyright (C) 2011 MIT License +// -- xavierm02 Montillet Xavier XXX TODO License or CLA +// -- Raynos Raynos XXX TODO License or CLA +// -- samsonjs Sami Samhuri Copyright (C) 2010 MIT License +// -- rwldrn Rick Waldron Copyright (C) 2011 MIT License +// -- lexer Alexey Zakharov XXX TODO License or CLA + +/*! + Copyright (c) 2009, 280 North Inc. http://280north.com/ + MIT License. http://github.com/280north/narwhal/blob/master/README.md +*/ + +define('ace/lib/es5-shim', ['require', 'exports', 'module' ], function(require, exports, module) { + +/** + * Brings an environment as close to ECMAScript 5 compliance + * as is possible with the facilities of erstwhile engines. + * + * Annotated ES5: http://es5.github.com/ (specific links below) + * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + * + * @module + */ + +/*whatsupdoc*/ + +// +// Function +// ======== +// + +// ES-5 15.3.4.5 +// http://es5.github.com/#x15.3.4.5 + +if (!Function.prototype.bind) { + Function.prototype.bind = function bind(that) { // .length is 1 + // 1. Let Target be the this value. + var target = this; + // 2. If IsCallable(Target) is false, throw a TypeError exception. + if (typeof target != "function") + throw new TypeError(); // TODO message + // 3. Let A be a new (possibly empty) internal list of all of the + // argument values provided after thisArg (arg1, arg2 etc), in order. + // XXX slicedArgs will stand in for "A" if used + var args = slice.call(arguments, 1); // for normal call + // 4. Let F be a new native ECMAScript object. + // 11. Set the [[Prototype]] internal property of F to the standard + // built-in Function prototype object as specified in 15.3.3.1. + // 12. Set the [[Call]] internal property of F as described in + // 15.3.4.5.1. + // 13. Set the [[Construct]] internal property of F as described in + // 15.3.4.5.2. + // 14. Set the [[HasInstance]] internal property of F as described in + // 15.3.4.5.3. + var bound = function () { + + if (this instanceof bound) { + // 15.3.4.5.2 [[Construct]] + // When the [[Construct]] internal method of a function object, + // F that was created using the bind function is called with a + // list of arguments ExtraArgs, the following steps are taken: + // 1. Let target be the value of F's [[TargetFunction]] + // internal property. + // 2. If target has no [[Construct]] internal method, a + // TypeError exception is thrown. + // 3. Let boundArgs be the value of F's [[BoundArgs]] internal + // property. + // 4. Let args be a new list containing the same values as the + // list boundArgs in the same order followed by the same + // values as the list ExtraArgs in the same order. + // 5. Return the result of calling the [[Construct]] internal + // method of target providing args as the arguments. + + var F = function(){}; + F.prototype = target.prototype; + var self = new F; + + var result = target.apply( + self, + args.concat(slice.call(arguments)) + ); + if (result !== null && Object(result) === result) + return result; + return self; + + } else { + // 15.3.4.5.1 [[Call]] + // When the [[Call]] internal method of a function object, F, + // which was created using the bind function is called with a + // this value and a list of arguments ExtraArgs, the following + // steps are taken: + // 1. Let boundArgs be the value of F's [[BoundArgs]] internal + // property. + // 2. Let boundThis be the value of F's [[BoundThis]] internal + // property. + // 3. Let target be the value of F's [[TargetFunction]] internal + // property. + // 4. Let args be a new list containing the same values as the + // list boundArgs in the same order followed by the same + // values as the list ExtraArgs in the same order. + // 5. Return the result of calling the [[Call]] internal method + // of target providing boundThis as the this value and + // providing args as the arguments. + + // equiv: target.call(this, ...boundArgs, ...args) + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + + } + + }; + // XXX bound.length is never writable, so don't even try + // + // 15. If the [[Class]] internal property of Target is "Function", then + // a. Let L be the length property of Target minus the length of A. + // b. Set the length own property of F to either 0 or L, whichever is + // larger. + // 16. Else set the length own property of F to 0. + // 17. Set the attributes of the length own property of F to the values + // specified in 15.3.5.1. + + // TODO + // 18. Set the [[Extensible]] internal property of F to true. + + // TODO + // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3). + // 20. Call the [[DefineOwnProperty]] internal method of F with + // arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]: + // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and + // false. + // 21. Call the [[DefineOwnProperty]] internal method of F with + // arguments "arguments", PropertyDescriptor {[[Get]]: thrower, + // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false}, + // and false. + + // TODO + // NOTE Function objects created using Function.prototype.bind do not + // have a prototype property or the [[Code]], [[FormalParameters]], and + // [[Scope]] internal properties. + // XXX can't delete prototype in pure-js. + + // 22. Return F. + return bound; + }; +} + +// Shortcut to an often accessed properties, in order to avoid multiple +// dereference that costs universally. +// _Please note: Shortcuts are defined after `Function.prototype.bind` as we +// us it in defining shortcuts. +var call = Function.prototype.call; +var prototypeOfArray = Array.prototype; +var prototypeOfObject = Object.prototype; +var slice = prototypeOfArray.slice; +var toString = call.bind(prototypeOfObject.toString); +var owns = call.bind(prototypeOfObject.hasOwnProperty); + +// If JS engine supports accessors creating shortcuts. +var defineGetter; +var defineSetter; +var lookupGetter; +var lookupSetter; +var supportsAccessors; +if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) { + defineGetter = call.bind(prototypeOfObject.__defineGetter__); + defineSetter = call.bind(prototypeOfObject.__defineSetter__); + lookupGetter = call.bind(prototypeOfObject.__lookupGetter__); + lookupSetter = call.bind(prototypeOfObject.__lookupSetter__); +} + +// +// Array +// ===== +// + +// ES5 15.4.3.2 +// http://es5.github.com/#x15.4.3.2 +// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray +if (!Array.isArray) { + Array.isArray = function isArray(obj) { + return toString(obj) == "[object Array]"; + }; +} + +// The IsCallable() check in the Array functions +// has been replaced with a strict check on the +// internal class of the object to trap cases where +// the provided function was actually a regular +// expression literal, which in V8 and +// JavaScriptCore is a typeof "function". Only in +// V8 are regular expression literals permitted as +// reduce parameters, so it is desirable in the +// general case for the shim to match the more +// strict and common behavior of rejecting regular +// expressions. + +// ES5 15.4.4.18 +// http://es5.github.com/#x15.4.4.18 +// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach +if (!Array.prototype.forEach) { + Array.prototype.forEach = function forEach(fun /*, thisp*/) { + var self = toObject(this), + thisp = arguments[1], + i = 0, + length = self.length >>> 0; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + while (i < length) { + if (i in self) { + // Invoke the callback function with call, passing arguments: + // context, property value, property key, thisArg object context + fun.call(thisp, self[i], i, self); + } + i++; + } + }; +} + +// ES5 15.4.4.19 +// http://es5.github.com/#x15.4.4.19 +// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map +if (!Array.prototype.map) { + Array.prototype.map = function map(fun /*, thisp*/) { + var self = toObject(this), + length = self.length >>> 0, + result = Array(length), + thisp = arguments[1]; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + for (var i = 0; i < length; i++) { + if (i in self) + result[i] = fun.call(thisp, self[i], i, self); + } + return result; + }; +} + +// ES5 15.4.4.20 +// http://es5.github.com/#x15.4.4.20 +// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter +if (!Array.prototype.filter) { + Array.prototype.filter = function filter(fun /*, thisp */) { + var self = toObject(this), + length = self.length >>> 0, + result = [], + thisp = arguments[1]; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + for (var i = 0; i < length; i++) { + if (i in self && fun.call(thisp, self[i], i, self)) + result.push(self[i]); + } + return result; + }; +} + +// ES5 15.4.4.16 +// http://es5.github.com/#x15.4.4.16 +// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every +if (!Array.prototype.every) { + Array.prototype.every = function every(fun /*, thisp */) { + var self = toObject(this), + length = self.length >>> 0, + thisp = arguments[1]; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + for (var i = 0; i < length; i++) { + if (i in self && !fun.call(thisp, self[i], i, self)) + return false; + } + return true; + }; +} + +// ES5 15.4.4.17 +// http://es5.github.com/#x15.4.4.17 +// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some +if (!Array.prototype.some) { + Array.prototype.some = function some(fun /*, thisp */) { + var self = toObject(this), + length = self.length >>> 0, + thisp = arguments[1]; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + for (var i = 0; i < length; i++) { + if (i in self && fun.call(thisp, self[i], i, self)) + return true; + } + return false; + }; +} + +// ES5 15.4.4.21 +// http://es5.github.com/#x15.4.4.21 +// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce +if (!Array.prototype.reduce) { + Array.prototype.reduce = function reduce(fun /*, initial*/) { + var self = toObject(this), + length = self.length >>> 0; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + // no value to return if no initial value and an empty array + if (!length && arguments.length == 1) + throw new TypeError(); // TODO message + + var i = 0; + var result; + if (arguments.length >= 2) { + result = arguments[1]; + } else { + do { + if (i in self) { + result = self[i++]; + break; + } + + // if array contains no values, no initial value to return + if (++i >= length) + throw new TypeError(); // TODO message + } while (true); + } + + for (; i < length; i++) { + if (i in self) + result = fun.call(void 0, result, self[i], i, self); + } + + return result; + }; +} + +// ES5 15.4.4.22 +// http://es5.github.com/#x15.4.4.22 +// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight +if (!Array.prototype.reduceRight) { + Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) { + var self = toObject(this), + length = self.length >>> 0; + + // If no callback function or if callback is not a callable function + if (toString(fun) != "[object Function]") { + throw new TypeError(); // TODO message + } + + // no value to return if no initial value, empty array + if (!length && arguments.length == 1) + throw new TypeError(); // TODO message + + var result, i = length - 1; + if (arguments.length >= 2) { + result = arguments[1]; + } else { + do { + if (i in self) { + result = self[i--]; + break; + } + + // if array contains no values, no initial value to return + if (--i < 0) + throw new TypeError(); // TODO message + } while (true); + } + + do { + if (i in this) + result = fun.call(void 0, result, self[i], i, self); + } while (i--); + + return result; + }; +} + +// ES5 15.4.4.14 +// http://es5.github.com/#x15.4.4.14 +// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf +if (!Array.prototype.indexOf) { + Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) { + var self = toObject(this), + length = self.length >>> 0; + + if (!length) + return -1; + + var i = 0; + if (arguments.length > 1) + i = toInteger(arguments[1]); + + // handle negative indices + i = i >= 0 ? i : Math.max(0, length + i); + for (; i < length; i++) { + if (i in self && self[i] === sought) { + return i; + } + } + return -1; + }; +} + +// ES5 15.4.4.15 +// http://es5.github.com/#x15.4.4.15 +// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf +if (!Array.prototype.lastIndexOf) { + Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) { + var self = toObject(this), + length = self.length >>> 0; + + if (!length) + return -1; + var i = length - 1; + if (arguments.length > 1) + i = Math.min(i, toInteger(arguments[1])); + // handle negative indices + i = i >= 0 ? i : length - Math.abs(i); + for (; i >= 0; i--) { + if (i in self && sought === self[i]) + return i; + } + return -1; + }; +} + +// +// Object +// ====== +// + +// ES5 15.2.3.2 +// http://es5.github.com/#x15.2.3.2 +if (!Object.getPrototypeOf) { + // https://github.com/kriskowal/es5-shim/issues#issue/2 + // http://ejohn.org/blog/objectgetprototypeof/ + // recommended by fschaefer on github + Object.getPrototypeOf = function getPrototypeOf(object) { + return object.__proto__ || ( + object.constructor ? + object.constructor.prototype : + prototypeOfObject + ); + }; +} + +// ES5 15.2.3.3 +// http://es5.github.com/#x15.2.3.3 +if (!Object.getOwnPropertyDescriptor) { + var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " + + "non-object: "; + Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) { + if ((typeof object != "object" && typeof object != "function") || object === null) + throw new TypeError(ERR_NON_OBJECT + object); + // If object does not owns property return undefined immediately. + if (!owns(object, property)) + return; + + var descriptor, getter, setter; + + // If object has a property then it's for sure both `enumerable` and + // `configurable`. + descriptor = { enumerable: true, configurable: true }; + + // If JS engine supports accessor properties then property may be a + // getter or setter. + if (supportsAccessors) { + // Unfortunately `__lookupGetter__` will return a getter even + // if object has own non getter property along with a same named + // inherited getter. To avoid misbehavior we temporary remove + // `__proto__` so that `__lookupGetter__` will return getter only + // if it's owned by an object. + var prototype = object.__proto__; + object.__proto__ = prototypeOfObject; + + var getter = lookupGetter(object, property); + var setter = lookupSetter(object, property); + + // Once we have getter and setter we can put values back. + object.__proto__ = prototype; + + if (getter || setter) { + if (getter) descriptor.get = getter; + if (setter) descriptor.set = setter; + + // If it was accessor property we're done and return here + // in order to avoid adding `value` to the descriptor. + return descriptor; + } + } + + // If we got this far we know that object has an own property that is + // not an accessor so we set it as a value and return descriptor. + descriptor.value = object[property]; + return descriptor; + }; +} + +// ES5 15.2.3.4 +// http://es5.github.com/#x15.2.3.4 +if (!Object.getOwnPropertyNames) { + Object.getOwnPropertyNames = function getOwnPropertyNames(object) { + return Object.keys(object); + }; +} + +// ES5 15.2.3.5 +// http://es5.github.com/#x15.2.3.5 +if (!Object.create) { + Object.create = function create(prototype, properties) { + var object; + if (prototype === null) { + object = { "__proto__": null }; + } else { + if (typeof prototype != "object") + throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'"); + var Type = function () {}; + Type.prototype = prototype; + object = new Type(); + // IE has no built-in implementation of `Object.getPrototypeOf` + // neither `__proto__`, but this manually setting `__proto__` will + // guarantee that `Object.getPrototypeOf` will work as expected with + // objects created using `Object.create` + object.__proto__ = prototype; + } + if (properties !== void 0) + Object.defineProperties(object, properties); + return object; + }; +} + +// ES5 15.2.3.6 +// http://es5.github.com/#x15.2.3.6 + +// Patch for WebKit and IE8 standard mode +// Designed by hax +// related issue: https://github.com/kriskowal/es5-shim/issues#issue/5 +// IE8 Reference: +// http://msdn.microsoft.com/en-us/library/dd282900.aspx +// http://msdn.microsoft.com/en-us/library/dd229916.aspx +// WebKit Bugs: +// https://bugs.webkit.org/show_bug.cgi?id=36423 + +function doesDefinePropertyWork(object) { + try { + Object.defineProperty(object, "sentinel", {}); + return "sentinel" in object; + } catch (exception) { + // returns falsy + } +} + +// check whether defineProperty works if it's given. Otherwise, +// shim partially. +if (Object.defineProperty) { + var definePropertyWorksOnObject = doesDefinePropertyWork({}); + var definePropertyWorksOnDom = typeof document == "undefined" || + doesDefinePropertyWork(document.createElement("div")); + if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) { + var definePropertyFallback = Object.defineProperty; + } +} + +if (!Object.defineProperty || definePropertyFallback) { + var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: "; + var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: " + var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " + + "on this javascript engine"; + + Object.defineProperty = function defineProperty(object, property, descriptor) { + if ((typeof object != "object" && typeof object != "function") || object === null) + throw new TypeError(ERR_NON_OBJECT_TARGET + object); + if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null) + throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor); + + // make a valiant attempt to use the real defineProperty + // for I8's DOM elements. + if (definePropertyFallback) { + try { + return definePropertyFallback.call(Object, object, property, descriptor); + } catch (exception) { + // try the shim if the real one doesn't work + } + } + + // If it's a data property. + if (owns(descriptor, "value")) { + // fail silently if "writable", "enumerable", or "configurable" + // are requested but not supported + /* + // alternate approach: + if ( // can't implement these features; allow false but not true + !(owns(descriptor, "writable") ? descriptor.writable : true) || + !(owns(descriptor, "enumerable") ? descriptor.enumerable : true) || + !(owns(descriptor, "configurable") ? descriptor.configurable : true) + ) + throw new RangeError( + "This implementation of Object.defineProperty does not " + + "support configurable, enumerable, or writable." + ); + */ + + if (supportsAccessors && (lookupGetter(object, property) || + lookupSetter(object, property))) + { + // As accessors are supported only on engines implementing + // `__proto__` we can safely override `__proto__` while defining + // a property to make sure that we don't hit an inherited + // accessor. + var prototype = object.__proto__; + object.__proto__ = prototypeOfObject; + // Deleting a property anyway since getter / setter may be + // defined on object itself. + delete object[property]; + object[property] = descriptor.value; + // Setting original `__proto__` back now. + object.__proto__ = prototype; + } else { + object[property] = descriptor.value; + } + } else { + if (!supportsAccessors) + throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED); + // If we got that far then getters and setters can be defined !! + if (owns(descriptor, "get")) + defineGetter(object, property, descriptor.get); + if (owns(descriptor, "set")) + defineSetter(object, property, descriptor.set); + } + + return object; + }; +} + +// ES5 15.2.3.7 +// http://es5.github.com/#x15.2.3.7 +if (!Object.defineProperties) { + Object.defineProperties = function defineProperties(object, properties) { + for (var property in properties) { + if (owns(properties, property)) + Object.defineProperty(object, property, properties[property]); + } + return object; + }; +} + +// ES5 15.2.3.8 +// http://es5.github.com/#x15.2.3.8 +if (!Object.seal) { + Object.seal = function seal(object) { + // this is misleading and breaks feature-detection, but + // allows "securable" code to "gracefully" degrade to working + // but insecure code. + return object; + }; +} + +// ES5 15.2.3.9 +// http://es5.github.com/#x15.2.3.9 +if (!Object.freeze) { + Object.freeze = function freeze(object) { + // this is misleading and breaks feature-detection, but + // allows "securable" code to "gracefully" degrade to working + // but insecure code. + return object; + }; +} + +// detect a Rhino bug and patch it +try { + Object.freeze(function () {}); +} catch (exception) { + Object.freeze = (function freeze(freezeObject) { + return function freeze(object) { + if (typeof object == "function") { + return object; + } else { + return freezeObject(object); + } + }; + })(Object.freeze); +} + +// ES5 15.2.3.10 +// http://es5.github.com/#x15.2.3.10 +if (!Object.preventExtensions) { + Object.preventExtensions = function preventExtensions(object) { + // this is misleading and breaks feature-detection, but + // allows "securable" code to "gracefully" degrade to working + // but insecure code. + return object; + }; +} + +// ES5 15.2.3.11 +// http://es5.github.com/#x15.2.3.11 +if (!Object.isSealed) { + Object.isSealed = function isSealed(object) { + return false; + }; +} + +// ES5 15.2.3.12 +// http://es5.github.com/#x15.2.3.12 +if (!Object.isFrozen) { + Object.isFrozen = function isFrozen(object) { + return false; + }; +} + +// ES5 15.2.3.13 +// http://es5.github.com/#x15.2.3.13 +if (!Object.isExtensible) { + Object.isExtensible = function isExtensible(object) { + // 1. If Type(O) is not Object throw a TypeError exception. + if (Object(object) === object) { + throw new TypeError(); // TODO message + } + // 2. Return the Boolean value of the [[Extensible]] internal property of O. + var name = ''; + while (owns(object, name)) { + name += '?'; + } + object[name] = true; + var returnValue = owns(object, name); + delete object[name]; + return returnValue; + }; +} + +// ES5 15.2.3.14 +// http://es5.github.com/#x15.2.3.14 +if (!Object.keys) { + // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation + var hasDontEnumBug = true, + dontEnums = [ + "toString", + "toLocaleString", + "valueOf", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "constructor" + ], + dontEnumsLength = dontEnums.length; + + for (var key in {"toString": null}) + hasDontEnumBug = false; + + Object.keys = function keys(object) { + + if ((typeof object != "object" && typeof object != "function") || object === null) + throw new TypeError("Object.keys called on a non-object"); + + var keys = []; + for (var name in object) { + if (owns(object, name)) { + keys.push(name); + } + } + + if (hasDontEnumBug) { + for (var i = 0, ii = dontEnumsLength; i < ii; i++) { + var dontEnum = dontEnums[i]; + if (owns(object, dontEnum)) { + keys.push(dontEnum); + } + } + } + + return keys; + }; + +} + +// +// Date +// ==== +// + +// ES5 15.9.5.43 +// http://es5.github.com/#x15.9.5.43 +// This function returns a String value represent the instance in time +// represented by this Date object. The format of the String is the Date Time +// string format defined in 15.9.1.15. All fields are present in the String. +// The time zone is always UTC, denoted by the suffix Z. If the time value of +// this object is not a finite Number a RangeError exception is thrown. +if (!Date.prototype.toISOString || (new Date(-62198755200000).toISOString().indexOf('-000001') === -1)) { + Date.prototype.toISOString = function toISOString() { + var result, length, value, year; + if (!isFinite(this)) + throw new RangeError; + + // the date time string format is specified in 15.9.1.15. + result = [this.getUTCMonth() + 1, this.getUTCDate(), + this.getUTCHours(), this.getUTCMinutes(), this.getUTCSeconds()]; + year = this.getUTCFullYear(); + year = (year < 0 ? '-' : (year > 9999 ? '+' : '')) + ('00000' + Math.abs(year)).slice(0 <= year && year <= 9999 ? -4 : -6); + + length = result.length; + while (length--) { + value = result[length]; + // pad months, days, hours, minutes, and seconds to have two digits. + if (value < 10) + result[length] = "0" + value; + } + // pad milliseconds to have three digits. + return year + "-" + result.slice(0, 2).join("-") + "T" + result.slice(2).join(":") + "." + + ("000" + this.getUTCMilliseconds()).slice(-3) + "Z"; + } +} + +// ES5 15.9.4.4 +// http://es5.github.com/#x15.9.4.4 +if (!Date.now) { + Date.now = function now() { + return new Date().getTime(); + }; +} + +// ES5 15.9.5.44 +// http://es5.github.com/#x15.9.5.44 +// This function provides a String representation of a Date object for use by +// JSON.stringify (15.12.3). +if (!Date.prototype.toJSON) { + Date.prototype.toJSON = function toJSON(key) { + // When the toJSON method is called with argument key, the following + // steps are taken: + + // 1. Let O be the result of calling ToObject, giving it the this + // value as its argument. + // 2. Let tv be ToPrimitive(O, hint Number). + // 3. If tv is a Number and is not finite, return null. + // XXX + // 4. Let toISO be the result of calling the [[Get]] internal method of + // O with argument "toISOString". + // 5. If IsCallable(toISO) is false, throw a TypeError exception. + if (typeof this.toISOString != "function") + throw new TypeError(); // TODO message + // 6. Return the result of calling the [[Call]] internal method of + // toISO with O as the this value and an empty argument list. + return this.toISOString(); + + // NOTE 1 The argument is ignored. + + // NOTE 2 The toJSON function is intentionally generic; it does not + // require that its this value be a Date object. Therefore, it can be + // transferred to other kinds of objects for use as a method. However, + // it does require that any such object have a toISOString method. An + // object is free to use the argument key to filter its + // stringification. + }; +} + +// ES5 15.9.4.2 +// http://es5.github.com/#x15.9.4.2 +// based on work shared by Daniel Friesen (dantman) +// http://gist.github.com/303249 +if (Date.parse("+275760-09-13T00:00:00.000Z") !== 8.64e15) { + // XXX global assignment won't work in embeddings that use + // an alternate object for the context. + Date = (function(NativeDate) { + + // Date.length === 7 + var Date = function Date(Y, M, D, h, m, s, ms) { + var length = arguments.length; + if (this instanceof NativeDate) { + var date = length == 1 && String(Y) === Y ? // isString(Y) + // We explicitly pass it through parse: + new NativeDate(Date.parse(Y)) : + // We have to manually make calls depending on argument + // length here + length >= 7 ? new NativeDate(Y, M, D, h, m, s, ms) : + length >= 6 ? new NativeDate(Y, M, D, h, m, s) : + length >= 5 ? new NativeDate(Y, M, D, h, m) : + length >= 4 ? new NativeDate(Y, M, D, h) : + length >= 3 ? new NativeDate(Y, M, D) : + length >= 2 ? new NativeDate(Y, M) : + length >= 1 ? new NativeDate(Y) : + new NativeDate(); + // Prevent mixups with unfixed Date object + date.constructor = Date; + return date; + } + return NativeDate.apply(this, arguments); + }; + + // 15.9.1.15 Date Time String Format. + var isoDateExpression = new RegExp("^" + + "(\\d{4}|[\+\-]\\d{6})" + // four-digit year capture or sign + 6-digit extended year + "(?:-(\\d{2})" + // optional month capture + "(?:-(\\d{2})" + // optional day capture + "(?:" + // capture hours:minutes:seconds.milliseconds + "T(\\d{2})" + // hours capture + ":(\\d{2})" + // minutes capture + "(?:" + // optional :seconds.milliseconds + ":(\\d{2})" + // seconds capture + "(?:\\.(\\d{3}))?" + // milliseconds capture + ")?" + + "(?:" + // capture UTC offset component + "Z|" + // UTC capture + "(?:" + // offset specifier +/-hours:minutes + "([-+])" + // sign capture + "(\\d{2})" + // hours offset capture + ":(\\d{2})" + // minutes offset capture + ")" + + ")?)?)?)?" + + "$"); + + // Copy any custom methods a 3rd party library may have added + for (var key in NativeDate) + Date[key] = NativeDate[key]; + + // Copy "native" methods explicitly; they may be non-enumerable + Date.now = NativeDate.now; + Date.UTC = NativeDate.UTC; + Date.prototype = NativeDate.prototype; + Date.prototype.constructor = Date; + + // Upgrade Date.parse to handle simplified ISO 8601 strings + Date.parse = function parse(string) { + var match = isoDateExpression.exec(string); + if (match) { + match.shift(); // kill match[0], the full match + // parse months, days, hours, minutes, seconds, and milliseconds + for (var i = 1; i < 7; i++) { + // provide default values if necessary + match[i] = +(match[i] || (i < 3 ? 1 : 0)); + // match[1] is the month. Months are 0-11 in JavaScript + // `Date` objects, but 1-12 in ISO notation, so we + // decrement. + if (i == 1) + match[i]--; + } + + // parse the UTC offset component + var minuteOffset = +match.pop(), hourOffset = +match.pop(), sign = match.pop(); + + // compute the explicit time zone offset if specified + var offset = 0; + if (sign) { + // detect invalid offsets and return early + if (hourOffset > 23 || minuteOffset > 59) + return NaN; + + // express the provided time zone offset in minutes. The offset is + // negative for time zones west of UTC; positive otherwise. + offset = (hourOffset * 60 + minuteOffset) * 6e4 * (sign == "+" ? -1 : 1); + } + + // Date.UTC for years between 0 and 99 converts year to 1900 + year + // The Gregorian calendar has a 400-year cycle, so + // to Date.UTC(year + 400, .... ) - 12622780800000 == Date.UTC(year, ...), + // where 12622780800000 - number of milliseconds in Gregorian calendar 400 years + var year = +match[0]; + if (0 <= year && year <= 99) { + match[0] = year + 400; + return NativeDate.UTC.apply(this, match) + offset - 12622780800000; + } + + // compute a new UTC date value, accounting for the optional offset + return NativeDate.UTC.apply(this, match) + offset; + } + return NativeDate.parse.apply(this, arguments); + }; + + return Date; + })(Date); +} + +// +// String +// ====== +// + +// ES5 15.5.4.20 +// http://es5.github.com/#x15.5.4.20 +var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" + + "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" + + "\u2029\uFEFF"; +if (!String.prototype.trim || ws.trim()) { + // http://blog.stevenlevithan.com/archives/faster-trim-javascript + // http://perfectionkills.com/whitespace-deviations/ + ws = "[" + ws + "]"; + var trimBeginRegexp = new RegExp("^" + ws + ws + "*"), + trimEndRegexp = new RegExp(ws + ws + "*$"); + String.prototype.trim = function trim() { + return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, ""); + }; +} + +// +// Util +// ====== +// + +// ES5 9.4 +// http://es5.github.com/#x9.4 +// http://jsperf.com/to-integer +var toInteger = function (n) { + n = +n; + if (n !== n) // isNaN + n = 0; + else if (n !== 0 && n !== (1/0) && n !== -(1/0)) + n = (n > 0 || -1) * Math.floor(Math.abs(n)); + return n; +}; + +var prepareString = "a"[0] != "a", + // ES5 9.9 + // http://es5.github.com/#x9.9 + toObject = function (o) { + if (o == null) { // this matches both null and undefined + throw new TypeError(); // TODO message + } + // If the implementation doesn't support by-index access of + // string characters (ex. IE < 7), split the string + if (prepareString && typeof o == "string" && o) { + return o.split(""); + } + return Object(o); + }; +});/* vim:ts=4:sts=4:sw=4: + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * Irakli Gozalishvili (http://jeditoolkit.com) + * Mike de Boer + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) { +"use strict"; + +var EventEmitter = {}; + +EventEmitter._emit = +EventEmitter._dispatchEvent = function(eventName, e) { + this._eventRegistry = this._eventRegistry || {}; + this._defaultHandlers = this._defaultHandlers || {}; + + var listeners = this._eventRegistry[eventName] || []; + var defaultHandler = this._defaultHandlers[eventName]; + if (!listeners.length && !defaultHandler) + return; + + e = e || {}; + e.type = eventName; + + if (!e.stopPropagation) { + e.stopPropagation = function() { + this.propagationStopped = true; + }; + } + + if (!e.preventDefault) { + e.preventDefault = function() { + this.defaultPrevented = true; + }; + } + + for (var i=0; i + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) { +"use strict"; + +exports.inherits = (function() { + var tempCtor = function() {}; + return function(ctor, superCtor) { + tempCtor.prototype = superCtor.prototype; + ctor.super_ = superCtor.prototype; + ctor.prototype = new tempCtor(); + ctor.prototype.constructor = ctor; + }; +}()); + +exports.mixin = function(obj, mixin) { + for (var key in mixin) { + obj[key] = mixin[key]; + } +}; + +exports.implement = function(proto, mixin) { + exports.mixin(proto, mixin); +}; + +}); +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * William Candillon + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/mode/xquery_worker', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/worker/mirror', 'ace/mode/xquery/xquery'], function(require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var Mirror = require("../worker/mirror").Mirror; +var xquery = require("../mode/xquery/xquery"); + +window.addEventListener = function() {}; + + +var XQueryWorker = exports.XQueryWorker = function(sender) { + Mirror.call(this, sender); + this.setTimeout(200); +}; + +oop.inherits(XQueryWorker, Mirror); + +(function() { + + this.onUpdate = function() { + var value = this.doc.getValue(); + + try { + xquery.parse(value); + } catch(e) { + console.log(e); + var m = e.match(/line (\d+):\-?(\d+) (.*)/); + + if (m) { + var line = parseInt(m[1]) - 1; + line = line <= 0 ? 0 : line; + var col = parseInt(m[2]); + console.log("Row: " + line); + console.log("Col: " + col); + this.sender.emit("error", { + row: line, + column: col, + text: m[3], + type: "error" + }); + return; + } + /* + if (e instanceof SyntaxError) { + var m = e.message.match(/ on line (\d+)/); + if (m) { + this.sender.emit("error", { + row: parseInt(m[1]) - 1, + column: null, + text: e.message.replace(m[0], ""), + type: "error" + }); + } + } + */ + return; + } + this.sender.emit("ok"); + }; + +}).call(XQueryWorker.prototype); + +}); +define('ace/worker/mirror', ['require', 'exports', 'module' , 'ace/document', 'ace/lib/lang'], function(require, exports, module) { +"use strict"; + +var Document = require("../document").Document; +var lang = require("../lib/lang"); + +var Mirror = exports.Mirror = function(sender) { + this.sender = sender; + var doc = this.doc = new Document(""); + + var deferredUpdate = this.deferredUpdate = lang.deferredCall(this.onUpdate.bind(this)); + + var _self = this; + sender.on("change", function(e) { + doc.applyDeltas([e.data]); + deferredUpdate.schedule(_self.$timeout); + }); +}; + +(function() { + + this.$timeout = 500; + + this.setTimeout = function(timeout) { + this.$timeout = timeout; + }; + + this.setValue = function(value) { + this.doc.setValue(value); + this.deferredUpdate.schedule(this.$timeout); + }; + + this.getValue = function(callbackId) { + this.sender.callback(this.doc.getValue(), callbackId); + }; + + this.onUpdate = function() { + // abstract method + }; + +}).call(Mirror.prototype); + +});/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) { +"use strict"; + +var oop = require("./lib/oop"); +var EventEmitter = require("./lib/event_emitter").EventEmitter; +var Range = require("./range").Range; +var Anchor = require("./anchor").Anchor; + +var Document = function(text) { + this.$lines = []; + + if (Array.isArray(text)) { + this.insertLines(0, text); + } + // There has to be one line at least in the document. If you pass an empty + // string to the insert function, nothing will happen. Workaround. + else if (text.length == 0) { + this.$lines = [""]; + } else { + this.insert({row: 0, column:0}, text); + } +}; + +(function() { + + oop.implement(this, EventEmitter); + + this.setValue = function(text) { + var len = this.getLength(); + this.remove(new Range(0, 0, len, this.getLine(len-1).length)); + this.insert({row: 0, column:0}, text); + }; + + this.getValue = function() { + return this.getAllLines().join(this.getNewLineCharacter()); + }; + + this.createAnchor = function(row, column) { + return new Anchor(this, row, column); + }; + + // check for IE split bug + if ("aaa".split(/a/).length == 0) + this.$split = function(text) { + return text.replace(/\r\n|\r/g, "\n").split("\n"); + } + else + this.$split = function(text) { + return text.split(/\r\n|\r|\n/); + }; + + + this.$detectNewLine = function(text) { + var match = text.match(/^.*?(\r\n|\r|\n)/m); + if (match) { + this.$autoNewLine = match[1]; + } else { + this.$autoNewLine = "\n"; + } + }; + + this.getNewLineCharacter = function() { + switch (this.$newLineMode) { + case "windows": + return "\r\n"; + + case "unix": + return "\n"; + + case "auto": + return this.$autoNewLine; + } + }; + + this.$autoNewLine = "\n"; + this.$newLineMode = "auto"; + this.setNewLineMode = function(newLineMode) { + if (this.$newLineMode === newLineMode) + return; + + this.$newLineMode = newLineMode; + }; + + this.getNewLineMode = function() { + return this.$newLineMode; + }; + + this.isNewLine = function(text) { + return (text == "\r\n" || text == "\r" || text == "\n"); + }; + + /** + * Get a verbatim copy of the given line as it is in the document + */ + this.getLine = function(row) { + return this.$lines[row] || ""; + }; + + this.getLines = function(firstRow, lastRow) { + return this.$lines.slice(firstRow, lastRow + 1); + }; + + /** + * Returns all lines in the document as string array. Warning: The caller + * should not modify this array! + */ + this.getAllLines = function() { + return this.getLines(0, this.getLength()); + }; + + this.getLength = function() { + return this.$lines.length; + }; + + this.getTextRange = function(range) { + if (range.start.row == range.end.row) { + return this.$lines[range.start.row].substring(range.start.column, + range.end.column); + } + else { + var lines = []; + lines.push(this.$lines[range.start.row].substring(range.start.column)); + lines.push.apply(lines, this.getLines(range.start.row+1, range.end.row-1)); + lines.push(this.$lines[range.end.row].substring(0, range.end.column)); + return lines.join(this.getNewLineCharacter()); + } + }; + + this.$clipPosition = function(position) { + var length = this.getLength(); + if (position.row >= length) { + position.row = Math.max(0, length - 1); + position.column = this.getLine(length-1).length; + } + return position; + }; + + this.insert = function(position, text) { + if (!text || text.length === 0) + return position; + + position = this.$clipPosition(position); + + if (this.getLength() <= 1) + this.$detectNewLine(text); + + var lines = this.$split(text); + var firstLine = lines.splice(0, 1)[0]; + var lastLine = lines.length == 0 ? null : lines.splice(lines.length - 1, 1)[0]; + + position = this.insertInLine(position, firstLine); + if (lastLine !== null) { + position = this.insertNewLine(position); // terminate first line + position = this.insertLines(position.row, lines); + position = this.insertInLine(position, lastLine || ""); + } + return position; + }; + + this.insertLines = function(row, lines) { + if (lines.length == 0) + return {row: row, column: 0}; + + var args = [row, 0]; + args.push.apply(args, lines); + this.$lines.splice.apply(this.$lines, args); + + var range = new Range(row, 0, row + lines.length, 0); + var delta = { + action: "insertLines", + range: range, + lines: lines + }; + this._emit("change", { data: delta }); + return range.end; + }; + + this.insertNewLine = function(position) { + position = this.$clipPosition(position); + var line = this.$lines[position.row] || ""; + + this.$lines[position.row] = line.substring(0, position.column); + this.$lines.splice(position.row + 1, 0, line.substring(position.column, line.length)); + + var end = { + row : position.row + 1, + column : 0 + }; + + var delta = { + action: "insertText", + range: Range.fromPoints(position, end), + text: this.getNewLineCharacter() + }; + this._emit("change", { data: delta }); + + return end; + }; + + this.insertInLine = function(position, text) { + if (text.length == 0) + return position; + + var line = this.$lines[position.row] || ""; + + this.$lines[position.row] = line.substring(0, position.column) + text + + line.substring(position.column); + + var end = { + row : position.row, + column : position.column + text.length + }; + + var delta = { + action: "insertText", + range: Range.fromPoints(position, end), + text: text + }; + this._emit("change", { data: delta }); + + return end; + }; + + this.remove = function(range) { + // clip to document + range.start = this.$clipPosition(range.start); + range.end = this.$clipPosition(range.end); + + if (range.isEmpty()) + return range.start; + + var firstRow = range.start.row; + var lastRow = range.end.row; + + if (range.isMultiLine()) { + var firstFullRow = range.start.column == 0 ? firstRow : firstRow + 1; + var lastFullRow = lastRow - 1; + + if (range.end.column > 0) + this.removeInLine(lastRow, 0, range.end.column); + + if (lastFullRow >= firstFullRow) + this.removeLines(firstFullRow, lastFullRow); + + if (firstFullRow != firstRow) { + this.removeInLine(firstRow, range.start.column, this.getLine(firstRow).length); + this.removeNewLine(range.start.row); + } + } + else { + this.removeInLine(firstRow, range.start.column, range.end.column); + } + return range.start; + }; + + this.removeInLine = function(row, startColumn, endColumn) { + if (startColumn == endColumn) + return; + + var range = new Range(row, startColumn, row, endColumn); + var line = this.getLine(row); + var removed = line.substring(startColumn, endColumn); + var newLine = line.substring(0, startColumn) + line.substring(endColumn, line.length); + this.$lines.splice(row, 1, newLine); + + var delta = { + action: "removeText", + range: range, + text: removed + }; + this._emit("change", { data: delta }); + return range.start; + }; + + /** + * Removes a range of full lines + * + * @param firstRow {Integer} The first row to be removed + * @param lastRow {Integer} The last row to be removed + * @return {String[]} The removed lines + */ + this.removeLines = function(firstRow, lastRow) { + var range = new Range(firstRow, 0, lastRow + 1, 0); + var removed = this.$lines.splice(firstRow, lastRow - firstRow + 1); + + var delta = { + action: "removeLines", + range: range, + nl: this.getNewLineCharacter(), + lines: removed + }; + this._emit("change", { data: delta }); + return removed; + }; + + this.removeNewLine = function(row) { + var firstLine = this.getLine(row); + var secondLine = this.getLine(row+1); + + var range = new Range(row, firstLine.length, row+1, 0); + var line = firstLine + secondLine; + + this.$lines.splice(row, 2, line); + + var delta = { + action: "removeText", + range: range, + text: this.getNewLineCharacter() + }; + this._emit("change", { data: delta }); + }; + + this.replace = function(range, text) { + if (text.length == 0 && range.isEmpty()) + return range.start; + + // Shortcut: If the text we want to insert is the same as it is already + // in the document, we don't have to replace anything. + if (text == this.getTextRange(range)) + return range.end; + + this.remove(range); + if (text) { + var end = this.insert(range.start, text); + } + else { + end = range.start; + } + + return end; + }; + + this.applyDeltas = function(deltas) { + for (var i=0; i=0; i--) { + var delta = deltas[i]; + + var range = Range.fromPoints(delta.range.start, delta.range.end); + + if (delta.action == "insertLines") + this.removeLines(range.start.row, range.end.row - 1); + else if (delta.action == "insertText") + this.remove(range); + else if (delta.action == "removeLines") + this.insertLines(range.start.row, delta.lines); + else if (delta.action == "removeText") + this.insert(range.start, delta.text); + } + }; + +}).call(Document.prototype); + +exports.Document = Document; +}); +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) { +"use strict"; + +var Range = function(startRow, startColumn, endRow, endColumn) { + this.start = { + row: startRow, + column: startColumn + }; + + this.end = { + row: endRow, + column: endColumn + }; +}; + +(function() { + this.isEequal = function(range) { + return this.start.row == range.start.row && + this.end.row == range.end.row && + this.start.column == range.start.column && + this.end.column == range.end.column + }; + + this.toString = function() { + return ("Range: [" + this.start.row + "/" + this.start.column + + "] -> [" + this.end.row + "/" + this.end.column + "]"); + }; + + this.contains = function(row, column) { + return this.compare(row, column) == 0; + }; + + /** + * Compares this range (A) with another range (B), where B is the passed in + * range. + * + * Return values: + * -2: (B) is infront of (A) and doesn't intersect with (A) + * -1: (B) begins before (A) but ends inside of (A) + * 0: (B) is completly inside of (A) OR (A) is complety inside of (B) + * +1: (B) begins inside of (A) but ends outside of (A) + * +2: (B) is after (A) and doesn't intersect with (A) + * + * 42: FTW state: (B) ends in (A) but starts outside of (A) + */ + this.compareRange = function(range) { + var cmp, + end = range.end, + start = range.start; + + cmp = this.compare(end.row, end.column); + if (cmp == 1) { + cmp = this.compare(start.row, start.column); + if (cmp == 1) { + return 2; + } else if (cmp == 0) { + return 1; + } else { + return 0; + } + } else if (cmp == -1) { + return -2; + } else { + cmp = this.compare(start.row, start.column); + if (cmp == -1) { + return -1; + } else if (cmp == 1) { + return 42; + } else { + return 0; + } + } + } + + this.comparePoint = function(p) { + return this.compare(p.row, p.column); + } + + this.containsRange = function(range) { + return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0; + } + + this.isEnd = function(row, column) { + return this.end.row == row && this.end.column == column; + } + + this.isStart = function(row, column) { + return this.start.row == row && this.start.column == column; + } + + this.setStart = function(row, column) { + if (typeof row == "object") { + this.start.column = row.column; + this.start.row = row.row; + } else { + this.start.row = row; + this.start.column = column; + } + } + + this.setEnd = function(row, column) { + if (typeof row == "object") { + this.end.column = row.column; + this.end.row = row.row; + } else { + this.end.row = row; + this.end.column = column; + } + } + + this.inside = function(row, column) { + if (this.compare(row, column) == 0) { + if (this.isEnd(row, column) || this.isStart(row, column)) { + return false; + } else { + return true; + } + } + return false; + } + + this.insideStart = function(row, column) { + if (this.compare(row, column) == 0) { + if (this.isEnd(row, column)) { + return false; + } else { + return true; + } + } + return false; + } + + this.insideEnd = function(row, column) { + if (this.compare(row, column) == 0) { + if (this.isStart(row, column)) { + return false; + } else { + return true; + } + } + return false; + } + + this.compare = function(row, column) { + if (!this.isMultiLine()) { + if (row === this.start.row) { + return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0); + }; + } + + if (row < this.start.row) + return -1; + + if (row > this.end.row) + return 1; + + if (this.start.row === row) + return column >= this.start.column ? 0 : -1; + + if (this.end.row === row) + return column <= this.end.column ? 0 : 1; + + return 0; + }; + + /** + * Like .compare(), but if isStart is true, return -1; + */ + this.compareStart = function(row, column) { + if (this.start.row == row && this.start.column == column) { + return -1; + } else { + return this.compare(row, column); + } + } + + /** + * Like .compare(), but if isEnd is true, return 1; + */ + this.compareEnd = function(row, column) { + if (this.end.row == row && this.end.column == column) { + return 1; + } else { + return this.compare(row, column); + } + } + + this.compareInside = function(row, column) { + if (this.end.row == row && this.end.column == column) { + return 1; + } else if (this.start.row == row && this.start.column == column) { + return -1; + } else { + return this.compare(row, column); + } + } + + this.clipRows = function(firstRow, lastRow) { + if (this.end.row > lastRow) { + var end = { + row: lastRow+1, + column: 0 + }; + } + + if (this.start.row > lastRow) { + var start = { + row: lastRow+1, + column: 0 + }; + } + + if (this.start.row < firstRow) { + var start = { + row: firstRow, + column: 0 + }; + } + + if (this.end.row < firstRow) { + var end = { + row: firstRow, + column: 0 + }; + } + return Range.fromPoints(start || this.start, end || this.end); + }; + + this.extend = function(row, column) { + var cmp = this.compare(row, column); + + if (cmp == 0) + return this; + else if (cmp == -1) + var start = {row: row, column: column}; + else + var end = {row: row, column: column}; + + return Range.fromPoints(start || this.start, end || this.end); + }; + + this.isEmpty = function() { + return (this.start.row == this.end.row && this.start.column == this.end.column); + }; + + this.isMultiLine = function() { + return (this.start.row !== this.end.row); + }; + + this.clone = function() { + return Range.fromPoints(this.start, this.end); + }; + + this.collapseRows = function() { + if (this.end.column == 0) + return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0) + else + return new Range(this.start.row, 0, this.end.row, 0) + }; + + this.toScreenRange = function(session) { + var screenPosStart = + session.documentToScreenPosition(this.start); + var screenPosEnd = + session.documentToScreenPosition(this.end); + + return new Range( + screenPosStart.row, screenPosStart.column, + screenPosEnd.row, screenPosEnd.column + ); + }; + +}).call(Range.prototype); + + +Range.fromPoints = function(start, end) { + return new Range(start.row, start.column, end.row, end.column); +}; + +exports.Range = Range; +}); +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) { +"use strict"; + +var oop = require("./lib/oop"); +var EventEmitter = require("./lib/event_emitter").EventEmitter; + +/** + * An Anchor is a floating pointer in the document. Whenever text is inserted or + * deleted before the cursor, the position of the cursor is updated + */ +var Anchor = exports.Anchor = function(doc, row, column) { + this.document = doc; + + if (typeof column == "undefined") + this.setPosition(row.row, row.column); + else + this.setPosition(row, column); + + this.$onChange = this.onChange.bind(this); + doc.on("change", this.$onChange); +}; + +(function() { + + oop.implement(this, EventEmitter); + + this.getPosition = function() { + return this.$clipPositionToDocument(this.row, this.column); + }; + + this.getDocument = function() { + return this.document; + }; + + this.onChange = function(e) { + var delta = e.data; + var range = delta.range; + + if (range.start.row == range.end.row && range.start.row != this.row) + return; + + if (range.start.row > this.row) + return; + + if (range.start.row == this.row && range.start.column > this.column) + return; + + var row = this.row; + var column = this.column; + + if (delta.action === "insertText") { + if (range.start.row === row && range.start.column <= column) { + if (range.start.row === range.end.row) { + column += range.end.column - range.start.column; + } + else { + column -= range.start.column; + row += range.end.row - range.start.row; + } + } + else if (range.start.row !== range.end.row && range.start.row < row) { + row += range.end.row - range.start.row; + } + } else if (delta.action === "insertLines") { + if (range.start.row <= row) { + row += range.end.row - range.start.row; + } + } + else if (delta.action == "removeText") { + if (range.start.row == row && range.start.column < column) { + if (range.end.column >= column) + column = range.start.column; + else + column = Math.max(0, column - (range.end.column - range.start.column)); + + } else if (range.start.row !== range.end.row && range.start.row < row) { + if (range.end.row == row) { + column = Math.max(0, column - range.end.column) + range.start.column; + } + row -= (range.end.row - range.start.row); + } + else if (range.end.row == row) { + row -= range.end.row - range.start.row; + column = Math.max(0, column - range.end.column) + range.start.column; + } + } else if (delta.action == "removeLines") { + if (range.start.row <= row) { + if (range.end.row <= row) + row -= range.end.row - range.start.row; + else { + row = range.start.row; + column = 0; + } + } + } + + this.setPosition(row, column, true); + }; + + this.setPosition = function(row, column, noClip) { + var pos; + if (noClip) { + pos = { + row: row, + column: column + }; + } + else { + pos = this.$clipPositionToDocument(row, column); + } + + if (this.row == pos.row && this.column == pos.column) + return; + + var old = { + row: this.row, + column: this.column + }; + + this.row = pos.row; + this.column = pos.column; + this._emit("change", { + old: old, + value: pos + }); + }; + + this.detach = function() { + this.document.removeEventListener("change", this.$onChange); + }; + + this.$clipPositionToDocument = function(row, column) { + var pos = {}; + + if (row >= this.document.getLength()) { + pos.row = Math.max(0, this.document.getLength() - 1); + pos.column = this.document.getLine(pos.row).length; + } + else if (row < 0) { + pos.row = 0; + pos.column = 0; + } + else { + pos.row = row; + pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column)); + } + + if (column < 0) + pos.column = 0; + + return pos; + }; + +}).call(Anchor.prototype); + +}); +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) { +"use strict"; + +exports.stringReverse = function(string) { + return string.split("").reverse().join(""); +}; + +exports.stringRepeat = function (string, count) { + return new Array(count + 1).join(string); +}; + +var trimBeginRegexp = /^\s\s*/; +var trimEndRegexp = /\s\s*$/; + +exports.stringTrimLeft = function (string) { + return string.replace(trimBeginRegexp, ''); +}; + +exports.stringTrimRight = function (string) { + return string.replace(trimEndRegexp, ''); +}; + +exports.copyObject = function(obj) { + var copy = {}; + for (var key in obj) { + copy[key] = obj[key]; + } + return copy; +}; + +exports.copyArray = function(array){ + var copy = []; + for (var i=0, l=array.length; i + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define('ace/mode/xquery/xquery', ['require', 'exports', 'module' , 'ace/mode/xquery/antlr3-all', 'ace/mode/xquery/XQueryLexer', 'ace/mode/xquery/XQueryParser'], function(require, exports, module) { + + var org = require("./antlr3-all").org; + var XQueryLexer = require("./XQueryLexer").XQueryLexer; + var XQueryParser = require("./XQueryParser").XQueryParser; + + exports.parse = function(code) { + var cstream = new org.antlr.runtime.ANTLRStringStream(code); + var lexer = new XQueryLexer(cstream); + var tstream = new org.antlr.runtime.CommonTokenStream(lexer); + var parser = new XQueryParser(tstream); + parser.p_Module(); + }; +}); +/* +Copyright (c) 2003-2008 Terence Parr. All rights reserved. +Code licensed under the BSD License: +http://www.antlr.org/license.html + +Some parts of the ANTLR class: +Copyright (c) 2008, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +*/ +/* +Some portions: +Copyright (c) 2008, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.5.1 +*/ +define('ace/mode/xquery/antlr3-all', ['require', 'exports', 'module' ], function(require, exports, module) { +// create org.antlr module +if (typeof org == "undefined" || !org) { + var org = {}; +} +if (typeof org.antlr == "undefined" || !org.antlr) { + /** + * The org.antlr global namespace object. If antlr is already defined, the + * existing antlr object will not be overwritten so that defined + * namespaces are preserved. + * @namespace org.antlr + */ + org.antlr = {}; +} + +/** + * The global JavaScript object. + */ +org.antlr.global = (function() { + return this; +}).call(null); + +/** + * Returns the namespace specified and creates it if it doesn't exist. + * + * Be careful when naming packages. Reserved words may work in some browsers + * and not others. For instance, the following will fail in Safari: + *
+ * org.antlr.namespace("really.long.nested.namespace");
+ * 
+ * This fails because "long" is a future reserved word in ECMAScript + * + * @static + * @param {String*} arguments 1-n namespaces to create + * @return {Object} A reference to the last namespace object created + * @example + * org.antlr.namespace("org.antlr.property.package"); + */ +org.antlr.namespace = function() { + var a=arguments, o=null, i, j, d; + for (i=0; i0 then it's the level of backtracking. + */ + this.backtracking = 0; + + /** An array[size num rules] of Map that tracks + * the stop token index for each rule. ruleMemo[ruleIndex] is + * the memoization table for ruleIndex. For key ruleStartIndex, you + * get back the stop token for associated rule or MEMO_RULE_FAILED. + * + * This is only used if rule memoization is on (which it is by default). + */ + this.ruleMemo = null; + + + // LEXER FIELDS (must be in same state object to avoid casting + // constantly in generated code and Lexer object) :( + + + /** The goal of all lexer rules/methods is to create a token object. + * This is an instance variable as multiple rules may collaborate to + * create a single token. nextToken will return this object after + * matching lexer rule(s). If you subclass to allow multiple token + * emissions, then set this to the last token to be matched or + * something nonnull so that the auto token emit mechanism will not + * emit another token. + */ + this.token = null; + + /** What character index in the stream did the current token start at? + * Needed, for example, to get the text for current token. Set at + * the start of nextToken. + */ + this.tokenStartCharIndex = -1; + + /** The line on which the first character of the token resides */ + // this.tokenStartLine; + + /** The character position of first character within the line */ + // this.tokenStartCharPositionInLine; + + /** The channel number for the current token */ + // this.channel; + + /** The token type for the current token */ + // this.type; + + /** You can set the text for the current token to override what is in + * the input char buffer. Use setText() or can set this instance var. + */ + this.text = null; +}; +org.antlr.runtime.IndexOutOfBoundsException = function(m) { + org.antlr.runtime.IndexOutOfBoundsException.superclass.constructor.call(this, m); +}; + +org.antlr.lang.extend(org.antlr.runtime.IndexOutOfBoundsException, Error, { + name: "org.antlr.runtime.IndexOutOfBoundsException" +}); +/** The root of the ANTLR exception hierarchy. + * + *

To avoid English-only error messages and to generally make things + * as flexible as possible, these exceptions are not created with strings, + * but rather the information necessary to generate an error. Then + * the various reporting methods in Parser and Lexer can be overridden + * to generate a localized error message. For example, MismatchedToken + * exceptions are built with the expected token type. + * So, don't expect getMessage() to return anything.

+ * + *

ANTLR generates code that throws exceptions upon recognition error and + * also generates code to catch these exceptions in each rule. If you + * want to quit upon first error, you can turn off the automatic error + * handling mechanism using rulecatch action, but you still need to + * override methods mismatch and recoverFromMismatchSet.

+ * + *

In general, the recognition exceptions can track where in a grammar a + * problem occurred and/or what was the expected input. While the parser + * knows its state (such as current input symbol and line info) that + * state can change before the exception is reported so current token index + * is computed and stored at exception time. From this info, you can + * perhaps print an entire line of input not just a single token, for example. + * Better to just say the recognizer had a problem and then let the parser + * figure out a fancy report.

+ * + * @class + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + * @extends Error + * + */ +org.antlr.runtime.RecognitionException = function(input) { + org.antlr.runtime.RecognitionException.superclass.constructor.call(this); + this.input = input; + this.index = input.index(); + if ( input instanceof org.antlr.runtime.CommonTokenStream ) { + this.token = input.LT(1); + this.line = this.token.getLine(); + this.charPositionInLine = this.token.getCharPositionInLine(); + } + if ( input instanceof org.antlr.runtime.tree.TreeNodeStream ) { + this.extractInformationFromTreeNodeStream(input); + } + else if ( input instanceof org.antlr.runtime.ANTLRStringStream ) { + // Note: removed CharStream from hierarchy in JS port so checking for + // StringStream instead + this.c = input.LA(1); + this.line = input.getLine(); + this.charPositionInLine = input.getCharPositionInLine(); + } + else { + this.c = input.LA(1); + } + + this.message = this.toString(); +}; + +org.antlr.lang.extend(org.antlr.runtime.RecognitionException, Error, +/** @lends org.antlr.runtime.RecognitionException.prototype */ +{ + /** + * What input stream did the error occur in? + */ + input: null, + + /** What is index of token/char were we looking at when the error occurred? + * @type Number + */ + index: null, + + /** The current Token when an error occurred. Since not all streams + * can retrieve the ith Token, we have to track the Token object. + * For parsers. Even when it's a tree parser, token might be set. + * @type org.antlr.runtime.CommonToken + */ + token: null, + + /** If this is a tree parser exception, node is set to the node with + * the problem. + * @type Object + */ + node: null, + + /** The current char when an error occurred. For lexers. + * @type Number + */ + c: null, + + /** Track the line at which the error occurred in case this is + * generated from a lexer. We need to track this since the + * unexpected char doesn't carry the line info. + * @type Number + */ + line: null, + + /** The exception's class name. + * @type String + */ + name: "org.antlr.runtime.RecognitionException", + + /** Position in the line where exception occurred. + * @type Number + */ + charPositionInLine: null, + + /** If you are parsing a tree node stream, you will encounter som + * imaginary nodes w/o line/col info. We now search backwards looking + * for most recent token with line/col info, but notify getErrorHeader() + * that info is approximate. + * @type Boolean + */ + approximateLineInfo: null, + + /** Gather exception information from input stream. + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + */ + extractInformationFromTreeNodeStream: function(input) { + var nodes = input, + priorNode, + priorPayLoad, + type, + text, + i; + + this.node = nodes.LT(1); + var adaptor = nodes.getTreeAdaptor(), + payload = adaptor.getToken(this.node); + if ( payload ) { + this.token = payload; + if ( payload.getLine()<= 0 ) { + // imaginary node; no line/pos info; scan backwards + i = -1; + priorNode = nodes.LT(i); + while ( priorNode ) { + priorPayload = adaptor.getToken(priorNode); + if ( priorPayload && priorPayload.getLine()>0 ) { + // we found the most recent real line / pos info + this.line = priorPayload.getLine(); + this.charPositionInLine = priorPayload.getCharPositionInLine(); + this.approximateLineInfo = true; + break; + } + --i; + priorNode = nodes.LT(i); + } + } + else { // node created from real token + this.line = payload.getLine(); + this.charPositionInLine = payload.getCharPositionInLine(); + } + } + else if ( this.node instanceof org.antlr.runtime.tree.CommonTree) { + this.line = this.node.getLine(); + this.charPositionInLine = this.node.getCharPositionInLine(); + if ( this.node instanceof org.antlr.runtime.tree.CommonTree) { + this.token = this.node.token; + } + } + else { + type = adaptor.getType(this.node); + text = adaptor.getText(this.node); + this.token = new org.antlr.runtime.CommonToken(type, text); + } + }, + + /** Return the token type or char of the unexpected input element + * @return {Number} type of the unexpected input element. + */ + getUnexpectedType: function() { + if ( this.input instanceof org.antlr.runtime.CommonTokenStream ) { + return this.token.getType(); + } + else if ( this.input instanceof org.antlr.runtime.tree.TreeNodeStream ) { + var nodes = this.input; + var adaptor = nodes.getTreeAdaptor(); + return adaptor.getType(this.node); + } + else { + return this.c; + } + } +}); +org.antlr.runtime.MismatchedTokenException = function(expecting, input) { + if (arguments.length===0) { + this.expecting = org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + } else { + org.antlr.runtime.MismatchedTokenException.superclass.constructor.call( + this, input); + this.expecting = expecting; + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedTokenException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedTokenException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedTokenException" +}); +/** An extra token while parsing a TokenStream */ +org.antlr.runtime.UnwantedTokenException = function(expecting, input) { + if (arguments.length>0) { + org.antlr.runtime.UnwantedTokenException.superclass.constructor.call( + this, expecting, input); + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.UnwantedTokenException, + org.antlr.runtime.MismatchedTokenException, { + getUnexpectedToken: function() { + return this.token; + }, + toString: function() { + var exp = ", expected "+this.expecting; + if ( this.expecting===org.antlr.runtime.Token.INVALID_TOKEN_TYPE ) { + exp = ""; + } + if ( !org.antlr.lang.isValue(this.token) ) { + return "UnwantedTokenException(found="+exp+")"; + } + return "UnwantedTokenException(found="+this.token.getText()+exp+")"; + }, + name: "org.antlr.runtime.UnwantedTokenException" +}); +org.antlr.runtime.MissingTokenException = function(expecting, input, inserted) { + if (arguments.length>0) { + org.antlr.runtime.MissingTokenException.superclass.constructor.call( + this, expecting, input); + this.inserted = inserted; + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.MissingTokenException, + org.antlr.runtime.MismatchedTokenException, { + getMissingType: function() { + return this.expecting; + }, + + toString: function() { + if (org.antlr.lang.isValue(this.inserted) && + org.antlr.lang.isValue(this.token)) + { + return "MissingTokenException(inserted "+this.inserted+" at "+this.token.getText()+")"; + } + if ( org.antlr.lang.isValue(this.token) ) { + return "MissingTokenException(at "+this.token.getText()+")"; + } + return "MissingTokenException"; + }, + name: "org.antlr.runtime.MissingTokenException" +}); +org.antlr.runtime.NoViableAltException = function(grammarDecisionDescription, + decisionNumber, + stateNumber, + input) +{ + org.antlr.runtime.NoViableAltException.superclass.constructor.call(this, input); + this.grammarDecisionDescription = grammarDecisionDescription; + this.decisionNumber = decisionNumber; + this.stateNumber = stateNumber; +}; + +org.antlr.lang.extend( + org.antlr.runtime.NoViableAltException, + org.antlr.runtime.RecognitionException, { + toString: function() { + if ( this.input instanceof org.antlr.runtime.ANTLRStringStream ) { + return "NoViableAltException('"+this.getUnexpectedType()+"'@["+this.grammarDecisionDescription+"])"; + } + else { + return "NoViableAltException("+this.getUnexpectedType()+"@["+this.grammarDecisionDescription+"])"; + } + }, + name: "org.antlr.runtime.NoViableAltException" +}); +/** The recognizer did not match anything for a ()+ loop. + * + * @class + * @param {Number} decisionNumber + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + * @extends org.antlr.runtime.RecognitionException + */ +org.antlr.runtime.EarlyExitException = function(decisionNumber, input) { + org.antlr.runtime.EarlyExitException.superclass.constructor.call( + this, input); + this.decisionNumber = decisionNumber; +}; + +org.antlr.lang.extend( + org.antlr.runtime.EarlyExitException, + org.antlr.runtime.RecognitionException, +/** @lends org.antlr.runtime.EarlyExitException.prototype */ +{ + /** Name of this class. + * @type String + */ + name: "org.antlr.runtime.EarlyExitException" +}); +org.antlr.runtime.MismatchedSetException = function(expecting, input) { + org.antlr.runtime.MismatchedSetException.superclass.constructor.call( + this, input); + this.expecting = expecting; +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedSetException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedSetException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedSetException" +}); +org.antlr.runtime.MismatchedNotSetException = function(expecting, input) { + org.antlr.runtime.MismatchedNotSetException.superclass.constructor.call(this, expecting, input); +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedNotSetException, + org.antlr.runtime.MismatchedSetException, { + toString: function() { + return "MismatchedNotSetException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedNotSetException" +}); +org.antlr.runtime.MismatchedRangeException = function(a, b, input) { + if (arguments.length===0) { + return this; + } + + org.antlr.runtime.MismatchedRangeException.superclass.constructor.call( + this, input); + this.a = a; + this.b = b; +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedRangeException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedRangeException(" + + this.getUnexpectedType()+" not in ["+this.a+","+this.b+"])"; + }, + name: "org.antlr.runtime.MismatchedRangeException" +}); +/** A semantic predicate failed during validation. Validation of predicates + * occurs when normally parsing the alternative just like matching a token. + * Disambiguating predicate evaluation occurs when we hoist a predicate into + * a prediction decision. + * + * @class + * @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception. + * @param {String} ruleName name of the rule in which the exception occurred. + * @param {String} predicateText the predicate that failed. + * @extends org.antlr.runtime.RecognitionException + */ +org.antlr.runtime.FailedPredicateException = function(input, ruleName, predicateText){ + org.antlr.runtime.FailedPredicateException.superclass.constructor.call(this, input); + this.ruleName = ruleName; + this.predicateText = predicateText; +}; + +org.antlr.lang.extend( + org.antlr.runtime.FailedPredicateException, + org.antlr.runtime.RecognitionException, +/** @lends org.antlr.runtime.FailedPredicateException.prototype */ +{ + /** Create a string representation of this exception. + * @returns {String} + */ + toString: function() { + return "FailedPredicateException("+this.ruleName+",{"+this.predicateText+"}?)"; + }, + + /** Name of this class. + * @type String + */ + name: "org.antlr.runtime.FailedPredicateException" +}); +/** + * A BitSet similar to java.util.BitSet. + * + *

JavaScript Note: There is no good way to implement something like this in + * JavaScript. JS has no true int type, arrays are usually implemented as + * hashes, etc. This class should probably be nixed for something that is + * similarly (in)efficient, but more clear.

+ * + * @class + * @param {Number|Array} [bits] a 32 bit number or array of 32 bit numbers + * representing the bitset. These are typically + * generated by the ANTLR Tool. + */ +org.antlr.runtime.BitSet = function(bits) { + if (!bits) { + bits = org.antlr.runtime.BitSet.BITS; + } + + if (org.antlr.lang.isArray(bits)) { + /** + * An array of Numbers representing the BitSet. + * @type Array + */ + this.bits = bits; + } else if(org.antlr.lang.isNumber(bits)) { + this.bits = []; + } +}; + +org.antlr.lang.augmentObject(org.antlr.runtime.BitSet, { + /** + * Number of bits in each number. + * @constant + * @memberOf org.antlr.runtime.BitSet + */ + BITS: 32, + + /** + * Log (base 2) of the number of bits in each number. + * @constant + * @memberOf org.antlr.runtime.BitSet + */ + LOG_BITS: 5, // 2^5 == 32 + + /** + * We will often need to do a mod operator (i mod nbits). Its + * turns out that, for powers of two, this mod operation is + * same as (i & (nbits-1)). Since mod is slow, we use a + * precomputed mod mask to do the mod instead. + * @constant + * @memberOf org.antlr.runtime.BitSet + */ + MOD_MASK: 31, // BITS - 1 + + /** + * Create mask for bit modded to fit in a single word. + * @example + * bitmask(35) => 00000000000000000000000000000100 + * bitmask(3) => 00000000000000000000000000000100 + * @param {Number} bitNumber the bit to create a mask for. + * @returns {Number} the bitmask. + * @memberOf org.antlr.runtime.BitSet + * @private + */ + bitMask: function(bitNumber) { + var bitPosition = bitNumber & org.antlr.runtime.BitSet.MOD_MASK; + return 1 << bitPosition; + }, + + /** + * Calculate the minimum number of bits needed to represent el. + * @param {Number} el a number to be included in the BitSet. + * @returns {Number} the number of bits need to create a BitSet with member + * el. + * @memberOf org.antlr.runtime.BitSet + * @private + */ + numWordsToHold: function(el) { + return (el >> org.antlr.runtime.BitSet.LOG_BITS) + 1; + }, + + /** + * @param {Number} bit a number to be included in the BitSet + * @returns {Number} the index of the word in the field bits that would + * hold bit. + * @memberOf org.antlr.runtime.BitSet + * @private + */ + wordNumber: function(bit) { + return bit >> org.antlr.runtime.BitSet.LOG_BITS; // bit / BITS + }, + + /** + * BitSet factory method. + * + *

Operates in a number of modes: + *

    + *
  • If el is a number create the BitSet containing that number.
  • + *
  • If el is an array create the BitSet containing each number in the + * array.
  • + *
  • If el is a BitSet return el.
  • + *
  • If el is an Object create the BitSet containing each numeric value + * in el.
  • + *
  • If el is a number and el2 is a number return a BitSet containing + * the numbers between el and el2 (inclusive).
  • + *
+ *

+ * @param {Number|Array|org.antlr.runtime.BitSet|Object} el + * @param {Number} el2 + * @returns {org.antlr.runtime.BitSet} + * @memberOf org.antlr.runtime.BitSet + */ + of: function(el, el2) { + var i, n, s, keys; + + if (org.antlr.lang.isNumber(el)) { + if (org.antlr.lang.isNumber(el2)) { + s = new org.antlr.runtime.BitSet(el2 + 1); + for (i = el; i <= el2; i++) { + n = org.antlr.runtime.BitSet.wordNumber(i); + s.bits[n] |= org.antlr.runtime.BitSet.bitMask(i); + } + return s; + } else { + s = new org.antlr.runtime.BitSet(el + 1); + s.add(el); + return s; + } + } else if(org.antlr.lang.isArray(el)) { + s = new org.antlr.runtime.BitSet(); + for (i=el.length-1; i>=0; i--) { + s.add(el[i]); + } + return s; + } else if (el instanceof org.antlr.runtime.BitSet) { + if (!el) { + return null; + } + return el; + } else if (el instanceof org.antlr.runtime.IntervalSet) { + if (!el) { + return null; + } + s = new org.antlr.runtime.BitSet(); + s.addAll(el); + return s; + } else if (org.antlr.lang.isObject(el)) { + keys = []; + for (i in el) { + if (org.antlr.lang.isNumber(i)) { + keys.push(i); + } + } + return org.antlr.runtime.BitSet.of(keys); + } + } +}); + + + +org.antlr.runtime.BitSet.prototype = { + /** + * Add el into this set. + * @param {Number} el the number to add to the set. + */ + add: function(el) { + var n = org.antlr.runtime.BitSet.wordNumber(el); + if (n >= this.bits.length) { + this.growToInclude(el); + } + this.bits[n] |= org.antlr.runtime.BitSet.bitMask(el); + }, + + /** + * Add multiple elements into this set. + * @param {Array|org.antlr.runtime.BitSet} elements the elements to be added to + * this set. + */ + addAll: function(elements) { + var other, + i, + e; + + if ( elements instanceof org.antlr.runtime.BitSet ) { + this.orInPlace(elements); + } + else if ( elements instanceof org.antlr.runtime.IntervalSet ) { + other = elements; + // walk set and add each interval + /* @todo after implementing intervalset + for (Iterator iter = other.intervals.iterator(); iter.hasNext();) { + Interval I = (Interval) iter.next(); + this.orInPlace(BitSet.range(I.a,I.b)); + }*/ + } else if (org.antlr.lang.isArray(elements)) { + for (i = 0; i < elements.length; i++) { + e = elements[i]; + this.add(e); + } + } else { + return; + } + }, + + /** + * Clone this BitSet and then {@link #andInPlace} with a. + * @param {org.antlr.runtime.BitSet} a a bit set. + * @returns {org.antlr.runtime.BitSet} + */ + and: function(a) { + var s = this.clone(); + s.andInPlace(a); + return s; + }, + + /** + * Perform a logical AND of this target BitSet with the argument BitSet. + * + * This bit set is modified so that each bit in it has the value true if + * and only if it both initially had the value true and the corresponding + * bit in the bit set argument also had the value true. + * @param {org.antlr.runtime.BitSet} a a bit set. + * @returns {org.antlr.runtime.BitSet} + */ + andInPlace: function(a) { + var min = Math.min(this.bits.length, a.bits.length), + i; + for (i = min - 1; i >= 0; i--) { + this.bits[i] &= a.bits[i]; + } + // clear all bits in this not present in a (if this bigger than a). + for (i = min; i < this.bits.length; i++) { + this.bits[i] = 0; + } + }, + + /** + * Clear all bits or a specific bit. + * + * If no arguments given, sets all of the bits in this BitSet to false. + * If one argument given, sets the bit specified by the index to false. + * @param {Number} [el] the index of the bit to be cleared. + */ + clear: function(el) { + if (arguments.length===0) { + var i; + for (i = this.bits.length - 1; i >= 0; i--) { + this.bits[i] = 0; + } + return; + } + + var n = org.antlr.runtime.BitSet.wordNumber(el); + if (n >= this.bits.length) { // grow as necessary to accommodate + this.growToInclude(el); + } + this.bits[n] &= ~org.antlr.runtime.BitSet.bitMask(el); + }, + + /** + * Cloning this BitSet produces a new BitSet that is equal to it. + * + * The clone of the bit set is another bit set that has exactly the same + * bit set to true as this bit set. + * @returns {org.antlr.runtime.BitSet} a clone of this BitSet. + */ + clone: function() { + var i, len, b=[]; + for (i=0, len=this.bits.length; i= 0; i--) { + word = this.bits[i]; + if (word !== 0) { + for (bit = org.antlr.runtime.BitSet.BITS - 1; bit >= 0; bit--) { + if ((word & (1 << bit)) !== 0) { + deg++; + } + } + } + } + return deg; + }, + + /** + * Compares this object against the specified object. + * + * The result is true if and only if the argument is not null and is a + * BitSet object that has exactly the same set of bits set to true as + * this bit set. That is, for every nonnegative int index k, + *

+     * ((BitSet)obj).get(k) == this.get(k)
+     * 
+ * must be true. The current sizes of the two bit sets are not compared. + * @param {Object} other the object to compare with. + * @returns {Boolean} if the objects are the same; false otherwise. + */ + equals: function(other) { + if ( !other || !(other instanceof org.antlr.runtime.BitSet) ) { + return false; + } + + var otherSet = other, + i, + n = Math.min(this.bits.length, otherSet.bits.length); + + // for any bits in common, compare + for (i=0; i n) { + for (i = n+1; i n) { + for (i = n+1; i= this.bits.length) { return false; } + return (this.bits[n] & org.antlr.runtime.BitSet.bitMask(el)) !== 0; + }, + + /** + * Returns the index of the first bit that is set to true. + * If no such bit exists then -1 is returned. + * @returns {Number} the index of the next set bit. + */ + getSingleElement: function() { + var i; + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + return i; + } + } + return -1; //Label.INVALID; + }, + + /** + * Returns true if this BitSet contains no bits that are set to true. + * @returns {Boolean} boolean indicating whether this BitSet is empty. + */ + isNil: function() { + var i; + for (i = this.bits.length - 1; i >= 0; i--) { + if (this.bits[i] !== 0) { + return false; + } + } + return true; + }, + + /** + * If a bit set argument is passed performs a {@link #subtract} of this bit + * set with the argument bit set. If no argument is passed, clone this bit + * set and {@link #notInPlace}. + * @param {org.antlr.runtime.BitSet} [set] + * @returns {org.antlr.runtime.BitSet} + */ + complement: function(set) { + if (set) { + return set.subtract(this); + } else { + var s = this.clone(); + s.notInPlace(); + return s; + } + }, + + /** + * If no arguments are passed sets all bits to the complement of their + * current values. If one argument is passed sets each bit from the + * beginning of the bit set to index1 (inclusive) to the complement of its + * current value. If two arguments are passed sets each bit from the + * specified index1 (inclusive) to the sepcified index2 (inclusive) to the + * complement of its current value. + * @param {Number} index1 + * @param {Number} index2 + */ + notInPlace: function() { + var minBit, maxBit, i, n; + if (arguments.length===0) { + for (i = this.bits.length - 1; i >= 0; i--) { + this.bits[i] = ~this.bits[i]; + } + } else { + if (arguments.length===1) { + minBit = 0; + maxBit = arguments[0]; + } else { + minBit = arguments[0]; + maxBit = arguments[1]; + } + // make sure that we have room for maxBit + this.growToInclude(maxBit); + for (i = minBit; i <= maxBit; i++) { + n = org.antlr.runtime.BitSet.wordNumber(i); + this.bits[n] ^= org.antlr.runtime.BitSet.bitMask(i); + } + } + + }, + + /** + * Performs a logical OR of this bit set with the bit set argument. + * If no argument is passed, return this bit set. Otherwise a clone of + * this bit set is modified so that a bit in it has the value true if and + * only if it either already had the value true or the corresponding bit + * in the bit set argument has the value true. + * @param {org.antlr.runtime.BitSet} [a] a bit set. + * @returns {org.antlr.runtime.BitSet} + */ + or: function(a) { + if ( !a ) { + return this; + } + var s = this.clone(); + s.orInPlace(a); + return s; + }, + + /** + * Performs a logical {@link #or} in place. + * @param {org.antlr.runtime.BitSet} [a] + * @returns {org.antlr.runtime.BitSet} + */ + orInPlace: function(a) { + if ( !a ) { + return; + } + // If this is smaller than a, grow this first + if (a.bits.length > this.bits.length) { + this.setSize(a.bits.length); + } + var min = Math.min(this.bits.length, a.bits.length), + i; + for (i = min - 1; i >= 0; i--) { + this.bits[i] |= a.bits[i]; + } + }, + + /** + * Sets the bit specified by the index to false. + * @param {Number} bitIndex the index of the bit to be cleared. + */ + remove: function(el) { + var n = org.antlr.runtime.BitSet.wordNumber(el); + if (n >= this.bits.length) { + this.growToInclude(el); + } + this.bits[n] &= ~org.antlr.runtime.BitSet.bitMask(el); + }, + + /** + * Grows the internal bits array to include at least nwords numbers. + * @private + * @param {Number} nwords how many words the new set should be + * @private + */ + setSize: function(nwords) { + var n = nwords - this.bits.length; + while (n>=0) { + this.bits.push(0); + n--; + } + }, + + /** + * Returns the number of bits capable of being represented by this bit set + * given its current size. + * @returns {Number} the maximum number of bits that can be represented at + * the moment. + * @private + */ + numBits: function() { + return this.bits.length << org.antlr.runtime.BitSet.LOG_BITS; // num words * bits per word + }, + + /** + * Return how much space is being used by the bits array not + * how many actually have member bits on. + * @returns {Number} the length of the internal bits array. + * @private + */ + lengthInLongWords: function() { + return this.bits.length; + }, + + /** + * Is this bit set contained within a? + * @param {org.antlr.runtime.BitSet} a bit set + * @returns {Boolean} true if and only if a is a subset of this bit set. + */ + subset: function(a) { + if (!a) { return false; } + return this.and(a).equals(this); + }, + + /** + * Subtract the elements of the argument bit set from this bit set in place. + * That is, for each set bit in the argument bit set, set the corresponding + * bit in this bit set to false. + * @param {org.antlr.runtime.BitSet} a bit set. + */ + subtractInPlace: function(a) { + if (!a) { return; } + // for all words of 'a', turn off corresponding bits of 'this' + var i; + for (i = 0; i < this.bits.length && i < a.bits.length; i++) { + this.bits[i] &= ~a.bits[i]; + } + }, + + /** + * Perform a {@link #subtractInPlace} on a clone of this bit set. + * @param {org.antlr.runtime.BitSet} a bit set. + * @returns {org.antlr.runtime.BitSet} the new bit set. + */ + subtract: function(a) { + if (!a || !(a instanceof org.antlr.runtime.BitSet)) { return null; } + + var s = this.clone(); + s.subtractInPlace(a); + return s; + }, + + /* antlr-java needs this to make its class hierarchy happy . . . + toList: function() { + throw new Error("BitSet.toList() unimplemented"); + }, + */ + + /** + * Creates an array of the indexes of each bit set in this bit set. + * @returns {Array} + */ + toArray: function() { + var elems = [], //new Array(this.size()), + i, + en = 0; + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + elems[en++] = i; + } + } + return elems; + }, + + /** + * Returns the internal representation of this bit set. + * This representation is an array of numbers, each representing 32 bits. + * @returns {Array} + */ + toPackedArray: function() { + return this.bits; + }, + + /** + * Returns a string representation of this bit set. + *

For every index for which this BitSet contains a bit in the set state, + * the decimal representation of that index is included in the result. + * Such indices are listed in order from lowest to highest, separated by + * ", " (a comma and a space) and surrounded by braces, resulting in the + * usual mathematical notation for a set of integers.

+ * + *

If a grammar g is passed, print g.getTokenDisplayName(i) for each set + * index instead of the numerical index.

+ * + * <>If two arguments are passed, the first will be used as a custom + * separator string. The second argument is an array whose i-th element + * will be added if the corresponding bit is set.

+ * + * @param {Object|String} [arg1] an Object with function property + * getTokenDispalyName or a String that will be used as a list + * separator. + * @param {Array} [vocabulary] array from which the i-th value will be + * drawn if the corresponding bit is set. Must pass a string as the + * first argument if using this option. + * @return A commma-separated list of values + */ + toString: function() { + if (arguments.length===0) { + return this.toString1(null); + } else { + if (org.antlr.lang.isString(arguments[0])) { + if (!org.antlr.lang.isValue(arguments[1])) { + return this.toString1(null); + } else { + return this.toString2(arguments[0], arguments[1]); + } + } else { + return this.toString1(arguments[0]); + } + } + }, + + /** + * Transform a bit set into a string by formatting each element as an + * integer separator The string to put in between elements + * @private + * @return A commma-separated list of values + */ + toString1: function(g) { + var buf = "{", + separator = ",", + i, + havePrintedAnElement = false; + + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + if (i > 0 && havePrintedAnElement ) { + buf += separator; + } + if ( g ) { + buf += g.getTokenDisplayName(i); + } + else { + buf += i.toString(); + } + havePrintedAnElement = true; + } + } + return buf + "}"; + }, + + /** + * Create a string representation where instead of integer elements, the + * ith element of vocabulary is displayed instead. Vocabulary is a Vector + * of Strings. + * separator The string to put in between elements + * @private + * @return A commma-separated list of character constants. + */ + toString2: function(separator, vocabulary) { + var str = "", + i; + for (i = 0; i < (this.bits.length << org.antlr.runtime.BitSet.LOG_BITS); i++) { + if (this.member(i)) { + if (str.length > 0) { + str += separator; + } + if (i >= vocabulary.size()) { + str += "'" + i + "'"; + } + else if (!org.antlr.lang.isValue(vocabulary.get(i))) { + str += "'" + i + "'"; + } + else { + str += vocabulary.get(i); + } + } + } + return str; + } + + /* + * Dump a comma-separated list of the words making up the bit set. + * Split each 32 bit number into two more manageable 16 bit numbers. + * @returns {String} comma separated list view of the this.bits property. + * + toStringOfHalfWords: function() { + var s = "", + tmp, + i; + for (i = 0; i < this.bits.length; i++) { + if (i !== 0) { + s+=", "; + } + tmp = this.bits[i]; + tmp &= 0xFFFF; + s += tmp + "UL, "; + tmp = this.bits[i] >> 16; + tmp &= 0xFFFF; + s += tmp+"UL"; + } + return s; + }, + */ + + /* + * Dump a comma-separated list of the words making up the bit set. + * This generates a comma-separated list of Java-like long int constants. + * + toStringOfWords: function() { + var s="", + i; + for (i = 0; i < this.bits.length; i++) { + if (i !== 0) { + s+=", "; + } + s += this.bits[i]+"L"; + } + return s; + }, + + toStringWithRanges: function() { + return this.toString(); + } + */ +}; + +/* + * + * +org.antlr.runtime.IntervalSet = function() { + throw new Error("not implemented"); +}; +*/ +org.antlr.runtime.CharStream = { + EOF: -1 +}; +org.antlr.runtime.CommonToken = function() { + var oldToken; + + this.charPositionInLine = -1; // set to invalid position + this.channel = 0; // org.antlr.runtime.CommonToken.DEFAULT_CHANNEL + this.index = -1; + + if (arguments.length == 1) { + if (org.antlr.lang.isNumber(arguments[0])) { + this.type = arguments[0]; + } else { + oldToken = arguments[0]; + this.text = oldToken.getText(); + this.type = oldToken.getType(); + this.line = oldToken.getLine(); + this.index = oldToken.getTokenIndex(); + this.charPositionInLine = oldToken.getCharPositionInLine(); + this.channel = oldToken.getChannel(); + if ( oldToken instanceof org.antlr.runtime.CommonToken ) { + this.start = oldToken.start; + this.stop = oldToken.stop; + } + } + } else if (arguments.length == 2) { + this.type = arguments[0]; + this.text = arguments[1]; + this.channel = 0; // org.antlr.runtime.CommonToken.DEFAULT_CHANNEL + } else if (arguments.length == 5) { + this.input = arguments[0]; + this.type = arguments[1]; + this.channel = arguments[2]; + this.start = arguments[3]; + this.stop = arguments[4]; + } +}; + +org.antlr.runtime.CommonToken.prototype = { + getType: function() { + return this.type; + }, + + setLine: function(line) { + this.line = line; + }, + + getText: function() { + if ( org.antlr.lang.isString(this.text) ) { + return this.text; + } + if ( !this.input ) { + return null; + } + this.text = this.input.substring(this.start,this.stop); + return this.text; + }, + + /** Override the text for this token. getText() will return this text + * rather than pulling from the buffer. Note that this does not mean + * that start/stop indexes are not valid. It means that that input + * was converted to a new string in the token object. + */ + setText: function(text) { + this.text = text; + }, + + getLine: function() { + return this.line; + }, + + getCharPositionInLine: function() { + return this.charPositionInLine; + }, + + setCharPositionInLine: function(charPositionInLine) { + this.charPositionInLine = charPositionInLine; + }, + + getChannel: function() { + return this.channel; + }, + + setChannel: function(channel) { + this.channel = channel; + }, + + setType: function(type) { + this.type = type; + }, + + getStartIndex: function() { + return this.start; + }, + + setStartIndex: function(start) { + this.start = start; + }, + + getStopIndex: function() { + return this.stop; + }, + + setStopIndex: function(stop) { + this.stop = stop; + }, + + getTokenIndex: function() { + return this.index; + }, + + setTokenIndex: function(index) { + this.index = index; + }, + + getInputStream: function() { + return this.input; + }, + + setInputStream: function(input) { + this.input = input; + }, + + toString: function() { + var channelStr = ""; + if ( this.channel>0 ) { + channelStr=",channel="+this.channel; + } + var txt = this.getText(); + if ( !org.antlr.lang.isNull(txt) ) { + txt = txt.replace(/\n/g,"\\\\n"); + txt = txt.replace(/\r/g,"\\\\r"); + txt = txt.replace(/\t/g,"\\\\t"); + } + else { + txt = ""; + } + return "[@"+this.getTokenIndex()+","+this.start+":"+this.stop+"='"+txt+"',<"+this.type+">"+channelStr+","+this.line+":"+this.getCharPositionInLine()+"]"; + } +}; +// NB: Because Token has static members of type CommonToken, the Token dummy +// constructor is defined in CommonToken. All methods and vars of Token are +// defined here. Token is an interface, not a subclass in the Java runtime. + +/** + * @class Abstract base class of all token types. + * @name Token + * @memberOf org.antlr.runtime + */ +org.antlr.runtime.Token = function() {}; +org.antlr.lang.augmentObject(org.antlr.runtime.Token, /** @lends Token */ { + EOR_TOKEN_TYPE: 1, + + /** imaginary tree navigation type; traverse "get child" link */ + DOWN: 2, + /** imaginary tree navigation type; finish with a child list */ + UP: 3, + + MIN_TOKEN_TYPE: 4, // UP+1, + + EOF: org.antlr.runtime.CharStream.EOF, + EOF_TOKEN: new org.antlr.runtime.CommonToken(org.antlr.runtime.CharStream.EOF), + + INVALID_TOKEN_TYPE: 0, + INVALID_TOKEN: new org.antlr.runtime.CommonToken(0), + + /** In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + * will avoid creating a token for this symbol and try to fetch another. + */ + SKIP_TOKEN: new org.antlr.runtime.CommonToken(0), + + /** All tokens go to the parser (unless skip() is called in that rule) + * on a particular "channel". The parser tunes to a particular channel + * so that whitespace etc... can go to the parser on a "hidden" channel. + */ + DEFAULT_CHANNEL: 0, + + /** Anything on different channel than DEFAULT_CHANNEL is not parsed + * by parser. + */ + HIDDEN_CHANNEL: 99 +}); + +org.antlr.lang.augmentObject(org.antlr.runtime.CommonToken, org.antlr.runtime.Token); +org.antlr.runtime.tree = {}; +org.antlr.runtime.tree.RewriteCardinalityException = function(elementDescription) { + this.elementDescription = elementDescription; +}; + +/** Base class for all exceptions thrown during AST rewrite construction. + * This signifies a case where the cardinality of two or more elements + * in a subrule are different: (ID INT)+ where |ID|!=|INT| + */ +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteCardinalityException, Error, { + getMessage: function() { + if ( org.antlr.lang.isString(this.elementDescription) ) { + return this.elementDescription; + } + return null; + }, + name: function() { + return "org.antlr.runtime.tree.RewriteCardinalityException"; + } +}); +/** Ref to ID or expr but no tokens in ID stream or subtrees in expr stream */ +org.antlr.runtime.tree.RewriteEmptyStreamException = function(elementDescription) { + var sup = org.antlr.runtime.tree.RewriteEmptyStreamException.superclass; + sup.constructor.call(this, elementDescription); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteEmptyStreamException, + org.antlr.runtime.tree.RewriteCardinalityException, { + name: function() { + return "org.antlr.runtime.tree.RewriteEmptyStreamException"; + } +}); +/** No elements within a (...)+ in a rewrite rule */ +org.antlr.runtime.tree.RewriteEarlyExitException = function(elementDescription) { + var sup = org.antlr.runtime.tree.RewriteEarlyExitException.superclass; + if (org.antlr.lang.isUndefined(elementDescription)) { + elementDescription = null; + } + sup.constructor.call(this, elementDescription); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteEarlyExitException, + org.antlr.runtime.tree.RewriteCardinalityException, { + name: function() { + return "org.antlr.runtime.tree.RewriteEarlyExitException"; + } +}); +org.antlr.runtime.MismatchedTreeNodeException = function(expecting, input) { + if (expecting && input) { + org.antlr.runtime.MismatchedTreeNodeException.superclass.constructor.call( + this, input); + this.expecting = expecting; + } +}; + +org.antlr.lang.extend( + org.antlr.runtime.MismatchedTreeNodeException, + org.antlr.runtime.RecognitionException, { + toString: function() { + return "MismatchedTreeNodeException(" + + this.getUnexpectedType() + "!=" + this.expecting + ")"; + }, + name: "org.antlr.runtime.MismatchedTreeNodeException" +}); +/** A generic tree implementation with no payload. You must subclass to + * actually have any user data. ANTLR v3 uses a list of children approach + * instead of the child-sibling approach in v2. A flat tree (a list) is + * an empty node whose children represent the list. An empty, but + * non-null node is called "nil". + */ +org.antlr.runtime.tree.BaseTree = function() {}; + +org.antlr.runtime.tree.BaseTree.prototype = { + getChild: function(i) { + if ( !this.children || i>=this.children.length ) { + return null; + } + return this.children[i]; + }, + + /** Get the children internal List; note that if you directly mess with + * the list, do so at your own risk. + */ + getChildren: function() { + return this.children; + }, + + getFirstChildWithType: function(type) { + var i, t; + for (i = 0; this.children && i < this.children.length; i++) { + t = this.children[i]; + if ( t.getType()===type ) { + return t; + } + } + return null; + }, + + getChildCount: function() { + if ( !this.children ) { + return 0; + } + return this.children.length; + }, + + /** Add t as child of this node. + * + * Warning: if t has no children, but child does + * and child isNil then this routine moves children to t via + * t.children = child.children; i.e., without copying the array. + */ + addChild: function(t) { + if ( !org.antlr.lang.isValue(t) ) { + return; // do nothing upon addChild(null) + } + var childTree = t, n, i, c; + if ( childTree.isNil() ) { // t is an empty node possibly with children + if ( this.children && this.children == childTree.children ) { + throw new Error("attempt to add child list to itself"); + } + // just add all of childTree's children to this + if ( childTree.children ) { + if ( this.children ) { // must copy, this has children already + n = childTree.children.length; + for (i = 0; i < n; i++) { + c = childTree.children[i]; + this.children.push(c); + // handle double-link stuff for each child of nil root + c.setParent(this); + c.setChildIndex(this.children.length-1); + } + } + else { + // no children for this but t has children; just set pointer + // call general freshener routine + this.children = childTree.children; + this.freshenParentAndChildIndexes(); + } + } + } + else { // child is not nil (don't care about children) + if ( !this.children ) { + this.children = this.createChildrenList(); // create children list on demand + } + this.children.push(t); + childTree.setParent(this); + childTree.setChildIndex(this.children.length-1); + } + }, + + /** Add all elements of kids list as children of this node */ + addChildren: function(kids) { + var i, t; + for (i = 0; i < kids.length; i++) { + t = kids[i]; + this.addChild(t); + } + }, + + setChild: function(i, t) { + if ( !t ) { + return; + } + if ( t.isNil() ) { + throw new Error("Can't set single child to a list"); + } + if ( !this.children ) { + this.children = this.createChildrenList(); + } + this.children[i] = t; + t.setParent(this); + t.setChildIndex(i); + }, + + deleteChild: function(i) { + if ( !this.children ) { + return null; + } + if (i<0 || i>=this.children.length) { + throw new Error("Index out of bounds."); + } + var killed = this.children.splice(i, 1)[0]; + // walk rest and decrement their child indexes + this.freshenParentAndChildIndexes(i); + return killed; + }, + + /** Delete children from start to stop and replace with t even if t is + * a list (nil-root tree). num of children can increase or decrease. + * For huge child lists, inserting children can force walking rest of + * children to set their childindex; could be slow. + */ + replaceChildren: function(startChildIndex, stopChildIndex, t) { + if ( !this.children ) { + throw new Error("indexes invalid; no children in list"); + } + var replacingHowMany = stopChildIndex - startChildIndex + 1; + var replacingWithHowMany; + var newTree = t; + var newChildren = null; + // normalize to a list of children to add: newChildren + if ( newTree.isNil() ) { + newChildren = newTree.children; + } + else { + newChildren = []; + newChildren.push(newTree); + } + replacingWithHowMany = newChildren.length; + var numNewChildren = newChildren.length; + var delta = replacingHowMany - replacingWithHowMany; + var j, i, child, indexToDelete, c, killed, numToInsert; + // if same number of nodes, do direct replace + if ( delta === 0 ) { + j = 0; // index into new children + for (i=startChildIndex; i<=stopChildIndex; i++) { + child = newChildren[j]; + this.children[i] = child; + child.setParent(this); + child.setChildIndex(i); + j++; + } + } + else if ( delta > 0 ) { // fewer new nodes than there were + // set children and then delete extra + for (j=0; j0 ) { + buf += ' '; + } + buf += t.toStringTree(); + } + if ( !this.isNil() ) { + buf += ")"; + } + return buf; + }, + + getLine: function() { + return 0; + }, + + getCharPositionInLine: function() { + return 0; + } +}; +/** A tree node that is wrapper for a Token object. After 3.0 release + * while building tree rewrite stuff, it became clear that computing + * parent and child index is very difficult and cumbersome. Better to + * spend the space in every tree node. If you don't want these extra + * fields, it's easy to cut them out in your own BaseTree subclass. + */ +org.antlr.runtime.tree.CommonTree = function(node) { + /** What token indexes bracket all tokens associated with this node + * and below? + */ + this.startIndex = -1; + this.stopIndex = -1; + + /** What index is this node in the child list? Range: 0..n-1 */ + this.childIndex = -1; + + /** Who is the parent node of this node; if null, implies node is root */ + this.parent = null; + + /** A single token is the payload */ + this.token = null; + + if (node instanceof org.antlr.runtime.tree.CommonTree) { + org.antlr.runtime.tree.CommonTree.superclass.constructor.call(this, node); + this.token = node.token; + this.startIndex = node.startIndex; + this.stopIndex = node.stopIndex; + } else if (node instanceof org.antlr.runtime.CommonToken) { + this.token = node; + } +}; + +/** A tree node that is wrapper for a Token object. */ +org.antlr.lang.extend(org.antlr.runtime.tree.CommonTree, org.antlr.runtime.tree.BaseTree, { + getToken: function() { + return this.token; + }, + + dupNode: function() { + return new org.antlr.runtime.tree.CommonTree(this); + }, + + isNil: function() { + return !this.token; + }, + + getType: function() { + if ( !this.token ) { + return org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + } + return this.token.getType(); + }, + + getText: function() { + if ( !this.token ) { + return null; + } + return this.token.getText(); + }, + + getLine: function() { + if ( !this.token || this.token.getLine()===0 ) { + if ( this.getChildCount()>0 ) { + return this.getChild(0).getLine(); + } + return 0; + } + return this.token.getLine(); + }, + + getCharPositionInLine: function() { + if ( !this.token || this.token.getCharPositionInLine()===-1 ) { + if ( this.getChildCount()>0 ) { + return this.getChild(0).getCharPositionInLine(); + } + return 0; + } + return this.token.getCharPositionInLine(); + }, + + getTokenStartIndex: function() { + if ( this.token ) { + return this.token.getTokenIndex(); + } + return this.startIndex; + }, + + setTokenStartIndex: function(index) { + this.startIndex = index; + }, + + getTokenStopIndex: function() { + if ( this.token ) { + return this.token.getTokenIndex(); + } + return this.stopIndex; + }, + + setTokenStopIndex: function(index) { + this.stopIndex = index; + }, + + getChildIndex: function() { + return this.childIndex; + }, + + getParent: function() { + return this.parent; + }, + + setParent: function(t) { + this.parent = t; + }, + + setChildIndex: function(index) { + this.childIndex = index; + }, + + toString: function() { + if ( this.isNil() ) { + return "nil"; + } + if ( this.getType()===org.antlr.runtime.Token.INVALID_TOKEN_TYPE ) { + return ""; + } + if ( !this.token ) { + return null; + } + return this.token.getText(); + } +}); +/** What does a tree look like? ANTLR has a number of support classes + * such as CommonTreeNodeStream that work on these kinds of trees. You + * don't have to make your trees implement this interface, but if you do, + * you'll be able to use more support code. + * + * NOTE: When constructing trees, ANTLR can build any kind of tree; it can + * even use Token objects as trees if you add a child list to your tokens. + * + * This is a tree node without any payload; just navigation and factory stuff. + */ +org.antlr.runtime.tree.Tree = { + INVALID_NODE: new org.antlr.runtime.tree.CommonTree(org.antlr.runtime.Token.INVALID_TOKEN) +}; +org.antlr.runtime.tree.CommonErrorNode = function(input, start, stop, e) { + if ( !stop || + (stop.getTokenIndex() < start.getTokenIndex() && + stop.getType()!=org.antlr.runtime.Token.EOF) ) + { + // sometimes resync does not consume a token (when LT(1) is + // in follow set. So, stop will be 1 to left to start. adjust. + // Also handle case where start is the first token and no token + // is consumed during recovery; LT(-1) will return null. + stop = start; + } + this.input = input; + this.start = start; + this.stop = stop; + this.trappedException = e; +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.CommonErrorNode, org.antlr.runtime.tree.CommonTree, { + isNil: function() { + return false; + }, + + getType: function() { + return org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + }, + + getText: function() { + var badText = null; + if ( this.start instanceof org.antlr.runtime.CommonToken ) { + var i = this.start.getTokenIndex(); + var j = this.stop.getTokenIndex(); + if ( this.stop.getType() === org.antlr.runtime.Token.EOF ) { + j = this.input.size(); + } + badText = this.input.toString(i, j); + } + else if ( this.start instanceof org.antlr.runtime.tree.CommonTree ) { + badText = this.input.toString(this.start, this.stop); + } + else { + // people should subclass if they alter the tree type so this + // next one is for sure correct. + badText = ""; + } + return badText; + }, + + toString: function() { + if ( this.trappedException instanceof org.antlr.runtime.MissingTokenException ) { + return ""; + } + else if ( this.trappedException instanceof org.antlr.runtime.UnwantedTokenException ) { + return ""; + } + else if ( this.trappedException instanceof org.antlr.runtime.MismatchedTokenException ) { + return ""; + } + else if ( this.trappedException instanceof org.antlr.runtime.NoViableAltException ) { + return ""; + } + return ""; + } +}); +/** A TreeAdaptor that works with any Tree implementation. */ +org.antlr.runtime.tree.BaseTreeAdaptor = function() { + this.uniqueNodeID = 1; +}; + +org.antlr.runtime.tree.BaseTreeAdaptor.prototype = { + nil: function() { + return this.create(null); + }, + + /** create tree node that holds the start and stop tokens associated + * with an error. + * + * If you specify your own kind of tree nodes, you will likely have to + * override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + * if no token payload but you might have to set token type for diff + * node type. + */ + errorNode: function(input, start, stop, e) { + var t = new org.antlr.runtime.tree.CommonErrorNode(input, start, stop, e); + return t; + }, + + isNil: function(tree) { + return tree.isNil(); + }, + + /** This is generic in the sense that it will work with any kind of + * tree (not just Tree interface). It invokes the adaptor routines + * not the tree node routines to do the construction. + */ + dupTree: function(t, parent) { + if (arguments.length===1) { + parent = null; + } + if ( !t ) { + return null; + } + var newTree = this.dupNode(t); + // ensure new subtree root has parent/child index set + this.setChildIndex(newTree, this.getChildIndex(t)); // same index in new tree + this.setParent(newTree, parent); + var n = this.getChildCount(t), + i, child, newSubTree; + for (i = 0; i < n; i++) { + child = this.getChild(t, i); + newSubTree = this.dupTree(child, t); + this.addChild(newTree, newSubTree); + } + return newTree; + }, + + /** Add a child to the tree t. If child is a flat tree (a list), make all + * in list children of t. Warning: if t has no children, but child does + * and child isNil then you can decide it is ok to move children to t via + * t.children = child.children; i.e., without copying the array. Just + * make sure that this is consistent with have the user will build + * ASTs. + */ + addChild: function(t, child) { + if ( t && org.antlr.lang.isValue(child) ) { + t.addChild(child); + } + }, + + /** If oldRoot is a nil root, just copy or move the children to newRoot. + * If not a nil root, make oldRoot a child of newRoot. + * + * old=^(nil a b c), new=r yields ^(r a b c) + * old=^(a b c), new=r yields ^(r ^(a b c)) + * + * If newRoot is a nil-rooted single child tree, use the single + * child as the new root node. + * + * old=^(nil a b c), new=^(nil r) yields ^(r a b c) + * old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + * + * If oldRoot was null, it's ok, just return newRoot (even if isNil). + * + * old=null, new=r yields r + * old=null, new=^(nil r) yields ^(nil r) + * + * Return newRoot. Throw an exception if newRoot is not a + * simple node or nil root with a single child node--it must be a root + * node. If newRoot is ^(nil x) return x as newRoot. + * + * Be advised that it's ok for newRoot to point at oldRoot's + * children; i.e., you don't have to copy the list. We are + * constructing these nodes so we should have this control for + * efficiency. + */ + becomeRoot: function(newRoot, oldRoot) { + if (newRoot instanceof org.antlr.runtime.CommonToken || !newRoot) { + newRoot = this.create(newRoot); + } + + var newRootTree = newRoot, + oldRootTree = oldRoot; + if ( !oldRoot ) { + return newRoot; + } + // handle ^(nil real-node) + if ( newRootTree.isNil() ) { + if ( newRootTree.getChildCount()>1 ) { + // TODO: make tree run time exceptions hierarchy + throw new Error("more than one node as root (TODO: make exception hierarchy)"); + } + newRootTree = newRootTree.getChild(0); + } + // add oldRoot to newRoot; addChild takes care of case where oldRoot + // is a flat list (i.e., nil-rooted tree). All children of oldRoot + // are added to newRoot. + newRootTree.addChild(oldRootTree); + return newRootTree; + }, + + /** Transform ^(nil x) to x */ + rulePostProcessing: function(root) { + var r = root; + if ( r && r.isNil() ) { + if ( r.getChildCount()===0 ) { + r = null; + } + else if ( r.getChildCount()===1 ) { + r = r.getChild(0); + // whoever invokes rule will set parent and child index + r.setParent(null); + r.setChildIndex(-1); + } + } + return r; + }, + + create: function(tokenType, fromToken) { + var text, t; + if (arguments.length===2) { + if (org.antlr.lang.isString(arguments[1])) { + text = arguments[1]; + fromToken = this.createToken(tokenType, text); + t = this.create(fromToken); + return t; + } else { + fromToken = this.createToken(fromToken); + fromToken.setType(tokenType); + t = this.create(fromToken); + return t; + } + } else if (arguments.length===3) { + text = arguments[2]; + fromToken = this.createToken(fromToken); + fromToken.setType(tokenType); + fromToken.setText(text); + t = this.create(fromToken); + return t; + } + }, + + getType: function(t) { + t.getType(); + return 0; + }, + + setType: function(t, type) { + throw new Error("don't know enough about Tree node"); + }, + + getText: function(t) { + return t.getText(); + }, + + setText: function(t, text) { + throw new Error("don't know enough about Tree node"); + }, + + getChild: function(t, i) { + return t.getChild(i); + }, + + setChild: function(t, i, child) { + t.setChild(i, child); + }, + + deleteChild: function(t, i) { + return t.deleteChild(i); + }, + + getChildCount: function(t) { + return t.getChildCount(); + }, + + getUniqueID: function(node) { + if ( !this.treeToUniqueIDMap ) { + this.treeToUniqueIDMap = {}; + } + var prevID = this.treeToUniqueIDMap[node]; + if ( org.antlr.lang.isValue(prevID) ) { + return prevID; + } + var ID = this.uniqueNodeID; + this.treeToUniqueIDMap[node] = ID; + this.uniqueNodeID++; + return ID; + // GC makes these nonunique: + // return System.identityHashCode(node); + } +}; +/** A TreeAdaptor that works with any Tree implementation. It provides + * really just factory methods; all the work is done by BaseTreeAdaptor. + * If you would like to have different tokens created than ClassicToken + * objects, you need to override this and then set the parser tree adaptor to + * use your subclass. + * + * To get your parser to build nodes of a different type, override + * create(Token). + */ +org.antlr.runtime.tree.CommonTreeAdaptor = function() {}; + +org.antlr.lang.extend(org.antlr.runtime.tree.CommonTreeAdaptor, + org.antlr.runtime.tree.BaseTreeAdaptor, { + /** Duplicate a node. This is part of the factory; + * override if you want another kind of node to be built. + * + * I could use reflection to prevent having to override this + * but reflection is slow. + */ + dupNode: function(t) { + if ( !org.antlr.lang.isValue(t) ) { + return null; + } + return t.dupNode(); + }, + + create: function(payload) { + if (arguments.length>1) { + return org.antlr.runtime.tree.CommonTreeAdaptor.superclass.create.apply(this, arguments); + } + return new org.antlr.runtime.tree.CommonTree(payload); + }, + + /** Tell me how to create a token for use with imaginary token nodes. + * For example, there is probably no input symbol associated with imaginary + * token DECL, but you need to create it as a payload or whatever for + * the DECL node as in ^(DECL type ID). + * + * If you care what the token payload objects' type is, you should + * override this method and any other createToken variant. + * + * Tell me how to create a token for use with imaginary token nodes. + * For example, there is probably no input symbol associated with imaginary + * token DECL, but you need to create it as a payload or whatever for + * the DECL node as in ^(DECL type ID). + * + * This is a variant of createToken where the new token is derived from + * an actual real input token. Typically this is for converting '{' + * tokens to BLOCK etc... You'll see + * + * r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + * + * If you care what the token payload objects' type is, you should + * override this method and any other createToken variant. + */ + createToken: function(fromToken) { + if (arguments.length===2) { + return new org.antlr.runtime.CommonToken(arguments[0], arguments[1]); + } else { + return new org.antlr.runtime.CommonToken(arguments[0]); + } + }, + + /** Track start/stop token for subtree root created for a rule. + * Only works with Tree nodes. For rules that match nothing, + * seems like this will yield start=i and stop=i-1 in a nil node. + * Might be useful info so I'll not force to be i..i. + */ + setTokenBoundaries: function(t, startToken, stopToken) { + if ( !org.antlr.lang.isValue(t) ) { + return; + } + var start = 0, + stop = 0; + if ( org.antlr.lang.isValue(startToken) ) { + if (startToken.getTokenIndex) { + start = startToken.getTokenIndex(); + } else if (startToken.getStartIndex) { + start = startToken.getStartIndex(); + } else { + start = startToken.getTokenStartIndex(); + } + } + if ( org.antlr.lang.isValue(stopToken) ) { + if (stop.getTokenIndex) { + stop = stopToken.getTokenIndex(); + } else if (stopToken.getStopIndex) { + stop = stopToken.getStopIndex(); + } else { + stop = stopToken.getTokenStopIndex(); + } + } + t.setTokenStartIndex(start); + t.setTokenStopIndex(stop); + }, + + getTokenStartIndex: function(t) { + if (!t) { + return -1; + } + return t.getTokenStartIndex(); + }, + + getTokenStopIndex: function(t) { + if (!t) { + return -1; + } + return t.getTokenStopIndex(); + }, + + getText: function(t) { + if (!t) { + return null; + } + return t.getText(); + }, + + getType: function(t) { + if (!t) { + return org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + } + return t.getType(); + }, + + /** What is the Token associated with this node? If + * you are not using CommonTree, then you must + * override this in your own adaptor. + */ + getToken: function(t) { + if ( t instanceof org.antlr.runtime.tree.CommonTree ) { + return t.getToken(); + } + return null; // no idea what to do + }, + + getChild: function(t, i) { + if (!t) { + return null; + } + return t.getChild(i); + }, + + getChildCount: function(t) { + if (!t) { + return 0; + } + return t.getChildCount(); + }, + + getParent: function(t) { + return t.getParent(); + }, + + setParent: function(t, parent) { + t.setParent(parent); + }, + + getChildIndex: function(t) { + return t.getChildIndex(); + }, + + setChildIndex: function(t, index) { + t.setChildIndex(index); + }, + + replaceChildren: function(parent, startChildIndex, stopChildIndex, t) { + if ( parent ) { + parent.replaceChildren(startChildIndex, stopChildIndex, t); + } + } +}); +/** + * A stream of characters created from a JavaScript string that in turn gets + * fed to a lexer. + * @class + * @param {String} data the string from which this stream will be created. + */ +org.antlr.runtime.ANTLRStringStream = function(data) { + /** + * Location in the stream. + * Ranges from 0 to (stream length - 1). + * @private + * @type Number + */ + this.p = 0; + + /** + * The current line in the input. + * Ranges from 1 to (number of lines). + * @private + * @type Number + */ + this.line = 1; + + /** + * The index of the character relative to the beginning of the line. + * Ranges from 0 to (length of line - 1). + * @private + * @type Number + */ + this.charPositionInLine = 0; + + /** + * Tracks how deep mark() calls are nested + * @private + * @type Number + */ + this.markDepth = 0; + + /** + * An Array of objects that tracks the stream state + * values line, charPositionInLine, and p that can change as you + * move through the input stream. Indexed from 1..markDepth. + * A null is kept at index 0. Created upon first call to mark(). + * @private + * @type Array + */ + this.markers = null; + + /** + * Track the last mark() call result value for use in rewind(). + * @private + * @type Number + */ + this.lastMarker = null; + + /** + * The data being scanned. + * @private + * @type String + */ + this.data = data; + + /** + * The number of characters in the stream. + * @private + * @type Number + */ + this.n = data.length; +}; + +org.antlr.runtime.ANTLRStringStream.prototype = { + /** + * Reset the stream so that it's in the same state it was + * when the object was created *except* the data array is not + * touched. + */ + reset: function() { + this.p = 0; + this.line = 1; + this.charPositionInLine = 0; + this.markDepth = 0; + }, + + /** + * Consume the next character of data in the stream. + */ + consume: function() { + if ( this.p < this.n ) { + this.charPositionInLine++; + if ( this.data.charAt(this.p)==="\n" ) { + this.line++; + this.charPositionInLine=0; + } + this.p++; + } + }, + + /** + * Get character at current input pointer + i ahead where i=1 is next int. + * Negative indexes are allowed. LA(-1) is previous token (token + * just matched). LA(-i) where i is before first token should + * yield -1, invalid char / EOF. + * @param {Number} i non-zero amount of lookahead or lookback + * @returns {String|Number} The charcter at the specified position or -1 if + * you fell off either end of the stream. + */ + LA: function(i) { + if ( i<0 ) { + i++; // e.g., translate LA(-1) to use offset i=0; then data[p+0-1] + } + + var new_pos = this.p+i-1; + if (new_pos>=this.n || new_pos<0) { + return org.antlr.runtime.CharStream.EOF; + } + return this.data.charAt(new_pos); + }, + + + /** + * Return the current input symbol index 0..n where n indicates the + * last symbol has been read. The index is the index of char to + * be returned from LA(1) (i.e. the one about to be consumed). + * @returns {Number} the index of the current input symbol + */ + index: function() { + return this.p; + }, + + /** + * The length of this stream. + * @returns {Number} the length of this stream. + */ + size: function() { + return this.n; + }, + + /** + * Tell the stream to start buffering if it hasn't already. Return + * current input position, index(), or some other marker so that + * when passed to rewind() you get back to the same spot. + * rewind(mark()) should not affect the input cursor. The Lexer + * tracks line/col info as well as input index so its markers are + * not pure input indexes. Same for tree node streams. + * + *

Marking is a mechanism for storing the current position of a stream + * in a stack. This corresponds with the predictive look-ahead mechanism + * used in Lexers.

+ * @returns {Number} the current size of the mark stack. + */ + mark: function() { + if ( !this.markers ) { + this.markers = []; + this.markers.push(null); // depth 0 means no backtracking, leave blank + } + this.markDepth++; + var state = null; + if ( this.markDepth>=this.markers.length ) { + state = {}; + this.markers.push(state); + } + else { + state = this.markers[this.markDepth]; + } + state.p = this.p; + state.line = this.line; + state.charPositionInLine = this.charPositionInLine; + this.lastMarker = this.markDepth; + return this.markDepth; + }, + + /** + * Rewind to the input position of the last marker. + * Used currently only after a cyclic DFA and just + * before starting a sem/syn predicate to get the + * input position back to the start of the decision. + * Do not "pop" the marker off the state. mark(i) + * and rewind(i) should balance still. It is + * like invoking rewind(last marker) but it should not "pop" + * the marker off. It's like seek(last marker's input position). + * @param {Number} [m] the index in the mark stack to load instead of the + * last. + */ + rewind: function(m) { + if (!org.antlr.lang.isNumber(m)) { + m = this.lastMarker; + } + + var state = this.markers[m]; + // restore stream state + this.seek(state.p); + this.line = state.line; + this.charPositionInLine = state.charPositionInLine; + this.release(m); + }, + + /** + * You may want to commit to a backtrack but don't want to force the + * stream to keep bookkeeping objects around for a marker that is + * no longer necessary. This will have the same behavior as + * rewind() except it releases resources without the backward seek. + * This must throw away resources for all markers back to the marker + * argument. So if you're nested 5 levels of mark(), and then release(2) + * you have to release resources for depths 2..5. + * @param {Number} marker the mark depth above which all mark states will + * be released. + */ + release: function(marker) { + // unwind any other markers made after m and release m + this.markDepth = marker; + // release this marker + this.markDepth--; + }, + + /** + * Set the input cursor to the position indicated by index. This is + * normally used to seek ahead in the input stream. No buffering is + * required to do this unless you know your stream will use seek to + * move backwards such as when backtracking. + * + *

This is different from rewind in its multi-directional + * requirement and in that its argument is strictly an input cursor + * (index).

+ * + *

For char streams, seeking forward must update the stream state such + * as line number. For seeking backwards, you will be presumably + * backtracking using the mark/rewind mechanism that restores state and + * so this method does not need to update state when seeking backwards.

+ * + *

Currently, this method is only used for efficient backtracking using + * memoization, but in the future it may be used for incremental + * parsing.

+ * + *

The index is 0..n-1. A seek to position i means that LA(1) will + * return the ith symbol. So, seeking to 0 means LA(1) will return the + * first element in the stream.

+ * + *

Esentially this method method moves the input position, + * {@link #consume}-ing data if necessary.

+ * + * @param {Number} index the position to seek to. + */ + seek: function(index) { + if ( index<=this.p ) { + this.p = index; // just jump; don't update stream state (line, ...) + return; + } + // seek forward, consume until p hits index + while ( this.p= 2) { + this.channel = channel; + } else if (arguments.length === 1) { + this.tokenSource = tokenSource; + } +}; + +org.antlr.runtime.CommonTokenStream.prototype = { + /** Reset this token stream by setting its token source. */ + setTokenSource: function(tokenSource) { + this.tokenSource = tokenSource; + this.tokens = []; + this.p = -1; + this.channel = org.antlr.runtime.Token.DEFAULT_CHANNEL; + }, + + /** Load all tokens from the token source and put in tokens. + * This is done upon first LT request because you might want to + * set some token type / channel overrides before filling buffer. + */ + fillBuffer: function() { + var index = 0, + t = this.tokenSource.nextToken(), + discard, + channelI; + while ( org.antlr.lang.isValue(t) && + t.getType()!=org.antlr.runtime.CharStream.EOF ) + { + discard = false; + // is there a channel override for token type? + if ( this.channelOverrideMap ) { + channelI = this.channelOverrideMap[t.getType()]; + if ( org.antlr.lang.isValue(channelI) ) { + t.setChannel(channelI); + } + } + if ( this.discardSet && this.discardSet[t.getType()] ) + { + discard = true; + } + else if ( this.v_discardOffChannelTokens && + t.getChannel()!=this.channel ) + { + discard = true; + } + if ( !discard ) { + t.setTokenIndex(index); + this.tokens.push(t); + index++; + } + t = this.tokenSource.nextToken(); + } + // leave p pointing at first token on channel + this.p = 0; + this.p = this.skipOffTokenChannels(this.p); + }, + + /** Move the input pointer to the next incoming token. The stream + * must become active with LT(1) available. consume() simply + * moves the input pointer so that LT(1) points at the next + * input symbol. Consume at least one token. + * + * Walk past any token not on the channel the parser is listening to. + */ + consume: function() { + if ( this.p=0 && (this.tokens[i]).getChannel()!=this.channel ) { + i--; + } + return i; + }, + + /** A simple filter mechanism whereby you can tell this token stream + * to force all tokens of type ttype to be on channel. For example, + * when interpreting, we cannot exec actions so we need to tell + * the stream to force all WS and NEWLINE to be a different, ignored + * channel. + */ + setTokenTypeChannel: function(ttype, channel) { + if ( !this.channelOverrideMap ) { + this.channelOverrideMap = {}; + } + this.channelOverrideMap[ttype] = channel; + }, + + discardTokenType: function(ttype) { + if ( !this.discardSet ) { + this.discardSet = {}; + } + this.discardSet[ttype] = true; + }, + + discardOffChannelTokens: function(b) { + this.v_discardOffChannelTokens = b; + }, + + /** Given a start and stop index, return a List of all tokens in + * the token type BitSet. Return null if no tokens were found. This + * method looks at both on and off channel tokens. + */ + getTokens: function(start, stop, types) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + + if (arguments.length===0) { + return this.tokens; + } + + if (org.antlr.lang.isArray(types)) { + types = new org.antlr.runtime.BitSet(types); + } else if (org.antlr.lang.isNumber(types)) { + types = org.antlr.runtime.BitSet.of(types); + } + + if ( stop>=this.tokens.length ) { + stop=this.tokens.length-1; + } + if ( start<0 ) { + start=0; + } + if ( start>stop ) { + return null; + } + + // list = tokens[start:stop]:{Token t, t.getType() in types} + var filteredTokens = [], + i, + t; + for (i=start; i<=stop; i++) { + t = this.tokens[i]; + if ( !this.types || types.member(t.getType()) ) { + filteredTokens.push(t); + } + } + if ( filteredTokens.length===0 ) { + filteredTokens = null; + } + return filteredTokens; + }, + + /** Get the ith token from the current position 1..n where k=1 is the + * first symbol of lookahead. + */ + LT: function(k) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + if ( k===0 ) { + return null; + } + if ( k<0 ) { + return this.LB(-1*k); + } + if ( (this.p+k-1) >= this.tokens.length ) { + return org.antlr.runtime.Token.EOF_TOKEN; + } + var i = this.p, + n = 1; + // find k good tokens + while ( n=this.tokens.length ) { + return org.antlr.runtime.Token.EOF_TOKEN; + } + return this.tokens[i]; + }, + + /** Look backwards k tokens on-channel tokens */ + LB: function(k) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + if ( k===0 ) { + return null; + } + if ( (this.p-k)<0 ) { + return null; + } + + var i = this.p, + n = 1; + // find k good tokens looking backwards + while ( n<=k ) { + // skip off-channel tokens + i = this.skipOffTokenChannelsReverse(i-1); // leave p on valid token + n++; + } + if ( i<0 ) { + return null; + } + return this.tokens[i]; + }, + + /** Return absolute token i; ignore which channel the tokens are on; + * that is, count all tokens not just on-channel tokens. + */ + get: function(i) { + return this.tokens[i]; + }, + + LA: function(i) { + return this.LT(i).getType(); + }, + + mark: function() { + if ( this.p === -1 ) { + this.fillBuffer(); + } + this.lastMarker = this.index(); + return this.lastMarker; + }, + + release: function(marker) { + // no resources to release + }, + + size: function() { + return this.tokens.length; + }, + + index: function() { + return this.p; + }, + + rewind: function(marker) { + if (!org.antlr.lang.isNumber(marker)) { + marker = this.lastMarker; + } + this.seek(marker); + }, + + reset: function() { + this.p = -1; + this.lastMarker = 0; + }, + + seek: function(index) { + this.p = index; + }, + + getTokenSource: function() { + return this.tokenSource; + }, + + getSourceName: function() { + return this.getTokenSource().getSourceName(); + }, + + toString: function(start, stop) { + if (arguments.length===0) { + if ( this.p === -1 ) { + this.fillBuffer(); + } + start = 0; + stop = this.tokens.length-1; + } + + if (!org.antlr.lang.isNumber(start) && !org.antlr.lang.isNumber(stop)) { + if ( org.antlr.lang.isValue(start) && org.antlr.lang.isValue(stop) ) { + start = start.getTokenIndex(); + stop = stop.getTokenIndex(); + } else { + return null; + } + } + + var buf = "", + i; + + if ( start<0 || stop<0 ) { + return null; + } + if ( this.p == -1 ) { + this.fillBuffer(); + } + if ( stop>=this.tokens.length ) { + stop = this.tokens.length-1; + } + for (i = start; i <= stop; i++) { + t = this.tokens[i]; + buf = buf + this.tokens[i].getText(); + } + return buf; + } +}; +/* Useful for dumping out the input stream after doing some + * augmentation or other manipulations. + * + * You can insert stuff, replace, and delete chunks. Note that the + * operations are done lazily--only if you convert the buffer to a + * String. This is very efficient because you are not moving data around + * all the time. As the buffer of tokens is converted to strings, the + * toString() method(s) check to see if there is an operation at the + * current index. If so, the operation is done and then normal String + * rendering continues on the buffer. This is like having multiple Turing + * machine instruction streams (programs) operating on a single input tape. :) + * + * Since the operations are done lazily at toString-time, operations do not + * screw up the token index values. That is, an insert operation at token + * index i does not change the index values for tokens i+1..n-1. + * + * Because operations never actually alter the buffer, you may always get + * the original token stream back without undoing anything. Since + * the instructions are queued up, you can easily simulate transactions and + * roll back any changes if there is an error just by removing instructions. + * For example, + * + * CharStream input = new ANTLRFileStream("input"); + * TLexer lex = new TLexer(input); + * TokenRewriteStream tokens = new TokenRewriteStream(lex); + * T parser = new T(tokens); + * parser.startRule(); + * + * Then in the rules, you can execute + * Token t,u; + * ... + * input.insertAfter(t, "text to put after t");} + * input.insertAfter(u, "text after u");} + * System.out.println(tokens.toString()); + * + * Actually, you have to cast the 'input' to a TokenRewriteStream. :( + * + * You can also have multiple "instruction streams" and get multiple + * rewrites from a single pass over the input. Just name the instruction + * streams and use that name again when printing the buffer. This could be + * useful for generating a C file and also its header file--all from the + * same buffer: + * + * tokens.insertAfter("pass1", t, "text to put after t");} + * tokens.insertAfter("pass2", u, "text after u");} + * System.out.println(tokens.toString("pass1")); + * System.out.println(tokens.toString("pass2")); + * + * If you don't use named rewrite streams, a "default" stream is used as + * the first example shows. + */ + +org.antlr.runtime.TokenRewriteStream = function() { + var sup = org.antlr.runtime.TokenRewriteStream.superclass; + + /** You may have multiple, named streams of rewrite operations. + * I'm calling these things "programs." + * Maps String (name) -> rewrite (List) + */ + this.programs = null; + + /** Map String (program name) -> Integer index */ + this.lastRewriteTokenIndexes = null; + + + if (arguments.length===0) { + this.init(); + } else { + sup.constructor.apply(this, arguments); + this.init(); + } +}; + +(function(){ +var trs = org.antlr.runtime.TokenRewriteStream; + +org.antlr.lang.augmentObject(trs, { + DEFAULT_PROGRAM_NAME: "default", + PROGRAM_INIT_SIZE: 100, + MIN_TOKEN_INDEX: 0 +}); + +// +// Define the rewrite operation hierarchy +// + +trs.RewriteOperation = function(index, text) { + this.index = index; + this.text = text; +}; + +/** Execute the rewrite operation by possibly adding to the buffer. + * Return the index of the next token to operate on. + */ +trs.RewriteOperation.prototype = { + execute: function(buf) { + return this.index; + }, + toString: function() { + /*String opName = getClass().getName(); + int $index = opName.indexOf('$'); + opName = opName.substring($index+1, opName.length()); + return opName+"@"+index+'"'+text+'"';*/ + return this.text; + } +}; + +trs.InsertBeforeOp = function(index, text) { + trs.InsertBeforeOp.superclass.constructor.call(this, index, text); +}; +org.antlr.lang.extend(trs.InsertBeforeOp, trs.RewriteOperation, { + execute: function(buf) { + buf.push(this.text); + return this.index; + } +}); + +/** I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + * instructions. + */ +trs.ReplaceOp = function(from, to, text) { + trs.ReplaceOp.superclass.constructor.call(this, from, text); + this.lastIndex = to; +}; +org.antlr.lang.extend(trs.ReplaceOp, trs.RewriteOperation, { + execute: function(buf) { + if (org.antlr.lang.isValue(this.text)) { + buf.push(this.text); + } + return this.lastIndex+1; + } +}); + +trs.DeleteOp = function(from, to) { + trs.DeleteOp.superclass.constructor.call(this, from, to); +}; +org.antlr.lang.extend(trs.DeleteOp, trs.ReplaceOp); + +org.antlr.lang.extend(trs, org.antlr.runtime.CommonTokenStream, { + init: function() { + this.programs = {}; + this.programs[trs.DEFAULT_PROGRAM_NAME] = []; + this.lastRewriteTokenIndexes = {}; + }, + + /** Rollback the instruction stream for a program so that + * the indicated instruction (via instructionIndex) is no + * longer in the stream. UNTESTED! + */ + rollback: function() { + var programName, + instructionIndex; + + if (arguments.length===1) { + programName = trs.DEFAULT_PROGRAM_NAME; + instructionIndex = arguments[0]; + } else if (arguments.length===2) { + programName = arguments[0]; + instructionIndex = arguments[1]; + } + var is = this.programs[programName]; + if (is) { + programs[programName] = is.slice(trs.MIN_TOKEN_INDEX, this.instructionIndex); + } + }, + + /** Reset the program so that no instructions exist */ + deleteProgram: function(programName) { + programName = programName || trs.DEFAULT_PROGRAM_NAME; + this.rollback(programName, trs.MIN_TOKEN_INDEX); + }, + + /** Add an instruction to the rewrite instruction list ordered by + * the instruction number (use a binary search for efficiency). + * The list is ordered so that toString() can be done efficiently. + * + * When there are multiple instructions at the same index, the instructions + * must be ordered to ensure proper behavior. For example, a delete at + * index i must kill any replace operation at i. Insert-before operations + * must come before any replace / delete instructions. If there are + * multiple insert instructions for a single index, they are done in + * reverse insertion order so that "insert foo" then "insert bar" yields + * "foobar" in front rather than "barfoo". This is convenient because + * I can insert new InsertOp instructions at the index returned by + * the binary search. A ReplaceOp kills any previous replace op. Since + * delete is the same as replace with null text, i can check for + * ReplaceOp and cover DeleteOp at same time. :) + */ + addToSortedRewriteList: function() { + var programName, + op; + if (arguments.length===1) { + programName = trs.DEFAULT_PROGRAM_NAME; + op = arguments[0]; + } else if (arguments.length===2) { + programName = arguments[0]; + op = arguments[1]; + } + + var rewrites = this.getProgram(programName); + var len, pos, searchOp, replaced, prevOp, i; + for (pos=0, len=rewrites.length; pos op.index) { + rewrites.splice(pos, 0, op); + break; + } + } + if (pos===len) { + rewrites.push(op); + } + }, + + insertAfter: function() { + var index, programName, text; + if (arguments.length===2) { + programName = trs.DEFAULT_PROGRAM_NAME; + index = arguments[0]; + text = arguments[1]; + } else if (arguments.length===3) { + programName = arguments[0]; + index = arguments[1]; + text = arguments[2]; + } + + if (index instanceof org.antlr.runtime.CommonToken) { + // index is a Token, grab it's stream index + index = index.index; // that's ugly + } + + // insert after is the same as insert before the next index + this.insertBefore(programName, index+1, text); + }, + + insertBefore: function() { + var index, programName, text; + if (arguments.length===2) { + programName = trs.DEFAULT_PROGRAM_NAME; + index = arguments[0]; + text = arguments[1]; + } else if (arguments.length===3) { + programName = arguments[0]; + index = arguments[1]; + text = arguments[2]; + } + + if (index instanceof org.antlr.runtime.CommonToken) { + // index is a Token, grab it's stream index + index = index.index; // that's ugly + } + + this.addToSortedRewriteList( + programName, + new trs.InsertBeforeOp(index,text) + ); + }, + + replace: function() { + var programName, first, last, text; + if (arguments.length===2) { + programName = trs.DEFAULT_PROGRAM_NAME; + first = arguments[0]; + last = arguments[0]; + text = arguments[1]; + } else if (arguments.length===3) { + programName = trs.DEFAULT_PROGRAM_NAME; + first = arguments[0]; + last = arguments[1]; + text = arguments[2]; + } if (arguments.length===4) { + programName = arguments[0]; + first = arguments[1]; + last = arguments[2]; + text = arguments[3]; + } + + if (first instanceof org.antlr.runtime.CommonToken) { + first = first.index; + } + + if (last instanceof org.antlr.runtime.CommonToken) { + last = last.index; // that's ugly + } + + if ( first > last || last<0 || first<0 ) { + return; + } + this.addToSortedRewriteList( + programName, + new trs.ReplaceOp(first, last, text)); + }, + + // !!! API Break: delete is a JS keyword, so using remove instead. + remove: function() { + // convert arguments to a real array + var args=[], i=arguments.length-1; + while (i>=0) { + args[i] = arguments[i]; + i--; + } + + args.push(""); + this.replace.apply(this, args); + }, + + getLastRewriteTokenIndex: function(programName) { + programName = programName || trs.DEFAULT_PROGRAM_NAME; + return this.lastRewriteTokenIndexes[programName] || -1; + }, + + setLastRewriteTokenIndex: function(programName, i) { + this.lastRewriteTokenIndexes[programName] = i; + }, + + getProgram: function(name) { + var is = this.programs[name]; + if ( !is ) { + is = this.initializeProgram(name); + } + return is; + }, + + initializeProgram: function(name) { + var is = []; + this.programs[name] = is; + return is; + }, + + toOriginalString: function(start, end) { + if (!org.antlr.lang.isNumber(start)) { + start = trs.MIN_TOKEN_INDEX; + } + if (!org.antlr.lang.isNumber(end)) { + end = this.size()-1; + } + + var buf = [], i; + for (i=start; i>=trs.MIN_TOKEN_INDEX && i<=end && i=trs.MIN_TOKEN_INDEX && + tokenCursor<=end && + tokenCursor=trs.MIN_TOKEN_INDEX && i<=end && i0 ) { + this.addNavigationNode(org.antlr.runtime.Token.DOWN); + } + // and now add all its children + var c, child; + for (c=0; c0 ) { + this.addNavigationNode(org.antlr.runtime.Token.UP); + } + + if (reset_p) { + this.p = 0; // buffer of nodes intialized now + } + }, + + getNodeIndex: function(node) { + if ( this.p==-1 ) { + this.fillBuffer(); + } + var i, t; + for (i=0; i= this.nodes.length ) { + return this.eof; + } + return this.nodes[this.p+k-1]; + }, + + getCurrentSymbol: function() { return this.LT(1); }, + + /** Look backwards k nodes */ + LB: function(k) { + if ( k===0 ) { + return null; + } + if ( (this.p-k)<0 ) { + return null; + } + return this.nodes[this.p-k]; + }, + + getTreeSource: function() { + return this.root; + }, + + getSourceName: function() { + return this.getTokenStream().getSourceName(); + }, + + getTokenStream: function() { + return this.tokens; + }, + + setTokenStream: function(tokens) { + this.tokens = tokens; + }, + + getTreeAdaptor: function() { + return this.adaptor; + }, + + setTreeAdaptor: function(adaptor) { + this.adaptor = adaptor; + }, + + hasUniqueNavigationNodes: function() { + return this.uniqueNavigationNodes; + }, + + setUniqueNavigationNodes: function(uniqueNavigationNodes) { + this.uniqueNavigationNodes = uniqueNavigationNodes; + }, + + consume: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + this.p++; + }, + + LA: function(i) { + return this.adaptor.getType(this.LT(i)); + }, + + mark: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + this.lastMarker = this.index(); + return this.lastMarker; + }, + + release: function(marker) { + // no resources to release + }, + + index: function() { + return this.p; + }, + + rewind: function(marker) { + if (!org.antlr.lang.isNumber(marker)) { + marker = this.lastMarker; + } + this.seek(marker); + }, + + seek: function(index) { + if ( this.p===-1 ) { + this.fillBuffer(); + } + this.p = index; + }, + + /** Make stream jump to a new location, saving old location. + * Switch back with pop(). + */ + push: function(index) { + if ( !this.calls ) { + this.calls = []; + } + this.calls.push(this.p); // save current index + this.seek(index); + }, + + /** Seek back to previous index saved during last push() call. + * Return top of stack (return index). + */ + pop: function() { + var ret = this.calls.pop(); + this.seek(ret); + return ret; + }, + + reset: function() { + this.p = -1; + this.lastMarker = 0; + if (this.calls) { + this.calls = []; + } + }, + + size: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + return this.nodes.length; + }, + + iterator: function() { + if ( this.p===-1 ) { + this.fillBuffer(); + } + return this.StreamIterator(); + }, + + replaceChildren: function(parent, startChildIndex, stopChildIndex, t) { + if ( parent ) { + this.adaptor.replaceChildren(parent, startChildIndex, stopChildIndex, t); + } + }, + + /** Debugging */ + toTokenString: function(start, stop) { + if ( this.p===-1 ) { + this.fillBuffer(); + } + var buf='', i, t; + for (i = start; i < this.nodes.length && i <= stop; i++) { + t = this.nodes[i]; + buf += " "+this.adaptor.getToken(t); + } + return buf; + }, + + /** Used for testing, just return the token type stream */ + toString: function(start, stop) { + var buf = "", + text, + t, + i; + if (arguments.length===0) { + if ( this.p===-1 ) { + this.fillBuffer(); + } + for (i = 0; i < this.nodes.length; i++) { + t = this.nodes[i]; + buf += " "; + buf += this.adaptor.getType(t); + } + return buf; + } else { + if ( !org.antlr.lang.isNumber(start) || !org.antlr.lang.isNumber(stop) ) { + return null; + } + if ( this.p===-1 ) { + this.fillBuffer(); + } + //System.out.println("stop: "+stop); + if ( start instanceof org.antlr.runtime.tree.CommonTree ) { + //System.out.print("toString: "+((CommonTree)start).getToken()+", "); + } else { + //System.out.println(start); + } + if ( stop instanceof org.antlr.runtime.tree.CommonTree ) { + //System.out.println(((CommonTree)stop).getToken()); + } else { + //System.out.println(stop); + } + // if we have the token stream, use that to dump text in order + var beginTokenIndex, + endTokenIndex; + if ( this.tokens ) { + beginTokenIndex = this.adaptor.getTokenStartIndex(start); + endTokenIndex = this.adaptor.getTokenStopIndex(stop); + // if it's a tree, use start/stop index from start node + // else use token range from start/stop nodes + if ( this.adaptor.getType(stop)===org.antlr.runtime.Token.UP ) { + endTokenIndex = this.adaptor.getTokenStopIndex(start); + } + else if ( this.adaptor.getType(stop)==org.antlr.runtime.Token.EOF ) + { + endTokenIndex = this.size()-2; // don't use EOF + } + return this.tokens.toString(beginTokenIndex, endTokenIndex); + } + // walk nodes looking for start + t = null; + i = 0; + for (; i < this.nodes.length; i++) { + t = this.nodes[i]; + if ( t===start ) { + break; + } + } + // now walk until we see stop, filling string buffer with text + buf = text = ""; + t = this.nodes[i]; + while ( t!==stop ) { + text = this.adaptor.getText(t); + if ( !org.antlr.lang.isString(text) ) { + text = " "+this.adaptor.getType(t).toString(); + } + buf += text; + i++; + t = nodes[i]; + } + // include stop node too + text = this.adaptor.getText(stop); + if ( !org.antlr.lang.isString(text) ) { + text = " "+this.adaptor.getType(stop).toString(); + } + buf += text; + return buf; + } + } +}); +/** A generic list of elements tracked in an alternative to be used in + * a -> rewrite rule. We need to subclass to fill in the next() method, + * which returns either an AST node wrapped around a token payload or + * an existing subtree. + * + * Once you start next()ing, do not try to add more elements. It will + * break the cursor tracking I believe. + * + * @see org.antlr.runtime.tree.RewriteRuleSubtreeStream + * @see org.antlr.runtime.tree.RewriteRuleTokenStream + * + * TODO: add mechanism to detect/puke on modification after reading from stream + */ +org.antlr.runtime.tree.RewriteRuleElementStream = function(adaptor, elementDescription, el) { + /** Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), + * which bumps it to 1 meaning no more elements. + */ + this.cursor = 0; + + /** Once a node / subtree has been used in a stream, it must be dup'd + * from then on. Streams are reset after subrules so that the streams + * can be reused in future subrules. So, reset must set a dirty bit. + * If dirty, then next() always returns a dup. + * + * I wanted to use "naughty bit" here, but couldn't think of a way + * to use "naughty". + */ + this.dirty = false; + + this.elementDescription = elementDescription; + this.adaptor = adaptor; + if (el) { + if (org.antlr.lang.isArray(el)) { + this.singleElement = null; + this.elements = el; + } else { + this.add(el); + } + } +}; + +org.antlr.runtime.tree.RewriteRuleElementStream.prototype = { + /** Reset the condition of this stream so that it appears we have + * not consumed any of its elements. Elements themselves are untouched. + * Once we reset the stream, any future use will need duplicates. Set + * the dirty bit. + */ + reset: function() { + this.cursor = 0; + this.dirty = true; + }, + + add: function(el) { + if ( !org.antlr.lang.isValue(el) ) { + return; + } + if ( this.elements ) { // if in list, just add + this.elements.push(el); + return; + } + if ( !org.antlr.lang.isValue(this.singleElement) ) { // no elements yet, track w/o list + this.singleElement = el; + return; + } + // adding 2nd element, move to list + this.elements = []; + this.elements.push(this.singleElement); + this.singleElement = null; + this.elements.push(el); + }, + + /** Return the next element in the stream. If out of elements, throw + * an exception unless size()==1. If size is 1, then return elements[0]. + * Return a duplicate node/subtree if stream is out of elements and + * size==1. If we've already used the element, dup (dirty bit set). + */ + nextTree: function() { + var n = this.size(), + el; + if ( this.dirty || (this.cursor>=n && n==1) ) { + // if out of elements and size is 1, dup + el = this._next(); + return this.dup(el); + } + // test size above then fetch + el = this._next(); + return el; + }, + + /** do the work of getting the next element, making sure that it's + * a tree node or subtree. Deal with the optimization of single- + * element list versus list of size > 1. Throw an exception + * if the stream is empty or we're out of elements and size>1. + * protected so you can override in a subclass if necessary. + */ + _next: function() { + var n = this.size(); + if (n===0) { + throw new org.antlr.runtime.tree.RewriteEmptyStreamException(this.elementDescription); + } + if ( this.cursor>= n) { // out of elements? + if ( n===1 ) { // if size is 1, it's ok; return and we'll dup + return this.toTree(this.singleElement); + } + // out of elements and size was not 1, so we can't dup + throw new org.antlr.runtime.tree.RewriteCardinalityException(this.elementDescription); + } + // we have elements + if ( org.antlr.lang.isValue(this.singleElement) ) { + this.cursor++; // move cursor even for single element list + return this.toTree(this.singleElement); + } + // must have more than one in list, pull from elements + var o = this.toTree(this.elements[this.cursor]); + this.cursor++; + return o; + }, + + /** Ensure stream emits trees; tokens must be converted to AST nodes. + * AST nodes can be passed through unmolested. + */ + toTree: function(el) { + if (el && el.getTree) { + return el.getTree(); + } + return el; + }, + + hasNext: function() { + return (org.antlr.lang.isValue(this.singleElement) && this.cursor < 1) || + (this.elements && this.cursor < this.elements.length); + }, + + size: function() { + var n = 0; + if ( org.antlr.lang.isValue(this.singleElement) ) { + n = 1; + } + if ( this.elements ) { + return this.elements.length; + } + return n; + }, + + getDescription: function() { + return this.elementDescription; + } +}; +/** Queues up nodes matched on left side of -> in a tree parser. This is + * the analog of RewriteRuleTokenStream for normal parsers. + */ +org.antlr.runtime.tree.RewriteRuleNodeStream = function(adaptor, elementDescription, el) { + org.antlr.runtime.tree.RewriteRuleNodeStream.superclass.constructor.apply(this, arguments); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteRuleNodeStream, + org.antlr.runtime.tree.RewriteRuleElementStream, +{ + nextNode: function() { + return this._next(); + }, + + toTree: function(el) { + return this.adaptor.dupNode(el); + }, + + dup: function() { + // we dup every node, so don't have to worry about calling dup; short- + // circuited next() so it doesn't call. + throw new Error("dup can't be called for a node stream."); + } +}); +org.antlr.runtime.tree.RewriteRuleTokenStream = function(adaptor, elementDescription, el) { + var sup = org.antlr.runtime.tree.RewriteRuleTokenStream.superclass; + sup.constructor.apply(this, arguments); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteRuleTokenStream, + org.antlr.runtime.tree.RewriteRuleElementStream, { + /** Get next token from stream and make a node for it */ + nextNode: function() { + var t = this._next(); + return this.adaptor.create(t); + }, + + nextToken: function() { + return this._next(); + }, + + /** Don't convert to a tree unless they explicitly call nextTree. + * This way we can do hetero tree nodes in rewrite. + */ + toTree: function(el) { + return el; + }, + + dup: function(el) { + throw new Error("dup can't be called for a token stream."); + } +}); +org.antlr.runtime.tree.RewriteRuleSubtreeStream = function() { + var sup = org.antlr.runtime.tree.RewriteRuleSubtreeStream.superclass; + sup.constructor.apply(this, arguments); +}; + +org.antlr.lang.extend(org.antlr.runtime.tree.RewriteRuleSubtreeStream, + org.antlr.runtime.tree.RewriteRuleElementStream, { + /** Treat next element as a single node even if it's a subtree. + * This is used instead of next() when the result has to be a + * tree root node. Also prevents us from duplicating recently-added + * children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration + * must dup the type node, but ID has been added. + * + * Referencing a rule result twice is ok; dup entire tree as + * we can't be adding trees as root; e.g., expr expr. + * + * Hideous code duplication here with super.next(). Can't think of + * a proper way to refactor. This needs to always call dup node + * and super.next() doesn't know which to call: dup node or dup tree. + */ + nextNode: function() { + var n = this.size(), + el; + if ( this.dirty || (this.cursor>=n && n===1) ) { + // if out of elements and size is 1, dup (at most a single node + // since this is for making root nodes). + el = this._next(); + return this.adaptor.dupNode(el); + } + // test size above then fetch + el = this._next(); + return el; + }, + + dup: function(el) { + return this.adaptor.dupTree(el); + } +});/** A generic recognizer that can handle recognizers generated from + * lexer, parser, and tree grammars. This is all the parsing + * support code essentially; most of it is error recovery stuff and + * backtracking. + * + *

This class should not be instantiated directly. Instead, use one of its + * subclasses.

+ * + * @class + * @param {org.antlr.runtime.RecognizerSharedState} [state] optional state object + * with which to initialize this recognizer. + */ +org.antlr.runtime.BaseRecognizer = function(state) { + /** State of a lexer, parser, or tree parser are collected into a state + * object so the state can be shared. This sharing is needed to + * have one grammar import others and share same error variables + * and other state variables. It's a kind of explicit multiple + * inheritance via delegation of methods and shared state. + */ + this.state = state || new org.antlr.runtime.RecognizerSharedState(); +}; + +/* static vars, methods */ +org.antlr.lang.augmentObject(org.antlr.runtime.BaseRecognizer, { + MEMO_RULE_FAILED: -2, + MEMO_RULE_UNKNOWN: -1, + INITIAL_FOLLOW_STACK_SIZE: 100, + MEMO_RULE_FAILED_I: -2, + DEFAULT_TOKEN_CHANNEL: org.antlr.runtime.Token.DEFAULT_CHANNEL, + HIDDEN: org.antlr.runtime.Token.HIDDEN_CHANNEL, + NEXT_TOKEN_RULE_NAME: "nextToken" +}); + +org.antlr.runtime.BaseRecognizer.prototype = { + /** Reset the parser's state. Subclasses must rewinds the input stream */ + reset: function() { + var i, len; + + // wack everything related to error recovery + if (!this.state) { + return; // no shared state work to do + } + this.state._fsp = -1; + this.state.errorRecovery = false; + this.state.lastErrorIndex = -1; + this.state.failed = false; + this.state.syntaxErrors = 0; + // wack everything related to backtracking and memoization + this.state.backtracking = 0; + // wipe cache + if (this.state.ruleMemo) { + for (i=0, len=this.state.ruleMemo.length; iTo turn off single token insertion or deletion error + * recovery, override {@link #mismatchRecover} and have it call + * plain {@link #mismatch}, which does not recover. Then any error + * in a rule will cause an exception and immediate exit from + * rule. Rule would recover by resynchronizing to the set of + * symbols that can follow rule ref.

+ * + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {Number} ttype input type to match. + * @param {org.antlr.runtime.BitSet} [follow] set of tokens that can follow the + * matched token. + * @returns {Object} the matched symbol + */ + match: function(input, ttype, follow) { + var matchedSymbol = this.getCurrentInputSymbol(input); + if ( input.LA(1)===ttype ) { + input.consume(); + this.state.errorRecovery = false; + this.state.failed = false; + return matchedSymbol; + } + if ( this.state.backtracking>0 ) { + this.state.failed = true; + return matchedSymbol; + } + matchedSymbol = this.recoverFromMismatchedToken(input, ttype, follow); + return matchedSymbol; + }, + + /** + * Match any token. + * @param {org.antlr.runtime.IntStream} input input stream to match against. + */ + matchAny: function(input) { + this.state.errorRecovery = false; + this.state.failed = false; + input.consume(); + }, + + /** + * Is the following token (LA(2)) the unwanted type (ttype)? + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {Number} ttype the undesired token type. + * @returns {Boolean} true if and only if the following token is the + * unwanted type. + */ + mismatchIsUnwantedToken: function(input, ttype) { + return input.LA(2)===ttype; + }, + + /** + * Does the stream appear to be missing a single token? + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {org.antlr.runtime.BitSet} [follow] set of tokens that can follow the + * matched token. + * @returns {Boolean} true if and only if it appears that the stream is + * missing a single token. + */ + mismatchIsMissingToken: function(input, follow) { + if ( !follow ) { + // we have no information about the follow; we can only consume + // a single token and hope for the best + return false; + } + // compute what can follow this grammar element reference + if ( follow.member(org.antlr.runtime.Token.EOR_TOKEN_TYPE) ) { + if ( this.state._fsp>=0 ) { // remove EOR if we're not the start symbol + follow.remove(org.antlr.runtime.Token.EOR_TOKEN_TYPE); + } + var viableTokensFollowingThisRule = this.computeContextSensitiveRuleFOLLOW(); + follow = follow.or(this.viableTokensFollowingThisRule); + } + // if current token is consistent with what could come after set + // then we know we're missing a token; error recovery is free to + // "insert" the missing token + + // BitSet cannot handle negative numbers like -1 (EOF) so I leave EOR + // in follow set to indicate that the fall of the start symbol is + // in the set (EOF can follow). + if ( follow.member(input.LA(1)) || + follow.member(org.antlr.runtime.Token.EOR_TOKEN_TYPE) ) + { + return true; + } + return false; + }, + + /** Factor out what to do upon token mismatch so tree parsers can behave + * differently. Override and call {@link #mismatchRecover} + * to get single token insertion and deletion. + * + * @param {org.antlr.runtime.IntStream} input input stream to match against. + * @param {Number} ttype input type to match. + * @param {org.antlr.runtime.BitSet} [follow] set of tokens that can follow the + * matched token. + */ + mismatch: function(input, ttype, follow) { + if ( this.mismatchIsUnwantedToken(input, ttype) ) { + throw new org.antlr.runtime.UnwantedTokenException(ttype, input); + } else if ( this.mismatchIsMissingToken(input, follow) ) { + throw new org.antlr.runtime.MissingTokenException(ttype, input, null); + } + throw new org.antlr.runtime.MismatchedTokenException(ttype, input); + }, + + /** Report a recognition problem. + * + *

This method sets errorRecovery to indicate the parser is recovering + * not parsing. Once in recovery mode, no errors are generated. + * To get out of recovery mode, the parser must successfully match + * a token (after a resync). So it will go:

+ *
    + *
  1. error occurs
  2. + *
  3. enter recovery mode, report error
  4. + *
  5. consume until token found in resynch set
  6. + *
  7. try to resume parsing
  8. + *
  9. next match() will reset errorRecovery mode
  10. + *
+ * + *

If you override, make sure to update this.state.syntaxErrors if you + * care about that.

+ * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + */ + reportError: function(e) { + // if we've already reported an error and have not matched a token + // yet successfully, don't report any errors. + if ( this.state.errorRecovery ) { + return; + } + this.state.syntaxErrors++; + this.state.errorRecovery = true; + + this.displayRecognitionError(this.getTokenNames(), e); + }, + + /** + * Assemble recognition error message. + * @param {Array} tokenNames array of token names (strings). + * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + */ + displayRecognitionError: function(tokenNames, e) { + var hdr = this.getErrorHeader(e), + msg = this.getErrorMessage(e, tokenNames); + this.emitErrorMessage(hdr+" "+msg); + }, + + /** + * Create error header message. Format is line + * lineNumber:positionInLine. + * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + * @returns {String} The error header. + */ + getErrorHeader: function(e) { + /* handle null input */ + if (!org.antlr.lang.isNumber(e.line)) { + e.line = 0; + } + return "line "+e.line+":"+e.charPositionInLine; + }, + + /** + * Override this method to change where error messages go. + * Defaults to "alert"-ing the error in browsers and "print"-ing the error + * in other environments (e.g. Rhino, SpiderMonkey). + * @param {String} msg the error message to be displayed. + */ + emitErrorMessage: function(msg) { + throw msg; + //console.log(msg); + }, + + /** What error message should be generated for the various + * exception types? + * + *

Not very object-oriented code, but I like having all error message + * generation within one method rather than spread among all of the + * exception classes. This also makes it much easier for the exception + * handling because the exception classes do not have to have pointers back + * to this object to access utility routines and so on. Also, changing + * the message for an exception type would be difficult because you + * would have to be subclassing exceptions, but then somehow get ANTLR + * to make those kinds of exception objects instead of the default.

+ * + *

For grammar debugging, you will want to override this to add + * more information such as the stack frame and no viable alts.

+ * + *

Override this to change the message generated for one or more + * exception types.

+ * + * @param {Array} tokenNames array of token names (strings). + * @param {org.antlr.runtime.RecognitionException} e the error to be reported. + * @returns {String} the error message to be emitted. + */ + getErrorMessage: function(e, tokenNames) { + var msg = (e && e.getMessage) ? e.getMessage() : null, + mte, + tokenName; + if ( e instanceof org.antlr.runtime.UnwantedTokenException ) { + var ute = e; + tokenName=""; + if ( ute.expecting== org.antlr.runtime.Token.EOF ) { + tokenName = "EOF"; + } else { + tokenName = tokenNames[ute.expecting]; + } + msg = "extraneous input "+this.getTokenErrorDisplay(ute.getUnexpectedToken())+ + " expecting "+tokenName; + } + else if ( e instanceof org.antlr.runtime.MissingTokenException ) { + mte = e; + tokenName=""; + if ( mte.expecting== org.antlr.runtime.Token.EOF ) { + tokenName = "EOF"; + } else { + tokenName = tokenNames[mte.expecting]; + } + msg = "missing "+tokenName+" at "+this.getTokenErrorDisplay(e.token); + } + else if ( e instanceof org.antlr.runtime.MismatchedTokenException ) { + mte = e; + tokenName=""; + if ( mte.expecting== org.antlr.runtime.Token.EOF ) { + tokenName = "EOF"; + } + else { + tokenName = tokenNames[mte.expecting]; + } + msg = "mismatched input "+this.getTokenErrorDisplay(e.token)+ + " expecting "+tokenName; + } + else if ( e instanceof org.antlr.runtime.NoViableAltException ) { + msg = "no viable alternative at input "+this.getTokenErrorDisplay(e.token); + } + else if ( e instanceof org.antlr.runtime.EarlyExitException ) { + msg = "required (...)+ loop did not match anything at input "+ + this.getTokenErrorDisplay(e.token); + } + else if ( e instanceof org.antlr.runtime.MismatchedSetException ) { + msg = "mismatched input "+this.getTokenErrorDisplay(e.token)+ + " expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.MismatchedNotSetException ) { + msg = "mismatched input "+this.getTokenErrorDisplay(e.token)+ + " expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.FailedPredicateException ) { + msg = "rule "+e.ruleName+" failed predicate: {"+ + e.predicateText+"}?"; + } + return msg; + }, + + /** Get number of recognition errors (lexer, parser, tree parser). Each + * recognizer tracks its own number. So parser and lexer each have + * separate count. Does not count the spurious errors found between + * an error and next valid token match + * + * See also reportError() + */ + getNumberOfSyntaxErrors: function() { + return this.state.syntaxErrors; + }, + + /** How should a token be displayed in an error message? The default + * is to display just the text, but during development you might + * want to have a lot of information spit out. Override in that case + * to use t.toString() (which, for CommonToken, dumps everything about + * the token). This is better than forcing you to override a method in + * your token objects because you don't have to go modify your lexer + * so that it creates a new Java type. + */ + getTokenErrorDisplay: function(t) { + var s = t.getText(); + if ( !org.antlr.lang.isValue(s) ) { + if ( t.getType()==org.antlr.runtime.Token.EOF ) { + s = ""; + } + else { + s = "<"+t.getType()+">"; + } + } + s = s.replace(/\n/g,"\\n"); + s = s.replace(/\r/g,"\\r"); + s = s.replace(/\t/g,"\\t"); + return "'"+s+"'"; + }, + + /** Recover from an error found on the input stream. This is + * for NoViableAlt and mismatched symbol exceptions. If you enable + * single token insertion and deletion, this will usually not + * handle mismatched symbol exceptions but there could be a mismatched + * token that the match() routine could not recover from. + */ + recover: function(input, re) { + if ( this.state.lastErrorIndex==input.index() ) { + // uh oh, another error at same token index; must be a case + // where LT(1) is in the recovery token set so nothing is + // consumed; consume a single token so at least to prevent + // an infinite loop; this is a failsafe. + input.consume(); + } + this.state.lastErrorIndex = input.index(); + var followSet = this.computeErrorRecoverySet(); + this.beginResync(); + this.consumeUntil(input, followSet); + this.endResync(); + }, + + /** A hook to listen in on the token consumption during error recovery. + * The DebugParser subclasses this to fire events to the listenter. + */ + beginResync: function() { + }, + + endResync: function() { + }, + + /* Compute the error recovery set for the current rule. During + * rule invocation, the parser pushes the set of tokens that can + * follow that rule reference on the stack; this amounts to + * computing FIRST of what follows the rule reference in the + * enclosing rule. This local follow set only includes tokens + * from within the rule; i.e., the FIRST computation done by + * ANTLR stops at the end of a rule. + * + * EXAMPLE + * + * When you find a "no viable alt exception", the input is not + * consistent with any of the alternatives for rule r. The best + * thing to do is to consume tokens until you see something that + * can legally follow a call to r *or* any rule that called r. + * You don't want the exact set of viable next tokens because the + * input might just be missing a token--you might consume the + * rest of the input looking for one of the missing tokens. + * + * Consider grammar: + * + * a : '[' b ']' + * | '(' b ')' + * ; + * b : c '^' INT ; + * c : ID + * | INT + * ; + * + * At each rule invocation, the set of tokens that could follow + * that rule is pushed on a stack. Here are the various "local" + * follow sets: + * + * FOLLOW(b1_in_a) = FIRST(']') = ']' + * FOLLOW(b2_in_a) = FIRST(')') = ')' + * FOLLOW(c_in_b) = FIRST('^') = '^' + * + * Upon erroneous input "[]", the call chain is + * + * a -> b -> c + * + * and, hence, the follow context stack is: + * + * depth local follow set after call to rule + * 0 a (from main()) + * 1 ']' b + * 3 '^' c + * + * Notice that ')' is not included, because b would have to have + * been called from a different context in rule a for ')' to be + * included. + * + * For error recovery, we cannot consider FOLLOW(c) + * (context-sensitive or otherwise). We need the combined set of + * all context-sensitive FOLLOW sets--the set of all tokens that + * could follow any reference in the call chain. We need to + * resync to one of those tokens. Note that FOLLOW(c)='^' and if + * we resync'd to that token, we'd consume until EOF. We need to + * sync to context-sensitive FOLLOWs for a, b, and c: {']','^'}. + * In this case, for input "[]", LA(1) is in this set so we would + * not consume anything and after printing an error rule c would + * return normally. It would not find the required '^' though. + * At this point, it gets a mismatched token error and throws an + * exception (since LA(1) is not in the viable following token + * set). The rule exception handler tries to recover, but finds + * the same recovery set and doesn't consume anything. Rule b + * exits normally returning to rule a. Now it finds the ']' (and + * with the successful match exits errorRecovery mode). + * + * So, you cna see that the parser walks up call chain looking + * for the token that was a member of the recovery set. + * + * Errors are not generated in errorRecovery mode. + * + * ANTLR's error recovery mechanism is based upon original ideas: + * + * "Algorithms + Data Structures = Programs" by Niklaus Wirth + * + * and + * + * "A note on error recovery in recursive descent parsers": + * http://portal.acm.org/citation.cfm?id=947902.947905 + * + * Later, Josef Grosch had some good ideas: + * + * "Efficient and Comfortable Error Recovery in Recursive Descent + * Parsers": + * ftp://www.cocolab.com/products/cocktail/doca4.ps/ell.ps.zip + * + * Like Grosch I implemented local FOLLOW sets that are combined + * at run-time upon error to avoid overhead during parsing. + */ + computeErrorRecoverySet: function() { + return this.combineFollows(false); + }, + + + /** Compute the context-sensitive FOLLOW set for current rule. + * This is set of token types that can follow a specific rule + * reference given a specific call chain. You get the set of + * viable tokens that can possibly come next (lookahead depth 1) + * given the current call chain. Contrast this with the + * definition of plain FOLLOW for rule r: + * + * FOLLOW(r)={x | S=>*alpha r beta in G and x in FIRST(beta)} + * + * where x in T* and alpha, beta in V*; T is set of terminals and + * V is the set of terminals and nonterminals. In other words, + * FOLLOW(r) is the set of all tokens that can possibly follow + * references to r in *any* sentential form (context). At + * runtime, however, we know precisely which context applies as + * we have the call chain. We may compute the exact (rather + * than covering superset) set of following tokens. + * + * For example, consider grammar: + * + * stat : ID '=' expr ';' // FOLLOW(stat)=={EOF} + * | "return" expr '.' + * ; + * expr : atom ('+' atom)* ; // FOLLOW(expr)=={';','.',')'} + * atom : INT // FOLLOW(atom)=={'+',')',';','.'} + * | '(' expr ')' + * ; + * + * The FOLLOW sets are all inclusive whereas context-sensitive + * FOLLOW sets are precisely what could follow a rule reference. + * For input input "i=(3);", here is the derivation: + * + * stat => ID '=' expr ';' + * => ID '=' atom ('+' atom)* ';' + * => ID '=' '(' expr ')' ('+' atom)* ';' + * => ID '=' '(' atom ')' ('+' atom)* ';' + * => ID '=' '(' INT ')' ('+' atom)* ';' + * => ID '=' '(' INT ')' ';' + * + * At the "3" token, you'd have a call chain of + * + * stat -> expr -> atom -> expr -> atom + * + * What can follow that specific nested ref to atom? Exactly ')' + * as you can see by looking at the derivation of this specific + * input. Contrast this with the FOLLOW(atom)={'+',')',';','.'}. + * + * You want the exact viable token set when recovering from a + * token mismatch. Upon token mismatch, if LA(1) is member of + * the viable next token set, then you know there is most likely + * a missing token in the input stream. "Insert" one by just not + * throwing an exception. + */ + computeContextSensitiveRuleFOLLOW: function() { + return this.combineFollows(true); + }, + + combineFollows: function(exact) { + var top = this.state._fsp, + i, + localFollowSet, + followSet = new org.antlr.runtime.BitSet(); + for (i=top; i>=0; i--) { + localFollowSet = this.state.following[i]; + followSet.orInPlace(localFollowSet); + if ( exact ) { + // can we see end of rule? + if ( localFollowSet.member(org.antlr.runtime.Token.EOR_TOKEN_TYPE) ) + { + // Only leave EOR in set if at top (start rule); this lets + // us know if have to include follow(start rule); i.e., EOF + if ( i>0 ) { + followSet.remove(org.antlr.runtime.Token.EOR_TOKEN_TYPE); + } + } + else { // can't see end of rule, quit + break; + } + } + } + return followSet; + }, + + /** Attempt to recover from a single missing or extra token. + * + * EXTRA TOKEN + * + * LA(1) is not what we are looking for. If LA(2) has the right token, + * however, then assume LA(1) is some extra spurious token. Delete it + * and LA(2) as if we were doing a normal match(), which advances the + * input. + * + * MISSING TOKEN + * + * If current token is consistent with what could come after + * ttype then it is ok to "insert" the missing token, else throw + * exception For example, Input "i=(3;" is clearly missing the + * ')'. When the parser returns from the nested call to expr, it + * will have call chain: + * + * stat -> expr -> atom + * + * and it will be trying to match the ')' at this point in the + * derivation: + * + * => ID '=' '(' INT ')' ('+' atom)* ';' + * ^ + * match() will see that ';' doesn't match ')' and report a + * mismatched token error. To recover, it sees that LA(1)==';' + * is in the set of tokens that can follow the ')' token + * reference in rule atom. It can assume that you forgot the ')'. + */ + recoverFromMismatchedToken: function(input, + ttype, + follow) + { + var e = null; + // if next token is what we are looking for then "delete" this token + if ( this.mismatchIsUnwantedToken(input, ttype) ) { + e = new org.antlr.runtime.UnwantedTokenException(ttype, input); + this.beginResync(); + input.consume(); // simply delete extra token + this.endResync(); + this.reportError(e); // report after consuming so AW sees the token in the exception + // we want to return the token we're actually matching + var matchedSymbol = this.getCurrentInputSymbol(input); + input.consume(); // move past ttype token as if all were ok + return matchedSymbol; + } + // can't recover with single token deletion, try insertion + if ( this.mismatchIsMissingToken(input, follow) ) { + var inserted = this.getMissingSymbol(input, e, ttype, follow); + e = new org.antlr.runtime.MissingTokenException(ttype, input, inserted); + this.reportError(e); // report after inserting so AW sees the token in the exception + return inserted; + } + // even that didn't work; must throw the exception + e = new org.antlr.runtime.MismatchedTokenException(ttype, input); + throw e; + }, + + recoverFromMismatchedSet: function(input, + e, + follow) + { + if ( this.mismatchIsMissingToken(input, follow) ) { + // System.out.println("missing token"); + this.reportError(e); + // we don't know how to conjure up a token for sets yet + return this.getMissingSymbol(input, e, org.antlr.runtime.Token.INVALID_TOKEN_TYPE, follow); + } + throw e; + }, + + /** Match needs to return the current input symbol, which gets put + * into the label for the associated token ref; e.g., x=ID. Token + * and tree parsers need to return different objects. Rather than test + * for input stream type or change the IntStream interface, I use + * a simple method to ask the recognizer to tell me what the current + * input symbol is. + * + * This is ignored for lexers. + */ + getCurrentInputSymbol: function(input) { return null; }, + + /** Conjure up a missing token during error recovery. + * + * The recognizer attempts to recover from single missing + * symbols. But, actions might refer to that missing symbol. + * For example, x=ID {f($x);}. The action clearly assumes + * that there has been an identifier matched previously and that + * $x points at that token. If that token is missing, but + * the next token in the stream is what we want we assume that + * this token is missing and we keep going. Because we + * have to return some token to replace the missing token, + * we have to conjure one up. This method gives the user control + * over the tokens returned for missing tokens. Mostly, + * you will want to create something special for identifier + * tokens. For literals such as '{' and ',', the default + * action in the parser or tree parser works. It simply creates + * a CommonToken of the appropriate type. The text will be the token. + * If you change what tokens must be created by the lexer, + * override this method to create the appropriate tokens. + */ + getMissingSymbol: function(input, + e, + expectedTokenType, + follow) + { + return null; + }, + + + /** Consume tokens until one matches the given token set */ + consumeUntil: function(input, set) { + var ttype = input.LA(1); + while (ttype != org.antlr.runtime.Token.EOF && !set.member(ttype) ) { + input.consume(); + ttype = input.LA(1); + } + }, + + /** Push a rule's follow set using our own hardcoded stack */ + pushFollow: function(fset) { + if ( (this.state._fsp +1)>=this.state.following.length ) { + var f = []; + var i; + for (i=this.state.following.length-1; i>=0; i--) { + f[i] = this.state.following[i]; + } + this.state.following = f; + } + this.state._fsp++; + this.state.following[this.state._fsp] = fset; + }, + + /** Return List of the rules in your parser instance + * leading up to a call to this method. You could override if + * you want more details such as the file/line info of where + * in the parser java code a rule is invoked. + * + * This is very useful for error messages and for context-sensitive + * error recovery. + * + * A more general version of getRuleInvocationStack where you can + * pass in, for example, a RecognitionException to get it's rule + * stack trace. This routine is shared with all recognizers, hence, + * static. + * + * TODO: move to a utility class or something; weird having lexer call this + * + * Most JS interpreters can't do real stack reflection. See this + * spidermonkey bug, for example: + * https://bugzilla.mozilla.org/show_bug.cgi?id=332104 + * + * JS is supposed to get real stack traces in v4, at which time it would + * be easy to implement this function. + * + * Until then I'll leave this unimplemented. If there is enough clamor + * it would be possible to keep track of the invocation stack using an + * auxillary array, but that will definitely be a performance hit. + */ + getRuleInvocationStack: function(e, recognizerClassName) + { + throw new Error("Not implemented."); + }, + + getBacktrackingLevel: function() { + return this.state.backtracking; + }, + + /** Used to print out token names like ID during debugging and + * error reporting. The generated parsers implement a method + * that overrides this to point to their String[] tokenNames. + */ + getTokenNames: function() { + return null; + }, + + /** For debugging and other purposes, might want the grammar name. + * Have ANTLR generate an implementation for this method. + */ + getGrammarFileName: function() { + return null; + }, + + /** A convenience method for use most often with template rewrites. + * Convert a List to List + */ + toStrings: function(tokens) { + if ( !tokens ) { + return null; + } + var strings = []; + var i; + for (i=0; i= this.state.ruleMemo.length ) { + throw new Error("!!!!!!!!! memo size is "+this.state.ruleMemo.length+", but rule index is "+ruleIndex); + } + if ( org.antlr.lang.isValue(this.state.ruleMemo[ruleIndex]) ) { + this.state.ruleMemo[ruleIndex][ruleStartIndex] = stopTokenIndex; + } + }, + + /** return how many rule/input-index pairs there are in total. + * TODO: this includes synpreds. + */ + getRuleMemoizationCacheSize: function() { + var n = 0, i; + for (i = 0; this.state.ruleMemo && i < this.state.ruleMemo.length; i++) { + var ruleMap = this.state.ruleMemo[i]; + if ( ruleMap ) { + // @todo need to get size of rulemap? + n += ruleMap.length; // how many input indexes are recorded? + } + } + return n; + }, + + traceIn: function(ruleName, ruleIndex, inputSymbol) { + this.emitErrorMessage("enter "+ruleName+" "+inputSymbol); + if ( this.state.failed ) { + this.emitErrorMessage(" failed="+this.failed); + } + if ( this.state.backtracking>0 ) { + this.emitErrorMessage(" backtracking="+this.state.backtracking); + } + // System.out.println(); + }, + + traceOut: function(ruleName, ruleIndex, inputSymbol) { + this.emitErrorMessage("exit "+ruleName+" "+inputSymbol); + if ( this.state.failed ) { + this.emitErrorMessage(" failed="+this.state.failed); + } + if ( this.state.backtracking>0 ) { + this.emitErrorMessage(" backtracking="+this.state.backtracking); + } + } +}; +/** A lexer is recognizer that draws input symbols from a character stream. + * lexer grammars result in a subclass of this object. A Lexer object + * uses simplified match() and error recovery mechanisms in the interest + * of speed. + */ +org.antlr.runtime.Lexer = function(input, state) { + if (state) { + org.antlr.runtime.Lexer.superclass.constructor.call(this, state); + } + if (input) { + this.input = input; + } +}; + +org.antlr.lang.extend(org.antlr.runtime.Lexer, org.antlr.runtime.BaseRecognizer, { + reset: function() { + // reset all recognizer state variables + org.antlr.runtime.Lexer.superclass.reset.call(this); + if ( org.antlr.lang.isValue(this.input) ) { + this.input.seek(0); // rewind the input + } + if ( !org.antlr.lang.isValue(this.state) ) { + return; // no shared state work to do + } + this.state.token = null; + this.state.type = org.antlr.runtime.Token.INVALID_TOKEN_TYPE; + this.state.channel = org.antlr.runtime.Token.DEFAULT_CHANNEL; + this.state.tokenStartCharIndex = -1; + this.state.tokenStartCharPositionInLine = -1; + this.state.tokenStartLine = -1; + this.state.text = null; + }, + + /** Return a token from this source; i.e., match a token on the char + * stream. + */ + nextToken: function() { + while (true) { + this.state.token = null; + this.state.channel = org.antlr.runtime.Token.DEFAULT_CHANNEL; + this.state.tokenStartCharIndex = this.input.index(); + this.state.tokenStartCharPositionInLine = this.input.getCharPositionInLine(); + this.state.tokenStartLine = this.input.getLine(); + this.state.text = null; + if ( this.input.LA(1)===org.antlr.runtime.CharStream.EOF ) { + return org.antlr.runtime.Token.EOF_TOKEN; + } + try { + this.mTokens(); + if ( !org.antlr.lang.isValue(this.state.token) ) { + this.emit(); + } + else if ( this.state.token==org.antlr.runtime.Token.SKIP_TOKEN ) { + continue; + } + return this.state.token; + } + catch (re) { + if ( re instanceof org.antlr.runtime.RecognitionException ) { + this.reportError(re); + } else if (re instanceof org.antlr.runtime.NoViableAltException) { + this.reportError(re); + this.recover(re); + } else { + throw re; + } + } + } + }, + + /** Instruct the lexer to skip creating a token for current lexer rule + * and look for another token. nextToken() knows to keep looking when + * a lexer rule finishes with token set to SKIP_TOKEN. Recall that + * if token==null at end of any token rule, it creates one for you + * and emits it. + */ + skip: function() { + this.state.token = org.antlr.runtime.Token.SKIP_TOKEN; + }, + + /** Set the char stream and reset the lexer */ + setCharStream: function(input) { + this.input = null; + this.reset(); + this.input = input; + }, + + getCharStream: function() { + return this.input; + }, + + getSourceName: function() { + return this.input.getSourceName(); + }, + + /** Currently does not support multiple emits per nextToken invocation + * for efficiency reasons. Subclass and override this method and + * nextToken (to push tokens into a list and pull from that list rather + * than a single variable as this implementation does). + * + * The standard method called to automatically emit a token at the + * outermost lexical rule. The token object should point into the + * char buffer start..stop. If there is a text override in 'text', + * use that to set the token's text. Override this method to emit + * custom Token objects. + * + * If you are building trees, then you should also override + * Parser or TreeParser.getMissingSymbol(). + */ + emit: function() { + if (arguments.length===0) { + var t = new org.antlr.runtime.CommonToken(this.input, this.state.type, this.state.channel, this.state.tokenStartCharIndex, this.getCharIndex()-1); + t.setLine(this.state.tokenStartLine); + t.setText(this.state.text); + t.setCharPositionInLine(this.state.tokenStartCharPositionInLine); + this.state.token = t; + return t; + } else { + this.state.token = arguments[0]; + } + }, + + match: function(s) { + var i = 0, + mte; + + if (org.antlr.lang.isString(s)) { + while ( i0 ) { + this.state.failed = true; + return; + } + mte = new org.antlr.runtime.MismatchedTokenException(s.charAt(i), this.input); + this.recover(mte); + throw mte; + } + i++; + this.input.consume(); + this.state.failed = false; + } + } else if (org.antlr.lang.isNumber(s)) { + if ( this.input.LA(1)!=s ) { + if ( this.state.backtracking>0 ) { + this.state.failed = true; + return; + } + mte = new org.antlr.runtime.MismatchedTokenException(s, this.input); + this.recover(mte); + throw mte; + } + this.input.consume(); + this.state.failed = false; + } + }, + + matchAny: function() { + this.input.consume(); + }, + + matchRange: function(a, b) { + if ( this.input.LA(1)
b ) { + if ( this.state.backtracking>0 ) { + this.state.failed = true; + return; + } + mre = new org.antlr.runtime.MismatchedRangeException(a,b,this.input); + this.recover(mre); + throw mre; + } + this.input.consume(); + this.state.failed = false; + }, + + getLine: function() { + return this.input.getLine(); + }, + + getCharPositionInLine: function() { + return this.input.getCharPositionInLine(); + }, + + /** What is the index of the current character of lookahead? */ + getCharIndex: function() { + return this.input.index(); + }, + + /** Return the text matched so far for the current token or any + * text override. + */ + getText: function() { + if ( org.antlr.lang.isString(this.state.text) ) { + return this.state.text; + } + return this.input.substring(this.state.tokenStartCharIndex,this.getCharIndex()-1); + }, + + /** Set the complete text of this token; it wipes any previous + * changes to the text. + */ + setText: function(text) { + this.state.text = text; + }, + + reportError: function(e) { + /** TODO: not thought about recovery in lexer yet. + * + // if we've already reported an error and have not matched a token + // yet successfully, don't report any errors. + if ( errorRecovery ) { + //System.err.print("[SPURIOUS] "); + return; + } + errorRecovery = true; + */ + + this.displayRecognitionError(this.getTokenNames(), e); + }, + + getErrorMessage: function(e, tokenNames) { + var msg = null; + if ( e instanceof org.antlr.runtime.MismatchedTokenException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting "+this.getCharErrorDisplay(e.expecting); + } + else if ( e instanceof org.antlr.runtime.NoViableAltException ) { + msg = "no viable alternative at character "+this.getCharErrorDisplay(e.c); + } + else if ( e instanceof org.antlr.runtime.EarlyExitException ) { + msg = "required (...)+ loop did not match anything at character "+this.getCharErrorDisplay(e.c); + } + else if ( e instanceof org.antlr.runtime.MismatchedNotSetException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.MismatchedSetException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting set "+e.expecting; + } + else if ( e instanceof org.antlr.runtime.MismatchedRangeException ) { + msg = "mismatched character "+this.getCharErrorDisplay(e.c)+" expecting set "+ + this.getCharErrorDisplay(e.a)+".."+this.getCharErrorDisplay(e.b); + } + else { + msg = org.antlr.runtime.Lexer.superclass.getErrorMessage.call(this, e, tokenNames); + } + return msg; + }, + + getCharErrorDisplay: function(c) { + var s = c; //String.fromCharCode(c); + switch ( s ) { + case org.antlr.runtime.Token.EOF : + s = ""; + break; + case "\n" : + s = "\\n"; + break; + case "\t" : + s = "\\t"; + break; + case "\r" : + s = "\\r"; + break; + } + return "'"+s+"'"; + }, + + /** Lexers can normally match any char in it's vocabulary after matching + * a token, so do the easy thing and just kill a character and hope + * it all works out. You can instead use the rule invocation stack + * to do sophisticated error recovery if you are in a fragment rule. + */ + recover: function(re) { + this.input.consume(); + }, + + traceIn: function(ruleName, ruleIndex) { + var inputSymbol = String.fromCharCode(this.input.LT(1))+" line="+this.getLine()+":"+this.getCharPositionInLine(); + org.antlr.runtime.Lexer.superclass.traceIn.call(this, ruleName, ruleIndex, inputSymbol); + }, + + traceOut: function(ruleName, ruleIndex) { + var inputSymbol = String.fromCharCode(this.input.LT(1))+" line="+this.getLine()+":"+this.getCharPositionInLine(); + org.antlr.runtime.Lexer.superclass.traceOut.call(this, ruleName, ruleIndex, inputSymbol); + } +}); +/** Rules that return more than a single value must return an object + * containing all the values. Besides the properties defined in + * RuleLabelScope.predefinedRulePropertiesScope there may be user-defined + * return values. This class simply defines the minimum properties that + * are always defined and methods to access the others that might be + * available depending on output option such as template and tree. + * + * Note text is not an actual property of the return value, it is computed + * from start and stop using the input stream's toString() method. I + * could add a ctor to this so that we can pass in and store the input + * stream, but I'm not sure we want to do that. It would seem to be undefined + * to get the .text property anyway if the rule matches tokens from multiple + * input streams. + * + * I do not use getters for fields of objects that are used simply to + * group values such as this aggregate. The getters/setters are there to + * satisfy the superclass interface. + */ +org.antlr.runtime.ParserRuleReturnScope = function() {}; + +org.antlr.runtime.ParserRuleReturnScope.prototype = { + getStart: function() { return this.start; }, + getStop: function() { return this.stop; } +}; +/** This is identical to the ParserRuleReturnScope except that + * the start property is a tree nodes not Token object + * when you are parsing trees. To be generic the tree node types + * have to be Object. + */ +org.antlr.runtime.tree.TreeRuleReturnScope = function(){}; + +org.antlr.runtime.tree.TreeRuleReturnScope.prototype = { + getStart: function() { return this.start; } +}; +/** A parser for TokenStreams. "parser grammars" result in a subclass + * of this. + */ +org.antlr.runtime.Parser = function(input, state) { + org.antlr.runtime.Parser.superclass.constructor.call(this, state); + this.setTokenStream(input); +}; + +org.antlr.lang.extend(org.antlr.runtime.Parser, org.antlr.runtime.BaseRecognizer, { + reset: function() { + // reset all recognizer state variables + org.antlr.runtime.Parser.superclass.reset.call(this); + if ( org.antlr.lang.isValue(this.input) ) { + this.input.seek(0); // rewind the input + } + }, + + getCurrentInputSymbol: function(input) { + return input.LT(1); + }, + + getMissingSymbol: function(input, + e, + expectedTokenType, + follow) + { + var tokenText = + ""; + var t = new org.antlr.runtime.CommonToken(expectedTokenType, tokenText); + var current = input.LT(1); + var old_current; + if ( current.getType() === org.antlr.runtime.Token.EOF ) { + old_current = current; + current = input.LT(-1); + // handle edge case where there are no good tokens in the stream + if (!current) { + current = old_current; + } + } + t.line = current.getLine(); + t.charPositionInLine = current.getCharPositionInLine(); + t.channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + return t; + }, + + + /** Set the token stream and reset the parser */ + setTokenStream: function(input) { + this.input = null; + this.reset(); + this.input = input; + }, + + getTokenStream: function() { + return this.input; + }, + + getSourceName: function() { + return this.input.getSourceName(); + }, + + traceIn: function(ruleName, ruleIndex) { + org.antlr.runtime.Parser.superclass.traceIn.call( + this, ruleName, ruleIndex, this.input.LT(1)); + }, + + traceOut: function(ruleName, ruleIndex) { + org.antlr.runtime.Parser.superclass.traceOut.call( + this, ruleName, ruleIndex, this.input.LT(1)); + } +}); +/** A DFA implemented as a set of transition tables. + * + * Any state that has a semantic predicate edge is special; those states + * are generated with if-then-else structures in a specialStateTransition() + * which is generated by cyclicDFA template. + * + * There are at most 32767 states (16-bit signed short). + * Could get away with byte sometimes but would have to generate different + * types and the simulation code too. For a point of reference, the Java + * lexer's Tokens rule DFA has 326 states roughly. + */ +org.antlr.runtime.DFA = function() {}; + +org.antlr.runtime.DFA.prototype = { + /** From the input stream, predict what alternative will succeed + * using this DFA (representing the covering regular approximation + * to the underlying CFL). Return an alternative number 1..n. Throw + * an exception upon error. + */ + predict: function(input) { + var mark = input.mark(), // remember where decision started in input + s = 0, // we always start at s0 + specialState, + c, + snext; + + try { + while ( true ) { + specialState = this.special[s]; + if ( specialState>=0 ) { + s = this.specialStateTransition(specialState,input); + if (s===-1) { + this.noViableAlt(s, input); + return 0; + } + input.consume(); + continue; + } + if ( this.accept[s] >= 1 ) { + return this.accept[s]; + } + // look for a normal char transition + c = input.LA(1); // -1 == \uFFFF, all tokens fit in 65000 space + + if (c===org.antlr.runtime.Token.EOF) { + c = -1; + } else if (org.antlr.lang.isString(c)) { + c = c.charCodeAt(0); + } + + if (c>=this.min[s] && c<=this.max[s]) { + snext = this.transition[s][c-this.min[s]]; // move to next state + if ( snext < 0 ) { + // was in range but not a normal transition + // must check EOT, which is like the else clause. + // eot[s]>=0 indicates that an EOT edge goes to another + // state. + if ( this.eot[s]>=0 ) { // EOT Transition to accept state? + s = this.eot[s]; + input.consume(); + // TODO: I had this as return accept[eot[s]] + // which assumed here that the EOT edge always + // went to an accept...faster to do this, but + // what about predicated edges coming from EOT + // target? + continue; + } + this.noViableAlt(s,input); + return 0; + } + s = snext; + input.consume(); + continue; + } + if ( this.eot[s]>=0 ) { // EOT Transition? + s = this.eot[s]; + input.consume(); + continue; + } + if ( c==org.antlr.runtime.Token.EOF && this.eof[s]>=0 ) { // EOF Transition to accept state? + return this.accept[this.eof[s]]; + } + // not in range and not EOF/EOT, must be invalid symbol + this.noViableAlt(s,input); + return 0; + } + } + finally { + input.rewind(mark); + } + }, + + noViableAlt: function(s, input) { + if (this.recognizer.state.backtracking>0) { + this.recognizer.state.failed=true; + return; + } + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), + this.decisionNumber, + s, + input); + this.error(nvae); + throw nvae; + }, + + /** A hook for debugging interface */ + error: function(nvae) { }, + + specialStateTransition: function(s, input) { + return -1; + }, + + getDescription: function() { + return "n/a"; + } +}; + +org.antlr.lang.augmentObject(org.antlr.runtime.DFA, { + /** Given a String that has a run-length-encoding of some unsigned shorts + * like "\1\2\3\9", convert to short[] {2,9,9,9}. + */ + unpackEncodedString: function(encodedString) { + // walk first to find how big it is. + var i, + data = [], + di = 0, + n, + v, + j; + for (i=0; i"; + return new org.antlr.runtime.tree.CommonTree(new org.antlr.runtime.CommonToken(expectedTokenType, tokenText)); + }, + + /** Match '.' in tree parser has special meaning. Skip node or + * entire tree if node has children. If children, scan until + * corresponding UP node. + */ + matchAny: function(ignore) { // ignore stream, copy of this.input + this.state.errorRecovery = false; + this.state.failed = false; + var look = this.input.LT(1); + if ( this.input.getTreeAdaptor().getChildCount(look)===0 ) { + this.input.consume(); // not subtree, consume 1 node and return + return; + } + // current node is a subtree, skip to corresponding UP. + // must count nesting level to get right UP + var level=0, + tokenType = this.input.getTreeAdaptor().getType(look); + while ( tokenType!==org.antlr.runtime.Token.EOF && + !(tokenType===TP.UP && level===0) ) + { + this.input.consume(); + look = this.input.LT(1); + tokenType = this.input.getTreeAdaptor().getType(look); + if ( tokenType === TP.DOWN ) { + level++; + } + else if ( tokenType === TP.UP ) { + level--; + } + } + this.input.consume(); // consume UP + }, + + /** We have DOWN/UP nodes in the stream that have no line info; override. + * plus we want to alter the exception type. Don't try to recover + * * from tree parser errors inline... + */ + mismatch: function(input, ttype, follow) { + throw new org.antlr.runtime.MismatchedTreeNodeException(ttype, input); + }, + + /** Prefix error message with the grammar name because message is + * always intended for the programmer because the parser built + * the input tree not the user. + */ + getErrorHeader: function(e) { + return this.getGrammarFileName()+": node from "+ + (e.approximateLineInfo?"after ":"")+"line "+e.line+":"+e.charPositionInLine; + }, + + /** Tree parsers parse nodes they usually have a token object as + * payload. Set the exception token and do the default behavior. + */ + getErrorMessage: function(e, tokenNames) { + var adaptor; + if ( this instanceof TP ) { + adaptor = e.input.getTreeAdaptor(); + e.token = adaptor.getToken(e.node); + if ( !org.antlr.lang.isValue(e.token) ) { // could be an UP/DOWN node + e.token = new org.antlr.runtime.CommonToken( + adaptor.getType(e.node), + adaptor.getText(e.node)); + } + } + return TP.superclass.getErrorMessage.call(this, e, tokenNames); + }, + + traceIn: function(ruleName, ruleIndex) { + TP.superclass.traceIn.call(this, ruleName, ruleIndex, this.input.LT(1)); + }, + + traceOut: function(ruleName, ruleIndex) { + TP.superclass.traceOut.call(this, ruleName, ruleIndex, this.input.LT(1)); + } +}); + +})(); + +exports.org = org; + +}); +// $ANTLR 3.3 Nov 30, 2010 12:50:56 XQueryLexer.g 2012-04-01 14:44:23 + +/******************************************************************************* + * Copyright (c) 2008, 2009 28msec Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Gabriel Petrovay (28msec) - initial API and implementation + * Sam Neth (Mark Logic) + *******************************************************************************/ + +define('ace/mode/xquery/XQueryLexer', ['require', 'exports', 'module' , 'ace/mode/xquery/antlr3-all'], function(require, exports, module) { + +var org = require("./antlr3-all").org; + +var XQueryLexer = exports.XQueryLexer = function(input, state) { +// alternate constructor @todo +// public XQueryLexer(CharStream input) +// public XQueryLexer(CharStream input, RecognizerSharedState state) { + if (!state) { + state = new org.antlr.runtime.RecognizerSharedState(); + } + + (function(){ + }).call(this); + + this.dfa19 = new XQueryLexer.DFA19(this); + XQueryLexer.superclass.constructor.call(this, input, state); + + +}; + +org.antlr.lang.augmentObject(XQueryLexer, { + EOF: -1, + L_QuotAttrContentChar: 4, + L_AposAttrContentChar: 5, + L_ElementContentChar: 6, + L_CDataSection: 7, + L_PredefinedEntityRef: 8, + L_CharRef: 9, + ESCAPE_LBRACKET: 10, + ESCAPE_RBRACKET: 11, + ESCAPE_APOS: 12, + ESCAPE_QUOT: 13, + CDATA_START: 14, + CDATA_END: 15, + ANCESTOR: 16, + ANCESTOR_OR_SELF: 17, + AND: 18, + AS: 19, + ASCENDING: 20, + AT: 21, + ATTRIBUTE: 22, + BASE_URI: 23, + BOUNDARY_SPACE: 24, + BY: 25, + CASE: 26, + CAST: 27, + CASTABLE: 28, + CHILD: 29, + COLLATION: 30, + COMMENT: 31, + CONSTRUCTION: 32, + COPY_NAMESPACES: 33, + DECLARE: 34, + DEFAULT: 35, + DESCENDANT: 36, + DESCENDANT_OR_SELF: 37, + DESCENDING: 38, + DIV: 39, + DOCUMENT: 40, + DOCUMENT_NODE: 41, + ELEMENT: 42, + ELSE: 43, + EMPTY: 44, + EMPTY_SEQUENCE: 45, + ENCODING: 46, + EQ: 47, + EVERY: 48, + EXCEPT: 49, + EXTERNAL: 50, + FOLLOWING: 51, + FOLLOWING_SIBLING: 52, + FOR: 53, + FUNCTION: 54, + GE: 55, + GREATEST: 56, + GT: 57, + IDIV: 58, + IF: 59, + IMPORT: 60, + IN: 61, + INHERIT: 62, + INSTANCE: 63, + INTERSECT: 64, + IS: 65, + ITEM: 66, + LAX: 67, + LE: 68, + LEAST: 69, + LET: 70, + LT: 71, + MOD: 72, + MODULE: 73, + NAMESPACE: 74, + NE: 75, + NO_INHERIT: 76, + NO_PRESERVE: 77, + NODE: 78, + OF: 79, + OPTION: 80, + OR: 81, + ORDER: 82, + ORDERED: 83, + ORDERING: 84, + PARENT: 85, + PRECEDING: 86, + PRECEDING_SIBLING: 87, + PRESERVE: 88, + PROCESSING_INSTRUCTION: 89, + RETURN: 90, + SATISFIES: 91, + SCHEMA: 92, + SCHEMA_ATTRIBUTE: 93, + SCHEMA_ELEMENT: 94, + SELF: 95, + SOME: 96, + STABLE: 97, + STRICT: 98, + STRIP: 99, + TEXT: 100, + THEN: 101, + TO: 102, + TREAT: 103, + TYPESWITCH: 104, + UNION: 105, + UNORDERED: 106, + VALIDATE: 107, + VARIABLE: 108, + VERSION: 109, + WHERE: 110, + XQUERY: 111, + CATCH: 112, + CONTEXT: 113, + COUNT: 114, + DECIMAL_FORMAT: 115, + DECIMAL_SEPARATOR: 116, + DIGIT: 117, + END: 118, + GROUP: 119, + GROUPING_SEPARATOR: 120, + INFINITY: 121, + MINUS_SIGN: 122, + NAMESPACE_NODE: 123, + NAN: 124, + NEXT: 125, + ONLY: 126, + OUTER: 127, + PATTERN_SEPARATOR: 128, + PERCENT: 129, + PER_MILLE: 130, + PREVIOUS: 131, + SLIDING: 132, + START: 133, + TRY: 134, + TUMBLING: 135, + WHEN: 136, + WINDOW: 137, + ZERO_DIGIT: 138, + AFTER: 139, + BEFORE: 140, + COPY: 141, + DELETE: 142, + FIRST: 143, + INSERT: 144, + INTO: 145, + LAST: 146, + MODIFY: 147, + NODES: 148, + RENAME: 149, + REPLACE: 150, + REVALIDATION: 151, + SKIP: 152, + UPDATING: 153, + VALUE: 154, + WITH: 155, + BLOCK: 156, + CONSTANT: 157, + EXIT: 158, + RETURNING: 159, + SEQUENTIAL: 160, + SET: 161, + SIMPLE: 162, + WHILE: 163, + EVAL: 164, + USING: 165, + APPEND_ONLY: 166, + AUTOMATICALLY: 167, + CHECK: 168, + COLLECTION: 169, + CONSTRAINT: 170, + CONST: 171, + EQUALITY: 172, + FOREACH: 173, + FOREIGN: 174, + FROM: 175, + INDEX: 176, + INTEGRITY: 177, + KEY: 178, + MAINTAINED: 179, + MANUALLY: 180, + MUTABLE: 181, + NON: 182, + ON: 183, + QUEUE: 184, + RANGE: 185, + READ_ONLY: 186, + UNIQUE: 187, + BINARY: 188, + PRIVATE: 189, + AMP_ER: 190, + APOS_ER: 191, + QUOT_ER: 192, + LPAREN: 193, + RPAREN: 194, + DOLLAR: 195, + LBRACKET: 196, + RBRACKET: 197, + LSQUARE: 198, + RSQUARE: 199, + EQUAL: 200, + BIND: 201, + NOTEQUAL: 202, + AMP: 203, + COMMA: 204, + QUESTION: 205, + STAR: 206, + PLUS: 207, + MINUS: 208, + SMALLER: 209, + GREATER: 210, + SMALLEREQ: 211, + GREATEREQ: 212, + SMALLER_SMALLER: 213, + GREATER_GREATER: 214, + SLASH: 215, + SLASH_SLASH: 216, + DOT: 217, + DOT_DOT: 218, + COLON: 219, + COLON_COLON: 220, + EMPTY_CLOSE_TAG: 221, + CLOSE_TAG: 222, + SEMICOLON: 223, + VBAR: 224, + PRAGMA_START: 225, + PRAGMA_END: 226, + XML_COMMENT_START: 227, + XML_COMMENT_END: 228, + PI_START: 229, + PI_END: 230, + ATTR_SIGN: 231, + CHARREF_DEC: 232, + CHARREF_HEX: 233, + APOS: 234, + QUOT: 235, + NCNameStartChar: 236, + NCNameChar: 237, + L_NCName: 238, + Letter: 239, + HexLetter: 240, + Digit: 241, + Digits: 242, + S: 243, + SU: 244, + L_Pragma: 245, + L_DirCommentConstructor: 246, + L_DirPIConstructor: 247, + L_IntegerLiteral: 248, + L_DecimalLiteral: 249, + L_DoubleLiteral: 250, + L_Comment: 251, + L_AnyChar: 252 +}); + +(function(){ +var HIDDEN = org.antlr.runtime.Token.HIDDEN_CHANNEL, + EOF = org.antlr.runtime.Token.EOF; +org.antlr.lang.extend(XQueryLexer, org.antlr.runtime.Lexer, { + EOF : -1, + L_QuotAttrContentChar : 4, + L_AposAttrContentChar : 5, + L_ElementContentChar : 6, + L_CDataSection : 7, + L_PredefinedEntityRef : 8, + L_CharRef : 9, + ESCAPE_LBRACKET : 10, + ESCAPE_RBRACKET : 11, + ESCAPE_APOS : 12, + ESCAPE_QUOT : 13, + CDATA_START : 14, + CDATA_END : 15, + ANCESTOR : 16, + ANCESTOR_OR_SELF : 17, + AND : 18, + AS : 19, + ASCENDING : 20, + AT : 21, + ATTRIBUTE : 22, + BASE_URI : 23, + BOUNDARY_SPACE : 24, + BY : 25, + CASE : 26, + CAST : 27, + CASTABLE : 28, + CHILD : 29, + COLLATION : 30, + COMMENT : 31, + CONSTRUCTION : 32, + COPY_NAMESPACES : 33, + DECLARE : 34, + DEFAULT : 35, + DESCENDANT : 36, + DESCENDANT_OR_SELF : 37, + DESCENDING : 38, + DIV : 39, + DOCUMENT : 40, + DOCUMENT_NODE : 41, + ELEMENT : 42, + ELSE : 43, + EMPTY : 44, + EMPTY_SEQUENCE : 45, + ENCODING : 46, + EQ : 47, + EVERY : 48, + EXCEPT : 49, + EXTERNAL : 50, + FOLLOWING : 51, + FOLLOWING_SIBLING : 52, + FOR : 53, + FUNCTION : 54, + GE : 55, + GREATEST : 56, + GT : 57, + IDIV : 58, + IF : 59, + IMPORT : 60, + IN : 61, + INHERIT : 62, + INSTANCE : 63, + INTERSECT : 64, + IS : 65, + ITEM : 66, + LAX : 67, + LE : 68, + LEAST : 69, + LET : 70, + LT : 71, + MOD : 72, + MODULE : 73, + NAMESPACE : 74, + NE : 75, + NO_INHERIT : 76, + NO_PRESERVE : 77, + NODE : 78, + OF : 79, + OPTION : 80, + OR : 81, + ORDER : 82, + ORDERED : 83, + ORDERING : 84, + PARENT : 85, + PRECEDING : 86, + PRECEDING_SIBLING : 87, + PRESERVE : 88, + PROCESSING_INSTRUCTION : 89, + RETURN : 90, + SATISFIES : 91, + SCHEMA : 92, + SCHEMA_ATTRIBUTE : 93, + SCHEMA_ELEMENT : 94, + SELF : 95, + SOME : 96, + STABLE : 97, + STRICT : 98, + STRIP : 99, + TEXT : 100, + THEN : 101, + TO : 102, + TREAT : 103, + TYPESWITCH : 104, + UNION : 105, + UNORDERED : 106, + VALIDATE : 107, + VARIABLE : 108, + VERSION : 109, + WHERE : 110, + XQUERY : 111, + CATCH : 112, + CONTEXT : 113, + COUNT : 114, + DECIMAL_FORMAT : 115, + DECIMAL_SEPARATOR : 116, + DIGIT : 117, + END : 118, + GROUP : 119, + GROUPING_SEPARATOR : 120, + INFINITY : 121, + MINUS_SIGN : 122, + NAMESPACE_NODE : 123, + NAN : 124, + NEXT : 125, + ONLY : 126, + OUTER : 127, + PATTERN_SEPARATOR : 128, + PERCENT : 129, + PER_MILLE : 130, + PREVIOUS : 131, + SLIDING : 132, + START : 133, + TRY : 134, + TUMBLING : 135, + WHEN : 136, + WINDOW : 137, + ZERO_DIGIT : 138, + AFTER : 139, + BEFORE : 140, + COPY : 141, + DELETE : 142, + FIRST : 143, + INSERT : 144, + INTO : 145, + LAST : 146, + MODIFY : 147, + NODES : 148, + RENAME : 149, + REPLACE : 150, + REVALIDATION : 151, + SKIP : 152, + UPDATING : 153, + VALUE : 154, + WITH : 155, + BLOCK : 156, + CONSTANT : 157, + EXIT : 158, + RETURNING : 159, + SEQUENTIAL : 160, + SET : 161, + SIMPLE : 162, + WHILE : 163, + EVAL : 164, + USING : 165, + APPEND_ONLY : 166, + AUTOMATICALLY : 167, + CHECK : 168, + COLLECTION : 169, + CONSTRAINT : 170, + CONST : 171, + EQUALITY : 172, + FOREACH : 173, + FOREIGN : 174, + FROM : 175, + INDEX : 176, + INTEGRITY : 177, + KEY : 178, + MAINTAINED : 179, + MANUALLY : 180, + MUTABLE : 181, + NON : 182, + ON : 183, + QUEUE : 184, + RANGE : 185, + READ_ONLY : 186, + UNIQUE : 187, + BINARY : 188, + PRIVATE : 189, + AMP_ER : 190, + APOS_ER : 191, + QUOT_ER : 192, + LPAREN : 193, + RPAREN : 194, + DOLLAR : 195, + LBRACKET : 196, + RBRACKET : 197, + LSQUARE : 198, + RSQUARE : 199, + EQUAL : 200, + BIND : 201, + NOTEQUAL : 202, + AMP : 203, + COMMA : 204, + QUESTION : 205, + STAR : 206, + PLUS : 207, + MINUS : 208, + SMALLER : 209, + GREATER : 210, + SMALLEREQ : 211, + GREATEREQ : 212, + SMALLER_SMALLER : 213, + GREATER_GREATER : 214, + SLASH : 215, + SLASH_SLASH : 216, + DOT : 217, + DOT_DOT : 218, + COLON : 219, + COLON_COLON : 220, + EMPTY_CLOSE_TAG : 221, + CLOSE_TAG : 222, + SEMICOLON : 223, + VBAR : 224, + PRAGMA_START : 225, + PRAGMA_END : 226, + XML_COMMENT_START : 227, + XML_COMMENT_END : 228, + PI_START : 229, + PI_END : 230, + ATTR_SIGN : 231, + CHARREF_DEC : 232, + CHARREF_HEX : 233, + APOS : 234, + QUOT : 235, + NCNameStartChar : 236, + NCNameChar : 237, + L_NCName : 238, + Letter : 239, + HexLetter : 240, + Digit : 241, + Digits : 242, + S : 243, + SU : 244, + L_Pragma : 245, + L_DirCommentConstructor : 246, + L_DirPIConstructor : 247, + L_IntegerLiteral : 248, + L_DecimalLiteral : 249, + L_DoubleLiteral : 250, + L_Comment : 251, + L_AnyChar : 252, + getGrammarFileName: function() { return "XQueryLexer.g"; } +}); +org.antlr.lang.augmentObject(XQueryLexer.prototype, { + // $ANTLR start ANCESTOR + mANCESTOR: function() { + try { + var _type = this.ANCESTOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:43:29: ( 'ancestor' ) + // XQueryLexer.g:43:31: 'ancestor' + this.match("ancestor"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ANCESTOR", + + // $ANTLR start ANCESTOR_OR_SELF + mANCESTOR_OR_SELF: function() { + try { + var _type = this.ANCESTOR_OR_SELF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:44:29: ( 'ancestor-or-self' ) + // XQueryLexer.g:44:31: 'ancestor-or-self' + this.match("ancestor-or-self"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ANCESTOR_OR_SELF", + + // $ANTLR start AND + mAND: function() { + try { + var _type = this.AND; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:45:29: ( 'and' ) + // XQueryLexer.g:45:31: 'and' + this.match("and"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AND", + + // $ANTLR start AS + mAS: function() { + try { + var _type = this.AS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:46:29: ( 'as' ) + // XQueryLexer.g:46:31: 'as' + this.match("as"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AS", + + // $ANTLR start ASCENDING + mASCENDING: function() { + try { + var _type = this.ASCENDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:47:29: ( 'ascending' ) + // XQueryLexer.g:47:31: 'ascending' + this.match("ascending"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ASCENDING", + + // $ANTLR start AT + mAT: function() { + try { + var _type = this.AT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:48:29: ( 'at' ) + // XQueryLexer.g:48:31: 'at' + this.match("at"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AT", + + // $ANTLR start ATTRIBUTE + mATTRIBUTE: function() { + try { + var _type = this.ATTRIBUTE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:49:29: ( 'attribute' ) + // XQueryLexer.g:49:31: 'attribute' + this.match("attribute"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ATTRIBUTE", + + // $ANTLR start BASE_URI + mBASE_URI: function() { + try { + var _type = this.BASE_URI; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:50:29: ( 'base-uri' ) + // XQueryLexer.g:50:31: 'base-uri' + this.match("base-uri"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BASE_URI", + + // $ANTLR start BOUNDARY_SPACE + mBOUNDARY_SPACE: function() { + try { + var _type = this.BOUNDARY_SPACE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:51:29: ( 'boundary-space' ) + // XQueryLexer.g:51:31: 'boundary-space' + this.match("boundary-space"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BOUNDARY_SPACE", + + // $ANTLR start BY + mBY: function() { + try { + var _type = this.BY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:52:29: ( 'by' ) + // XQueryLexer.g:52:31: 'by' + this.match("by"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BY", + + // $ANTLR start CASE + mCASE: function() { + try { + var _type = this.CASE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:53:29: ( 'case' ) + // XQueryLexer.g:53:31: 'case' + this.match("case"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CASE", + + // $ANTLR start CAST + mCAST: function() { + try { + var _type = this.CAST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:54:29: ( 'cast' ) + // XQueryLexer.g:54:31: 'cast' + this.match("cast"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CAST", + + // $ANTLR start CASTABLE + mCASTABLE: function() { + try { + var _type = this.CASTABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:55:29: ( 'castable' ) + // XQueryLexer.g:55:31: 'castable' + this.match("castable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CASTABLE", + + // $ANTLR start CHILD + mCHILD: function() { + try { + var _type = this.CHILD; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:56:29: ( 'child' ) + // XQueryLexer.g:56:31: 'child' + this.match("child"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHILD", + + // $ANTLR start COLLATION + mCOLLATION: function() { + try { + var _type = this.COLLATION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:57:29: ( 'collation' ) + // XQueryLexer.g:57:31: 'collation' + this.match("collation"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLLATION", + + // $ANTLR start COMMENT + mCOMMENT: function() { + try { + var _type = this.COMMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:58:29: ( 'comment' ) + // XQueryLexer.g:58:31: 'comment' + this.match("comment"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COMMENT", + + // $ANTLR start CONSTRUCTION + mCONSTRUCTION: function() { + try { + var _type = this.CONSTRUCTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:59:29: ( 'construction' ) + // XQueryLexer.g:59:31: 'construction' + this.match("construction"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONSTRUCTION", + + // $ANTLR start COPY_NAMESPACES + mCOPY_NAMESPACES: function() { + try { + var _type = this.COPY_NAMESPACES; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:60:29: ( 'copy-namespaces' ) + // XQueryLexer.g:60:31: 'copy-namespaces' + this.match("copy-namespaces"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COPY_NAMESPACES", + + // $ANTLR start DECLARE + mDECLARE: function() { + try { + var _type = this.DECLARE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:61:29: ( 'declare' ) + // XQueryLexer.g:61:31: 'declare' + this.match("declare"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DECLARE", + + // $ANTLR start DEFAULT + mDEFAULT: function() { + try { + var _type = this.DEFAULT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:62:29: ( 'default' ) + // XQueryLexer.g:62:31: 'default' + this.match("default"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DEFAULT", + + // $ANTLR start DESCENDANT + mDESCENDANT: function() { + try { + var _type = this.DESCENDANT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:63:29: ( 'descendant' ) + // XQueryLexer.g:63:31: 'descendant' + this.match("descendant"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DESCENDANT", + + // $ANTLR start DESCENDANT_OR_SELF + mDESCENDANT_OR_SELF: function() { + try { + var _type = this.DESCENDANT_OR_SELF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:64:29: ( 'descendant-or-self' ) + // XQueryLexer.g:64:31: 'descendant-or-self' + this.match("descendant-or-self"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DESCENDANT_OR_SELF", + + // $ANTLR start DESCENDING + mDESCENDING: function() { + try { + var _type = this.DESCENDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:65:29: ( 'descending' ) + // XQueryLexer.g:65:31: 'descending' + this.match("descending"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DESCENDING", + + // $ANTLR start DIV + mDIV: function() { + try { + var _type = this.DIV; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:66:29: ( 'div' ) + // XQueryLexer.g:66:31: 'div' + this.match("div"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DIV", + + // $ANTLR start DOCUMENT + mDOCUMENT: function() { + try { + var _type = this.DOCUMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:67:29: ( 'document' ) + // XQueryLexer.g:67:31: 'document' + this.match("document"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOCUMENT", + + // $ANTLR start DOCUMENT_NODE + mDOCUMENT_NODE: function() { + try { + var _type = this.DOCUMENT_NODE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:68:29: ( 'document-node' ) + // XQueryLexer.g:68:31: 'document-node' + this.match("document-node"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOCUMENT_NODE", + + // $ANTLR start ELEMENT + mELEMENT: function() { + try { + var _type = this.ELEMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:69:29: ( 'element' ) + // XQueryLexer.g:69:31: 'element' + this.match("element"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ELEMENT", + + // $ANTLR start ELSE + mELSE: function() { + try { + var _type = this.ELSE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:70:29: ( 'else' ) + // XQueryLexer.g:70:31: 'else' + this.match("else"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ELSE", + + // $ANTLR start EMPTY + mEMPTY: function() { + try { + var _type = this.EMPTY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:71:29: ( 'empty' ) + // XQueryLexer.g:71:31: 'empty' + this.match("empty"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EMPTY", + + // $ANTLR start EMPTY_SEQUENCE + mEMPTY_SEQUENCE: function() { + try { + var _type = this.EMPTY_SEQUENCE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:72:29: ( 'empty-sequence' ) + // XQueryLexer.g:72:31: 'empty-sequence' + this.match("empty-sequence"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EMPTY_SEQUENCE", + + // $ANTLR start ENCODING + mENCODING: function() { + try { + var _type = this.ENCODING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:73:29: ( 'encoding' ) + // XQueryLexer.g:73:31: 'encoding' + this.match("encoding"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ENCODING", + + // $ANTLR start EQ + mEQ: function() { + try { + var _type = this.EQ; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:74:29: ( 'eq' ) + // XQueryLexer.g:74:31: 'eq' + this.match("eq"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EQ", + + // $ANTLR start EVERY + mEVERY: function() { + try { + var _type = this.EVERY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:75:29: ( 'every' ) + // XQueryLexer.g:75:31: 'every' + this.match("every"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EVERY", + + // $ANTLR start EXCEPT + mEXCEPT: function() { + try { + var _type = this.EXCEPT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:76:29: ( 'except' ) + // XQueryLexer.g:76:31: 'except' + this.match("except"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EXCEPT", + + // $ANTLR start EXTERNAL + mEXTERNAL: function() { + try { + var _type = this.EXTERNAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:77:29: ( 'external' ) + // XQueryLexer.g:77:31: 'external' + this.match("external"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EXTERNAL", + + // $ANTLR start FOLLOWING + mFOLLOWING: function() { + try { + var _type = this.FOLLOWING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:78:29: ( 'following' ) + // XQueryLexer.g:78:31: 'following' + this.match("following"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOLLOWING", + + // $ANTLR start FOLLOWING_SIBLING + mFOLLOWING_SIBLING: function() { + try { + var _type = this.FOLLOWING_SIBLING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:79:29: ( 'following-sibling' ) + // XQueryLexer.g:79:31: 'following-sibling' + this.match("following-sibling"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOLLOWING_SIBLING", + + // $ANTLR start FOR + mFOR: function() { + try { + var _type = this.FOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:80:29: ( 'for' ) + // XQueryLexer.g:80:31: 'for' + this.match("for"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOR", + + // $ANTLR start FUNCTION + mFUNCTION: function() { + try { + var _type = this.FUNCTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:81:29: ( 'function' ) + // XQueryLexer.g:81:31: 'function' + this.match("function"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FUNCTION", + + // $ANTLR start GE + mGE: function() { + try { + var _type = this.GE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:82:29: ( 'ge' ) + // XQueryLexer.g:82:31: 'ge' + this.match("ge"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GE", + + // $ANTLR start GREATEST + mGREATEST: function() { + try { + var _type = this.GREATEST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:83:29: ( 'greatest' ) + // XQueryLexer.g:83:31: 'greatest' + this.match("greatest"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATEST", + + // $ANTLR start GT + mGT: function() { + try { + var _type = this.GT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:84:29: ( 'gt' ) + // XQueryLexer.g:84:31: 'gt' + this.match("gt"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GT", + + // $ANTLR start IDIV + mIDIV: function() { + try { + var _type = this.IDIV; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:85:29: ( 'idiv' ) + // XQueryLexer.g:85:31: 'idiv' + this.match("idiv"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IDIV", + + // $ANTLR start IF + mIF: function() { + try { + var _type = this.IF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:86:29: ( 'if' ) + // XQueryLexer.g:86:31: 'if' + this.match("if"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IF", + + // $ANTLR start IMPORT + mIMPORT: function() { + try { + var _type = this.IMPORT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:87:29: ( 'import' ) + // XQueryLexer.g:87:31: 'import' + this.match("import"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IMPORT", + + // $ANTLR start IN + mIN: function() { + try { + var _type = this.IN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:88:29: ( 'in' ) + // XQueryLexer.g:88:31: 'in' + this.match("in"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IN", + + // $ANTLR start INHERIT + mINHERIT: function() { + try { + var _type = this.INHERIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:89:29: ( 'inherit' ) + // XQueryLexer.g:89:31: 'inherit' + this.match("inherit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INHERIT", + + // $ANTLR start INSTANCE + mINSTANCE: function() { + try { + var _type = this.INSTANCE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:90:29: ( 'instance' ) + // XQueryLexer.g:90:31: 'instance' + this.match("instance"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INSTANCE", + + // $ANTLR start INTERSECT + mINTERSECT: function() { + try { + var _type = this.INTERSECT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:91:29: ( 'intersect' ) + // XQueryLexer.g:91:31: 'intersect' + this.match("intersect"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INTERSECT", + + // $ANTLR start IS + mIS: function() { + try { + var _type = this.IS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:92:29: ( 'is' ) + // XQueryLexer.g:92:31: 'is' + this.match("is"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "IS", + + // $ANTLR start ITEM + mITEM: function() { + try { + var _type = this.ITEM; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:93:29: ( 'item' ) + // XQueryLexer.g:93:31: 'item' + this.match("item"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ITEM", + + // $ANTLR start LAX + mLAX: function() { + try { + var _type = this.LAX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:94:29: ( 'lax' ) + // XQueryLexer.g:94:31: 'lax' + this.match("lax"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LAX", + + // $ANTLR start LE + mLE: function() { + try { + var _type = this.LE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:95:29: ( 'le' ) + // XQueryLexer.g:95:31: 'le' + this.match("le"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LE", + + // $ANTLR start LEAST + mLEAST: function() { + try { + var _type = this.LEAST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:96:29: ( 'least' ) + // XQueryLexer.g:96:31: 'least' + this.match("least"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LEAST", + + // $ANTLR start LET + mLET: function() { + try { + var _type = this.LET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:97:29: ( 'let' ) + // XQueryLexer.g:97:31: 'let' + this.match("let"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LET", + + // $ANTLR start LT + mLT: function() { + try { + var _type = this.LT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:98:29: ( 'lt' ) + // XQueryLexer.g:98:31: 'lt' + this.match("lt"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LT", + + // $ANTLR start MOD + mMOD: function() { + try { + var _type = this.MOD; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:99:29: ( 'mod' ) + // XQueryLexer.g:99:31: 'mod' + this.match("mod"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MOD", + + // $ANTLR start MODULE + mMODULE: function() { + try { + var _type = this.MODULE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:100:29: ( 'module' ) + // XQueryLexer.g:100:31: 'module' + this.match("module"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MODULE", + + // $ANTLR start NAMESPACE + mNAMESPACE: function() { + try { + var _type = this.NAMESPACE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:101:29: ( 'namespace' ) + // XQueryLexer.g:101:31: 'namespace' + this.match("namespace"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NAMESPACE", + + // $ANTLR start NE + mNE: function() { + try { + var _type = this.NE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:102:29: ( 'ne' ) + // XQueryLexer.g:102:31: 'ne' + this.match("ne"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NE", + + // $ANTLR start NO_INHERIT + mNO_INHERIT: function() { + try { + var _type = this.NO_INHERIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:103:29: ( 'no-inherit' ) + // XQueryLexer.g:103:31: 'no-inherit' + this.match("no-inherit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NO_INHERIT", + + // $ANTLR start NO_PRESERVE + mNO_PRESERVE: function() { + try { + var _type = this.NO_PRESERVE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:104:29: ( 'no-preserve' ) + // XQueryLexer.g:104:31: 'no-preserve' + this.match("no-preserve"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NO_PRESERVE", + + // $ANTLR start NODE + mNODE: function() { + try { + var _type = this.NODE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:105:29: ( 'node' ) + // XQueryLexer.g:105:31: 'node' + this.match("node"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NODE", + + // $ANTLR start OF + mOF: function() { + try { + var _type = this.OF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:106:29: ( 'of' ) + // XQueryLexer.g:106:31: 'of' + this.match("of"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OF", + + // $ANTLR start OPTION + mOPTION: function() { + try { + var _type = this.OPTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:107:29: ( 'option' ) + // XQueryLexer.g:107:31: 'option' + this.match("option"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OPTION", + + // $ANTLR start OR + mOR: function() { + try { + var _type = this.OR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:108:29: ( 'or' ) + // XQueryLexer.g:108:31: 'or' + this.match("or"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OR", + + // $ANTLR start ORDER + mORDER: function() { + try { + var _type = this.ORDER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:109:29: ( 'order' ) + // XQueryLexer.g:109:31: 'order' + this.match("order"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ORDER", + + // $ANTLR start ORDERED + mORDERED: function() { + try { + var _type = this.ORDERED; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:110:29: ( 'ordered' ) + // XQueryLexer.g:110:31: 'ordered' + this.match("ordered"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ORDERED", + + // $ANTLR start ORDERING + mORDERING: function() { + try { + var _type = this.ORDERING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:111:29: ( 'ordering' ) + // XQueryLexer.g:111:31: 'ordering' + this.match("ordering"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ORDERING", + + // $ANTLR start PARENT + mPARENT: function() { + try { + var _type = this.PARENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:112:29: ( 'parent' ) + // XQueryLexer.g:112:31: 'parent' + this.match("parent"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PARENT", + + // $ANTLR start PRECEDING + mPRECEDING: function() { + try { + var _type = this.PRECEDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:113:29: ( 'preceding' ) + // XQueryLexer.g:113:31: 'preceding' + this.match("preceding"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRECEDING", + + // $ANTLR start PRECEDING_SIBLING + mPRECEDING_SIBLING: function() { + try { + var _type = this.PRECEDING_SIBLING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:114:29: ( 'preceding-sibling' ) + // XQueryLexer.g:114:31: 'preceding-sibling' + this.match("preceding-sibling"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRECEDING_SIBLING", + + // $ANTLR start PRESERVE + mPRESERVE: function() { + try { + var _type = this.PRESERVE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:115:29: ( 'preserve' ) + // XQueryLexer.g:115:31: 'preserve' + this.match("preserve"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRESERVE", + + // $ANTLR start PROCESSING_INSTRUCTION + mPROCESSING_INSTRUCTION: function() { + try { + var _type = this.PROCESSING_INSTRUCTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:116:29: ( 'processing-instruction' ) + // XQueryLexer.g:116:31: 'processing-instruction' + this.match("processing-instruction"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PROCESSING_INSTRUCTION", + + // $ANTLR start RETURN + mRETURN: function() { + try { + var _type = this.RETURN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:117:29: ( 'return' ) + // XQueryLexer.g:117:31: 'return' + this.match("return"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RETURN", + + // $ANTLR start SATISFIES + mSATISFIES: function() { + try { + var _type = this.SATISFIES; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:118:29: ( 'satisfies' ) + // XQueryLexer.g:118:31: 'satisfies' + this.match("satisfies"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SATISFIES", + + // $ANTLR start SCHEMA + mSCHEMA: function() { + try { + var _type = this.SCHEMA; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:119:29: ( 'schema' ) + // XQueryLexer.g:119:31: 'schema' + this.match("schema"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SCHEMA", + + // $ANTLR start SCHEMA_ATTRIBUTE + mSCHEMA_ATTRIBUTE: function() { + try { + var _type = this.SCHEMA_ATTRIBUTE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:120:29: ( 'schema-attribute' ) + // XQueryLexer.g:120:31: 'schema-attribute' + this.match("schema-attribute"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SCHEMA_ATTRIBUTE", + + // $ANTLR start SCHEMA_ELEMENT + mSCHEMA_ELEMENT: function() { + try { + var _type = this.SCHEMA_ELEMENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:121:29: ( 'schema-element' ) + // XQueryLexer.g:121:31: 'schema-element' + this.match("schema-element"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SCHEMA_ELEMENT", + + // $ANTLR start SELF + mSELF: function() { + try { + var _type = this.SELF; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:122:29: ( 'self' ) + // XQueryLexer.g:122:31: 'self' + this.match("self"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SELF", + + // $ANTLR start SOME + mSOME: function() { + try { + var _type = this.SOME; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:123:29: ( 'some' ) + // XQueryLexer.g:123:31: 'some' + this.match("some"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SOME", + + // $ANTLR start STABLE + mSTABLE: function() { + try { + var _type = this.STABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:124:29: ( 'stable' ) + // XQueryLexer.g:124:31: 'stable' + this.match("stable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STABLE", + + // $ANTLR start STRICT + mSTRICT: function() { + try { + var _type = this.STRICT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:125:29: ( 'strict' ) + // XQueryLexer.g:125:31: 'strict' + this.match("strict"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STRICT", + + // $ANTLR start STRIP + mSTRIP: function() { + try { + var _type = this.STRIP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:126:29: ( 'strip' ) + // XQueryLexer.g:126:31: 'strip' + this.match("strip"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STRIP", + + // $ANTLR start TEXT + mTEXT: function() { + try { + var _type = this.TEXT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:127:29: ( 'text' ) + // XQueryLexer.g:127:31: 'text' + this.match("text"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TEXT", + + // $ANTLR start THEN + mTHEN: function() { + try { + var _type = this.THEN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:128:29: ( 'then' ) + // XQueryLexer.g:128:31: 'then' + this.match("then"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "THEN", + + // $ANTLR start TO + mTO: function() { + try { + var _type = this.TO; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:129:29: ( 'to' ) + // XQueryLexer.g:129:31: 'to' + this.match("to"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TO", + + // $ANTLR start TREAT + mTREAT: function() { + try { + var _type = this.TREAT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:130:29: ( 'treat' ) + // XQueryLexer.g:130:31: 'treat' + this.match("treat"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TREAT", + + // $ANTLR start TYPESWITCH + mTYPESWITCH: function() { + try { + var _type = this.TYPESWITCH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:131:29: ( 'typeswitch' ) + // XQueryLexer.g:131:31: 'typeswitch' + this.match("typeswitch"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TYPESWITCH", + + // $ANTLR start UNION + mUNION: function() { + try { + var _type = this.UNION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:132:29: ( 'union' ) + // XQueryLexer.g:132:31: 'union' + this.match("union"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UNION", + + // $ANTLR start UNORDERED + mUNORDERED: function() { + try { + var _type = this.UNORDERED; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:133:29: ( 'unordered' ) + // XQueryLexer.g:133:31: 'unordered' + this.match("unordered"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UNORDERED", + + // $ANTLR start VALIDATE + mVALIDATE: function() { + try { + var _type = this.VALIDATE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:134:29: ( 'validate' ) + // XQueryLexer.g:134:31: 'validate' + this.match("validate"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VALIDATE", + + // $ANTLR start VARIABLE + mVARIABLE: function() { + try { + var _type = this.VARIABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:135:29: ( 'variable' ) + // XQueryLexer.g:135:31: 'variable' + this.match("variable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VARIABLE", + + // $ANTLR start VERSION + mVERSION: function() { + try { + var _type = this.VERSION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:136:29: ( 'version' ) + // XQueryLexer.g:136:31: 'version' + this.match("version"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VERSION", + + // $ANTLR start WHERE + mWHERE: function() { + try { + var _type = this.WHERE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:137:29: ( 'where' ) + // XQueryLexer.g:137:31: 'where' + this.match("where"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WHERE", + + // $ANTLR start XQUERY + mXQUERY: function() { + try { + var _type = this.XQUERY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:138:29: ( 'xquery' ) + // XQueryLexer.g:138:31: 'xquery' + this.match("xquery"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "XQUERY", + + // $ANTLR start CATCH + mCATCH: function() { + try { + var _type = this.CATCH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:140:29: ( 'catch' ) + // XQueryLexer.g:140:31: 'catch' + this.match("catch"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CATCH", + + // $ANTLR start CONTEXT + mCONTEXT: function() { + try { + var _type = this.CONTEXT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:141:29: ( 'context' ) + // XQueryLexer.g:141:31: 'context' + this.match("context"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONTEXT", + + // $ANTLR start COUNT + mCOUNT: function() { + try { + var _type = this.COUNT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:142:29: ( 'count' ) + // XQueryLexer.g:142:31: 'count' + this.match("count"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COUNT", + + // $ANTLR start DECIMAL_FORMAT + mDECIMAL_FORMAT: function() { + try { + var _type = this.DECIMAL_FORMAT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:143:29: ( 'decimal-format' ) + // XQueryLexer.g:143:31: 'decimal-format' + this.match("decimal-format"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DECIMAL_FORMAT", + + // $ANTLR start DECIMAL_SEPARATOR + mDECIMAL_SEPARATOR: function() { + try { + var _type = this.DECIMAL_SEPARATOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:144:29: ( 'decimal-separator' ) + // XQueryLexer.g:144:31: 'decimal-separator' + this.match("decimal-separator"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DECIMAL_SEPARATOR", + + // $ANTLR start DIGIT + mDIGIT: function() { + try { + var _type = this.DIGIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:145:29: ( 'digit' ) + // XQueryLexer.g:145:31: 'digit' + this.match("digit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DIGIT", + + // $ANTLR start END + mEND: function() { + try { + var _type = this.END; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:146:29: ( 'end' ) + // XQueryLexer.g:146:31: 'end' + this.match("end"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "END", + + // $ANTLR start GROUP + mGROUP: function() { + try { + var _type = this.GROUP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:147:29: ( 'group' ) + // XQueryLexer.g:147:31: 'group' + this.match("group"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GROUP", + + // $ANTLR start GROUPING_SEPARATOR + mGROUPING_SEPARATOR: function() { + try { + var _type = this.GROUPING_SEPARATOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:148:29: ( 'grouping-separator' ) + // XQueryLexer.g:148:31: 'grouping-separator' + this.match("grouping-separator"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GROUPING_SEPARATOR", + + // $ANTLR start INFINITY + mINFINITY: function() { + try { + var _type = this.INFINITY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:149:29: ( 'infinity' ) + // XQueryLexer.g:149:31: 'infinity' + this.match("infinity"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INFINITY", + + // $ANTLR start MINUS_SIGN + mMINUS_SIGN: function() { + try { + var _type = this.MINUS_SIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:150:29: ( 'minus-sign' ) + // XQueryLexer.g:150:31: 'minus-sign' + this.match("minus-sign"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MINUS_SIGN", + + // $ANTLR start NAMESPACE_NODE + mNAMESPACE_NODE: function() { + try { + var _type = this.NAMESPACE_NODE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:151:29: ( 'namespace-node' ) + // XQueryLexer.g:151:31: 'namespace-node' + this.match("namespace-node"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NAMESPACE_NODE", + + // $ANTLR start NAN + mNAN: function() { + try { + var _type = this.NAN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:152:29: ( 'NaN' ) + // XQueryLexer.g:152:31: 'NaN' + this.match("NaN"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NAN", + + // $ANTLR start NEXT + mNEXT: function() { + try { + var _type = this.NEXT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:153:29: ( 'next' ) + // XQueryLexer.g:153:31: 'next' + this.match("next"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NEXT", + + // $ANTLR start ONLY + mONLY: function() { + try { + var _type = this.ONLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:154:29: ( 'only' ) + // XQueryLexer.g:154:31: 'only' + this.match("only"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ONLY", + + // $ANTLR start OUTER + mOUTER: function() { + try { + var _type = this.OUTER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:155:29: ( 'outer' ) + // XQueryLexer.g:155:31: 'outer' + this.match("outer"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "OUTER", + + // $ANTLR start PATTERN_SEPARATOR + mPATTERN_SEPARATOR: function() { + try { + var _type = this.PATTERN_SEPARATOR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:156:29: ( 'pattern-separator' ) + // XQueryLexer.g:156:31: 'pattern-separator' + this.match("pattern-separator"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PATTERN_SEPARATOR", + + // $ANTLR start PERCENT + mPERCENT: function() { + try { + var _type = this.PERCENT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:157:29: ( 'percent' ) + // XQueryLexer.g:157:31: 'percent' + this.match("percent"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PERCENT", + + // $ANTLR start PER_MILLE + mPER_MILLE: function() { + try { + var _type = this.PER_MILLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:158:29: ( 'per-mille' ) + // XQueryLexer.g:158:31: 'per-mille' + this.match("per-mille"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PER_MILLE", + + // $ANTLR start PREVIOUS + mPREVIOUS: function() { + try { + var _type = this.PREVIOUS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:159:29: ( 'previous' ) + // XQueryLexer.g:159:31: 'previous' + this.match("previous"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PREVIOUS", + + // $ANTLR start SLIDING + mSLIDING: function() { + try { + var _type = this.SLIDING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:160:29: ( 'sliding' ) + // XQueryLexer.g:160:31: 'sliding' + this.match("sliding"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SLIDING", + + // $ANTLR start START + mSTART: function() { + try { + var _type = this.START; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:161:29: ( 'start' ) + // XQueryLexer.g:161:31: 'start' + this.match("start"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "START", + + // $ANTLR start TRY + mTRY: function() { + try { + var _type = this.TRY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:162:29: ( 'try' ) + // XQueryLexer.g:162:31: 'try' + this.match("try"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TRY", + + // $ANTLR start TUMBLING + mTUMBLING: function() { + try { + var _type = this.TUMBLING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:163:29: ( 'tumbling' ) + // XQueryLexer.g:163:31: 'tumbling' + this.match("tumbling"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "TUMBLING", + + // $ANTLR start WHEN + mWHEN: function() { + try { + var _type = this.WHEN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:164:29: ( 'when' ) + // XQueryLexer.g:164:31: 'when' + this.match("when"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WHEN", + + // $ANTLR start WINDOW + mWINDOW: function() { + try { + var _type = this.WINDOW; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:165:29: ( 'window' ) + // XQueryLexer.g:165:31: 'window' + this.match("window"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WINDOW", + + // $ANTLR start ZERO_DIGIT + mZERO_DIGIT: function() { + try { + var _type = this.ZERO_DIGIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:166:29: ( 'zero-digit' ) + // XQueryLexer.g:166:31: 'zero-digit' + this.match("zero-digit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ZERO_DIGIT", + + // $ANTLR start AFTER + mAFTER: function() { + try { + var _type = this.AFTER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:168:29: ( 'after' ) + // XQueryLexer.g:168:31: 'after' + this.match("after"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AFTER", + + // $ANTLR start BEFORE + mBEFORE: function() { + try { + var _type = this.BEFORE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:169:29: ( 'before' ) + // XQueryLexer.g:169:31: 'before' + this.match("before"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BEFORE", + + // $ANTLR start COPY + mCOPY: function() { + try { + var _type = this.COPY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:170:29: ( 'copy' ) + // XQueryLexer.g:170:31: 'copy' + this.match("copy"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COPY", + + // $ANTLR start DELETE + mDELETE: function() { + try { + var _type = this.DELETE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:171:29: ( 'delete' ) + // XQueryLexer.g:171:31: 'delete' + this.match("delete"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DELETE", + + // $ANTLR start FIRST + mFIRST: function() { + try { + var _type = this.FIRST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:172:29: ( 'first' ) + // XQueryLexer.g:172:31: 'first' + this.match("first"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FIRST", + + // $ANTLR start INSERT + mINSERT: function() { + try { + var _type = this.INSERT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:173:29: ( 'insert' ) + // XQueryLexer.g:173:31: 'insert' + this.match("insert"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INSERT", + + // $ANTLR start INTO + mINTO: function() { + try { + var _type = this.INTO; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:174:29: ( 'into' ) + // XQueryLexer.g:174:31: 'into' + this.match("into"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INTO", + + // $ANTLR start LAST + mLAST: function() { + try { + var _type = this.LAST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:175:29: ( 'last' ) + // XQueryLexer.g:175:31: 'last' + this.match("last"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LAST", + + // $ANTLR start MODIFY + mMODIFY: function() { + try { + var _type = this.MODIFY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:176:29: ( 'modify' ) + // XQueryLexer.g:176:31: 'modify' + this.match("modify"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MODIFY", + + // $ANTLR start NODES + mNODES: function() { + try { + var _type = this.NODES; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:177:29: ( 'nodes' ) + // XQueryLexer.g:177:31: 'nodes' + this.match("nodes"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NODES", + + // $ANTLR start RENAME + mRENAME: function() { + try { + var _type = this.RENAME; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:178:29: ( 'rename' ) + // XQueryLexer.g:178:31: 'rename' + this.match("rename"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RENAME", + + // $ANTLR start REPLACE + mREPLACE: function() { + try { + var _type = this.REPLACE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:179:29: ( 'replace' ) + // XQueryLexer.g:179:31: 'replace' + this.match("replace"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "REPLACE", + + // $ANTLR start REVALIDATION + mREVALIDATION: function() { + try { + var _type = this.REVALIDATION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:180:29: ( 'revalidation' ) + // XQueryLexer.g:180:31: 'revalidation' + this.match("revalidation"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "REVALIDATION", + + // $ANTLR start SKIP + mSKIP: function() { + try { + var _type = this.SKIP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:181:29: ( 'skip' ) + // XQueryLexer.g:181:31: 'skip' + this.match("skip"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SKIP", + + // $ANTLR start UPDATING + mUPDATING: function() { + try { + var _type = this.UPDATING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:182:29: ( 'updating' ) + // XQueryLexer.g:182:31: 'updating' + this.match("updating"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UPDATING", + + // $ANTLR start VALUE + mVALUE: function() { + try { + var _type = this.VALUE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:183:29: ( 'value' ) + // XQueryLexer.g:183:31: 'value' + this.match("value"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "VALUE", + + // $ANTLR start WITH + mWITH: function() { + try { + var _type = this.WITH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:184:29: ( 'with' ) + // XQueryLexer.g:184:31: 'with' + this.match("with"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WITH", + + // $ANTLR start BLOCK + mBLOCK: function() { + try { + var _type = this.BLOCK; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:186:29: ( 'block' ) + // XQueryLexer.g:186:31: 'block' + this.match("block"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BLOCK", + + // $ANTLR start CONSTANT + mCONSTANT: function() { + try { + var _type = this.CONSTANT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:187:29: ( 'constant' ) + // XQueryLexer.g:187:31: 'constant' + this.match("constant"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONSTANT", + + // $ANTLR start EXIT + mEXIT: function() { + try { + var _type = this.EXIT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:188:29: ( 'exit' ) + // XQueryLexer.g:188:31: 'exit' + this.match("exit"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EXIT", + + // $ANTLR start RETURNING + mRETURNING: function() { + try { + var _type = this.RETURNING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:189:29: ( 'returning' ) + // XQueryLexer.g:189:31: 'returning' + this.match("returning"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RETURNING", + + // $ANTLR start SEQUENTIAL + mSEQUENTIAL: function() { + try { + var _type = this.SEQUENTIAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:190:29: ( 'sequential' ) + // XQueryLexer.g:190:31: 'sequential' + this.match("sequential"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SEQUENTIAL", + + // $ANTLR start SET + mSET: function() { + try { + var _type = this.SET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:191:29: ( 'set' ) + // XQueryLexer.g:191:31: 'set' + this.match("set"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SET", + + // $ANTLR start SIMPLE + mSIMPLE: function() { + try { + var _type = this.SIMPLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:192:29: ( 'simple' ) + // XQueryLexer.g:192:31: 'simple' + this.match("simple"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SIMPLE", + + // $ANTLR start WHILE + mWHILE: function() { + try { + var _type = this.WHILE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:193:29: ( 'while' ) + // XQueryLexer.g:193:31: 'while' + this.match("while"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "WHILE", + + // $ANTLR start EVAL + mEVAL: function() { + try { + var _type = this.EVAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:195:29: ( 'eval' ) + // XQueryLexer.g:195:31: 'eval' + this.match("eval"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EVAL", + + // $ANTLR start USING + mUSING: function() { + try { + var _type = this.USING; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:196:29: ( 'using' ) + // XQueryLexer.g:196:31: 'using' + this.match("using"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "USING", + + // $ANTLR start APPEND_ONLY + mAPPEND_ONLY: function() { + try { + var _type = this.APPEND_ONLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:198:29: ( 'append-only' ) + // XQueryLexer.g:198:31: 'append-only' + this.match("append-only"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APPEND_ONLY", + + // $ANTLR start AUTOMATICALLY + mAUTOMATICALLY: function() { + try { + var _type = this.AUTOMATICALLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:199:29: ( 'automatically' ) + // XQueryLexer.g:199:31: 'automatically' + this.match("automatically"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AUTOMATICALLY", + + // $ANTLR start CHECK + mCHECK: function() { + try { + var _type = this.CHECK; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:200:29: ( 'check' ) + // XQueryLexer.g:200:31: 'check' + this.match("check"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHECK", + + // $ANTLR start COLLECTION + mCOLLECTION: function() { + try { + var _type = this.COLLECTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:201:29: ( 'collection' ) + // XQueryLexer.g:201:31: 'collection' + this.match("collection"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLLECTION", + + // $ANTLR start CONSTRAINT + mCONSTRAINT: function() { + try { + var _type = this.CONSTRAINT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:202:29: ( 'constraint' ) + // XQueryLexer.g:202:31: 'constraint' + this.match("constraint"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONSTRAINT", + + // $ANTLR start CONST + mCONST: function() { + try { + var _type = this.CONST; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:203:29: ( 'const' ) + // XQueryLexer.g:203:31: 'const' + this.match("const"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CONST", + + // $ANTLR start EQUALITY + mEQUALITY: function() { + try { + var _type = this.EQUALITY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:204:29: ( 'equality' ) + // XQueryLexer.g:204:31: 'equality' + this.match("equality"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EQUALITY", + + // $ANTLR start FOREACH + mFOREACH: function() { + try { + var _type = this.FOREACH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:205:29: ( 'foreach' ) + // XQueryLexer.g:205:31: 'foreach' + this.match("foreach"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOREACH", + + // $ANTLR start FOREIGN + mFOREIGN: function() { + try { + var _type = this.FOREIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:206:29: ( 'foreign' ) + // XQueryLexer.g:206:31: 'foreign' + this.match("foreign"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FOREIGN", + + // $ANTLR start FROM + mFROM: function() { + try { + var _type = this.FROM; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:207:29: ( 'from' ) + // XQueryLexer.g:207:31: 'from' + this.match("from"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "FROM", + + // $ANTLR start INDEX + mINDEX: function() { + try { + var _type = this.INDEX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:208:29: ( 'index' ) + // XQueryLexer.g:208:31: 'index' + this.match("index"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INDEX", + + // $ANTLR start INTEGRITY + mINTEGRITY: function() { + try { + var _type = this.INTEGRITY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:209:29: ( 'integrity' ) + // XQueryLexer.g:209:31: 'integrity' + this.match("integrity"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "INTEGRITY", + + // $ANTLR start KEY + mKEY: function() { + try { + var _type = this.KEY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:210:29: ( 'key' ) + // XQueryLexer.g:210:31: 'key' + this.match("key"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "KEY", + + // $ANTLR start MAINTAINED + mMAINTAINED: function() { + try { + var _type = this.MAINTAINED; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:211:29: ( 'maintained' ) + // XQueryLexer.g:211:31: 'maintained' + this.match("maintained"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MAINTAINED", + + // $ANTLR start MANUALLY + mMANUALLY: function() { + try { + var _type = this.MANUALLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:212:29: ( 'manually' ) + // XQueryLexer.g:212:31: 'manually' + this.match("manually"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MANUALLY", + + // $ANTLR start MUTABLE + mMUTABLE: function() { + try { + var _type = this.MUTABLE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:213:29: ( 'mutable' ) + // XQueryLexer.g:213:31: 'mutable' + this.match("mutable"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MUTABLE", + + // $ANTLR start NON + mNON: function() { + try { + var _type = this.NON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:214:29: ( 'non' ) + // XQueryLexer.g:214:31: 'non' + this.match("non"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NON", + + // $ANTLR start ON + mON: function() { + try { + var _type = this.ON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:215:29: ( 'on' ) + // XQueryLexer.g:215:31: 'on' + this.match("on"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ON", + + // $ANTLR start QUEUE + mQUEUE: function() { + try { + var _type = this.QUEUE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:216:29: ( 'queue' ) + // XQueryLexer.g:216:31: 'queue' + this.match("queue"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUEUE", + + // $ANTLR start RANGE + mRANGE: function() { + try { + var _type = this.RANGE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:217:29: ( 'range' ) + // XQueryLexer.g:217:31: 'range' + this.match("range"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RANGE", + + // $ANTLR start READ_ONLY + mREAD_ONLY: function() { + try { + var _type = this.READ_ONLY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:218:29: ( 'read-only' ) + // XQueryLexer.g:218:31: 'read-only' + this.match("read-only"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "READ_ONLY", + + // $ANTLR start UNIQUE + mUNIQUE: function() { + try { + var _type = this.UNIQUE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:219:29: ( 'unique' ) + // XQueryLexer.g:219:31: 'unique' + this.match("unique"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "UNIQUE", + + // $ANTLR start BINARY + mBINARY: function() { + try { + var _type = this.BINARY; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:221:29: ( 'binary' ) + // XQueryLexer.g:221:31: 'binary' + this.match("binary"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BINARY", + + // $ANTLR start PRIVATE + mPRIVATE: function() { + try { + var _type = this.PRIVATE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:222:29: ( 'private' ) + // XQueryLexer.g:222:31: 'private' + this.match("private"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PRIVATE", + + // $ANTLR start AMP_ER + mAMP_ER: function() { + try { + var _type = this.AMP_ER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:225:9: ( 'amp' ) + // XQueryLexer.g:225:11: 'amp' + this.match("amp"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AMP_ER", + + // $ANTLR start APOS_ER + mAPOS_ER: function() { + try { + var _type = this.APOS_ER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:226:9: ( 'apos' ) + // XQueryLexer.g:226:11: 'apos' + this.match("apos"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APOS_ER", + + // $ANTLR start QUOT_ER + mQUOT_ER: function() { + try { + var _type = this.QUOT_ER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:227:9: ( 'quot' ) + // XQueryLexer.g:227:11: 'quot' + this.match("quot"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUOT_ER", + + // $ANTLR start LPAREN + mLPAREN: function() { + try { + var _type = this.LPAREN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:234:25: ( '(' ) + // XQueryLexer.g:234:27: '(' + this.match('('); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LPAREN", + + // $ANTLR start RPAREN + mRPAREN: function() { + try { + var _type = this.RPAREN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:235:25: ( ')' ) + // XQueryLexer.g:235:27: ')' + this.match(')'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RPAREN", + + // $ANTLR start DOLLAR + mDOLLAR: function() { + try { + var _type = this.DOLLAR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:236:25: ( '$' ) + // XQueryLexer.g:236:27: '$' + this.match('$'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOLLAR", + + // $ANTLR start LBRACKET + mLBRACKET: function() { + try { + var _type = this.LBRACKET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:237:25: ( '{' ) + // XQueryLexer.g:237:27: '{' + this.match('{'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LBRACKET", + + // $ANTLR start RBRACKET + mRBRACKET: function() { + try { + var _type = this.RBRACKET; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:238:25: ( '}' ) + // XQueryLexer.g:238:27: '}' + this.match('}'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RBRACKET", + + // $ANTLR start LSQUARE + mLSQUARE: function() { + try { + var _type = this.LSQUARE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:239:25: ( '[' ) + // XQueryLexer.g:239:27: '[' + this.match('['); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "LSQUARE", + + // $ANTLR start RSQUARE + mRSQUARE: function() { + try { + var _type = this.RSQUARE; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:240:25: ( ']' ) + // XQueryLexer.g:240:27: ']' + this.match(']'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "RSQUARE", + + // $ANTLR start EQUAL + mEQUAL: function() { + try { + var _type = this.EQUAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:241:25: ( '=' ) + // XQueryLexer.g:241:27: '=' + this.match('='); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EQUAL", + + // $ANTLR start BIND + mBIND: function() { + try { + var _type = this.BIND; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:242:25: ( ':=' ) + // XQueryLexer.g:242:27: ':=' + this.match(":="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "BIND", + + // $ANTLR start NOTEQUAL + mNOTEQUAL: function() { + try { + var _type = this.NOTEQUAL; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:243:25: ( '!=' ) + // XQueryLexer.g:243:27: '!=' + this.match("!="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "NOTEQUAL", + + // $ANTLR start AMP + mAMP: function() { + try { + var _type = this.AMP; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:244:25: ( '&' ) + // XQueryLexer.g:244:27: '&' + this.match('&'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "AMP", + + // $ANTLR start COMMA + mCOMMA: function() { + try { + var _type = this.COMMA; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:245:25: ( ',' ) + // XQueryLexer.g:245:27: ',' + this.match(','); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COMMA", + + // $ANTLR start QUESTION + mQUESTION: function() { + try { + var _type = this.QUESTION; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:246:25: ( '?' ) + // XQueryLexer.g:246:27: '?' + this.match('?'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUESTION", + + // $ANTLR start STAR + mSTAR: function() { + try { + var _type = this.STAR; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:247:25: ( '*' ) + // XQueryLexer.g:247:27: '*' + this.match('*'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "STAR", + + // $ANTLR start PLUS + mPLUS: function() { + try { + var _type = this.PLUS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:248:25: ( '+' ) + // XQueryLexer.g:248:27: '+' + this.match('+'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PLUS", + + // $ANTLR start MINUS + mMINUS: function() { + try { + var _type = this.MINUS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:249:25: ( '-' ) + // XQueryLexer.g:249:27: '-' + this.match('-'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "MINUS", + + // $ANTLR start SMALLER + mSMALLER: function() { + try { + var _type = this.SMALLER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:250:25: ( '<' ) + // XQueryLexer.g:250:27: '<' + this.match('<'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SMALLER", + + // $ANTLR start GREATER + mGREATER: function() { + try { + var _type = this.GREATER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:251:25: ( '>' ) + // XQueryLexer.g:251:27: '>' + this.match('>'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATER", + + // $ANTLR start SMALLEREQ + mSMALLEREQ: function() { + try { + var _type = this.SMALLEREQ; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:252:25: ( '<=' ) + // XQueryLexer.g:252:27: '<=' + this.match("<="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SMALLEREQ", + + // $ANTLR start GREATEREQ + mGREATEREQ: function() { + try { + var _type = this.GREATEREQ; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:253:25: ( '>=' ) + // XQueryLexer.g:253:27: '>=' + this.match(">="); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATEREQ", + + // $ANTLR start SMALLER_SMALLER + mSMALLER_SMALLER: function() { + try { + var _type = this.SMALLER_SMALLER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:254:25: ( '<<' ) + // XQueryLexer.g:254:27: '<<' + this.match("<<"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SMALLER_SMALLER", + + // $ANTLR start GREATER_GREATER + mGREATER_GREATER: function() { + try { + var _type = this.GREATER_GREATER; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:255:25: ( '>>' ) + // XQueryLexer.g:255:27: '>>' + this.match(">>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "GREATER_GREATER", + + // $ANTLR start SLASH + mSLASH: function() { + try { + var _type = this.SLASH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:256:25: ( '/' ) + // XQueryLexer.g:256:27: '/' + this.match('/'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SLASH", + + // $ANTLR start SLASH_SLASH + mSLASH_SLASH: function() { + try { + var _type = this.SLASH_SLASH; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:257:25: ( '//' ) + // XQueryLexer.g:257:27: '//' + this.match("//"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "SLASH_SLASH", + + // $ANTLR start DOT + mDOT: function() { + try { + var _type = this.DOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:258:25: ( '.' ) + // XQueryLexer.g:258:27: '.' + this.match('.'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOT", + + // $ANTLR start DOT_DOT + mDOT_DOT: function() { + try { + var _type = this.DOT_DOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:259:25: ( '..' ) + // XQueryLexer.g:259:27: '..' + this.match(".."); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "DOT_DOT", + + // $ANTLR start COLON + mCOLON: function() { + try { + var _type = this.COLON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:260:25: ( ':' ) + // XQueryLexer.g:260:27: ':' + this.match(':'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLON", + + // $ANTLR start COLON_COLON + mCOLON_COLON: function() { + try { + var _type = this.COLON_COLON; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:261:25: ( '::' ) + // XQueryLexer.g:261:27: '::' + this.match("::"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "COLON_COLON", + + // $ANTLR start EMPTY_CLOSE_TAG + mEMPTY_CLOSE_TAG: function() { + try { + var _type = this.EMPTY_CLOSE_TAG; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:262:25: ( '/>' ) + // XQueryLexer.g:262:27: '/>' + this.match("/>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "EMPTY_CLOSE_TAG", + + // $ANTLR start CLOSE_TAG + mCLOSE_TAG: function() { + try { + var _type = this.CLOSE_TAG; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:263:25: ( '' ) + // XQueryLexer.g:269:27: '-->' + this.match("-->"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "XML_COMMENT_END", + + // $ANTLR start PI_START + mPI_START: function() { + try { + var _type = this.PI_START; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:270:25: ( '' ) + // XQueryLexer.g:271:27: '?>' + this.match("?>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PI_END", + + // $ANTLR start ATTR_SIGN + mATTR_SIGN: function() { + try { + var _type = this.ATTR_SIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:272:25: ( '@' ) + // XQueryLexer.g:272:27: '@' + this.match('@'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ATTR_SIGN", + + // $ANTLR start CHARREF_DEC + mCHARREF_DEC: function() { + try { + var _type = this.CHARREF_DEC; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:273:25: ( '&#' ) + // XQueryLexer.g:273:27: '&#' + this.match("&#"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHARREF_DEC", + + // $ANTLR start CHARREF_HEX + mCHARREF_HEX: function() { + try { + var _type = this.CHARREF_HEX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:274:25: ( '&#x' ) + // XQueryLexer.g:274:27: '&#x' + this.match("&#x"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHARREF_HEX", + + // $ANTLR start APOS + mAPOS: function() { + try { + var _type = this.APOS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:275:25: ( '\\'' ) + // XQueryLexer.g:275:27: '\\'' + this.match('\''); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APOS", + + // $ANTLR start QUOT + mQUOT: function() { + try { + var _type = this.QUOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:276:25: ( '\"' ) + // XQueryLexer.g:276:27: '\"' + this.match('\"'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUOT", + + // $ANTLR start L_NCName + mL_NCName: function() { + try { + var _type = this.L_NCName; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:280:9: ( NCNameStartChar ( NCNameChar )* ) + // XQueryLexer.g:280:13: NCNameStartChar ( NCNameChar )* + this.mNCNameStartChar(); + // XQueryLexer.g:280:29: ( NCNameChar )* + loop1: + do { + var alt1=2; + var LA1_0 = this.input.LA(1); + + if ( ((LA1_0>='-' && LA1_0<='.')||(LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // XQueryLexer.g:280:29: NCNameChar + this.mNCNameChar(); + + + break; + + default : + break loop1; + } + } while (true); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_NCName", + + // $ANTLR start Letter + mLetter: function() { + try { + // XQueryLexer.g:283:29: ( 'a' .. 'z' | 'A' .. 'Z' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "Letter", + + // $ANTLR start HexLetter + mHexLetter: function() { + try { + // XQueryLexer.g:284:29: ( 'a' .. 'f' | 'A' .. 'F' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='F')||(this.input.LA(1)>='a' && this.input.LA(1)<='f') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "HexLetter", + + // $ANTLR start Digit + mDigit: function() { + try { + // XQueryLexer.g:285:29: ( '0' .. '9' ) + // XQueryLexer.g:285:31: '0' .. '9' + this.matchRange('0','9'); + + + + } + finally { + } + }, + // $ANTLR end "Digit", + + // $ANTLR start Digits + mDigits: function() { + try { + // XQueryLexer.g:286:29: ( ( Digit )+ ) + // XQueryLexer.g:286:31: ( Digit )+ + // XQueryLexer.g:286:31: ( Digit )+ + var cnt2=0; + loop2: + do { + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // XQueryLexer.g:286:31: Digit + this.mDigit(); + + + break; + + default : + if ( cnt2 >= 1 ) { + break loop2; + } + var eee = new org.antlr.runtime.EarlyExitException(2, this.input); + throw eee; + } + cnt2++; + } while (true); + + + + + } + finally { + } + }, + // $ANTLR end "Digits", + + // $ANTLR start NCNameStartChar + mNCNameStartChar: function() { + try { + // XQueryLexer.g:288:29: ( Letter | '_' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "NCNameStartChar", + + // $ANTLR start NCNameChar + mNCNameChar: function() { + try { + // XQueryLexer.g:289:29: ( Letter | Digit | '.' | '-' | '_' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='-' && this.input.LA(1)<='.')||(this.input.LA(1)>='0' && this.input.LA(1)<='9')||(this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "NCNameChar", + + // $ANTLR start S + mS: function() { + try { + var _type = this.S; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:292:9: ( ( '\\t' | ' ' | '\\n' | '\\r' )+ ) + // XQueryLexer.g:292:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + // XQueryLexer.g:292:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + var cnt3=0; + loop3: + do { + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // XQueryLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||this.input.LA(1)==' ' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt3 >= 1 ) { + break loop3; + } + var eee = new org.antlr.runtime.EarlyExitException(3, this.input); + throw eee; + } + cnt3++; + } while (true); + + _channel = HIDDEN; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "S", + + // $ANTLR start SU + mSU: function() { + try { + // XQueryLexer.g:295:9: ( ( '\\t' | ' ' | '\\n' | '\\r' )+ ) + // XQueryLexer.g:295:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + // XQueryLexer.g:295:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + var cnt4=0; + loop4: + do { + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( ((LA4_0>='\t' && LA4_0<='\n')||LA4_0=='\r'||LA4_0==' ') ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // XQueryLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||this.input.LA(1)==' ' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt4 >= 1 ) { + break loop4; + } + var eee = new org.antlr.runtime.EarlyExitException(4, this.input); + throw eee; + } + cnt4++; + } while (true); + + + + + } + finally { + } + }, + // $ANTLR end "SU", + + // $ANTLR start L_Pragma + mL_Pragma: function() { + try { + var _type = this.L_Pragma; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:306:9: ( PRAGMA_START ( SU )? L_NCName COLON L_NCName ( SU ( options {greedy=false; } : . )* )? PRAGMA_END ) + // XQueryLexer.g:306:11: PRAGMA_START ( SU )? L_NCName COLON L_NCName ( SU ( options {greedy=false; } : . )* )? PRAGMA_END + this.mPRAGMA_START(); + // XQueryLexer.g:306:24: ( SU )? + var alt5=2; + var LA5_0 = this.input.LA(1); + + if ( ((LA5_0>='\t' && LA5_0<='\n')||LA5_0=='\r'||LA5_0==' ') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // XQueryLexer.g:306:24: SU + this.mSU(); + + + break; + + } + + this.mL_NCName(); + this.mCOLON(); + this.mL_NCName(); + // XQueryLexer.g:306:52: ( SU ( options {greedy=false; } : . )* )? + var alt7=2; + var LA7_0 = this.input.LA(1); + + if ( ((LA7_0>='\t' && LA7_0<='\n')||LA7_0=='\r'||LA7_0==' ') ) { + alt7=1; + } + switch (alt7) { + case 1 : + // XQueryLexer.g:306:53: SU ( options {greedy=false; } : . )* + this.mSU(); + // XQueryLexer.g:306:56: ( options {greedy=false; } : . )* + loop6: + do { + var alt6=2; + var LA6_0 = this.input.LA(1); + + if ( (LA6_0=='#') ) { + var LA6_1 = this.input.LA(2); + + if ( (LA6_1==')') ) { + alt6=2; + } + else if ( ((LA6_1>='\u0000' && LA6_1<='(')||(LA6_1>='*' && LA6_1<='\uFFFF')) ) { + alt6=1; + } + + + } + else if ( ((LA6_0>='\u0000' && LA6_0<='\"')||(LA6_0>='$' && LA6_0<='\uFFFF')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // XQueryLexer.g:306:83: . + this.matchAny(); + + + break; + + default : + break loop6; + } + } while (true); + + + + break; + + } + + this.mPRAGMA_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_Pragma", + + // $ANTLR start L_DirCommentConstructor + mL_DirCommentConstructor: function() { + try { + var _type = this.L_DirCommentConstructor; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:316:9: ( XML_COMMENT_START ( options {greedy=false; } : ( . )* ) XML_COMMENT_END ) + // XQueryLexer.g:316:11: XML_COMMENT_START ( options {greedy=false; } : ( . )* ) XML_COMMENT_END + this.mXML_COMMENT_START(); + // XQueryLexer.g:316:29: ( options {greedy=false; } : ( . )* ) + // XQueryLexer.g:316:56: ( . )* + // XQueryLexer.g:316:56: ( . )* + loop8: + do { + var alt8=2; + var LA8_0 = this.input.LA(1); + + if ( (LA8_0=='-') ) { + var LA8_1 = this.input.LA(2); + + if ( (LA8_1=='-') ) { + var LA8_3 = this.input.LA(3); + + if ( (LA8_3=='>') ) { + alt8=2; + } + else if ( ((LA8_3>='\u0000' && LA8_3<='=')||(LA8_3>='?' && LA8_3<='\uFFFF')) ) { + alt8=1; + } + + + } + else if ( ((LA8_1>='\u0000' && LA8_1<=',')||(LA8_1>='.' && LA8_1<='\uFFFF')) ) { + alt8=1; + } + + + } + else if ( ((LA8_0>='\u0000' && LA8_0<=',')||(LA8_0>='.' && LA8_0<='\uFFFF')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // XQueryLexer.g:316:56: . + this.matchAny(); + + + break; + + default : + break loop8; + } + } while (true); + + + + + this.mXML_COMMENT_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DirCommentConstructor", + + // $ANTLR start L_DirPIConstructor + mL_DirPIConstructor: function() { + try { + var _type = this.L_DirPIConstructor; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:325:9: ( PI_START ( SU )? L_NCName ( SU ( options {greedy=false; } : ( . )* ) )? PI_END ) + // XQueryLexer.g:325:11: PI_START ( SU )? L_NCName ( SU ( options {greedy=false; } : ( . )* ) )? PI_END + this.mPI_START(); + // XQueryLexer.g:325:20: ( SU )? + var alt9=2; + var LA9_0 = this.input.LA(1); + + if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // XQueryLexer.g:325:20: SU + this.mSU(); + + + break; + + } + + this.mL_NCName(); + // XQueryLexer.g:325:33: ( SU ( options {greedy=false; } : ( . )* ) )? + var alt11=2; + var LA11_0 = this.input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + switch (alt11) { + case 1 : + // XQueryLexer.g:325:34: SU ( options {greedy=false; } : ( . )* ) + this.mSU(); + // XQueryLexer.g:325:36: ( options {greedy=false; } : ( . )* ) + // XQueryLexer.g:325:63: ( . )* + // XQueryLexer.g:325:63: ( . )* + loop10: + do { + var alt10=2; + var LA10_0 = this.input.LA(1); + + if ( (LA10_0=='?') ) { + var LA10_1 = this.input.LA(2); + + if ( (LA10_1=='>') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='=')||(LA10_1>='?' && LA10_1<='\uFFFF')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<='>')||(LA10_0>='@' && LA10_0<='\uFFFF')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // XQueryLexer.g:325:63: . + this.matchAny(); + + + break; + + default : + break loop10; + } + } while (true); + + + + + + + break; + + } + + this.mPI_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DirPIConstructor", + + // $ANTLR start L_IntegerLiteral + mL_IntegerLiteral: function() { + try { + var _type = this.L_IntegerLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:333:9: ( Digits ) + // XQueryLexer.g:333:13: Digits + this.mDigits(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_IntegerLiteral", + + // $ANTLR start L_DecimalLiteral + mL_DecimalLiteral: function() { + try { + var _type = this.L_DecimalLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:338:9: ( ( '.' Digits ) | ( Digits '.' ( Digit )* ) ) + var alt13=2; + var LA13_0 = this.input.LA(1); + + if ( (LA13_0=='.') ) { + alt13=1; + } + else if ( ((LA13_0>='0' && LA13_0<='9')) ) { + alt13=2; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 13, 0, this.input); + + throw nvae; + } + switch (alt13) { + case 1 : + // XQueryLexer.g:338:11: ( '.' Digits ) + // XQueryLexer.g:338:11: ( '.' Digits ) + // XQueryLexer.g:338:12: '.' Digits + this.match('.'); + this.mDigits(); + + + + + + break; + case 2 : + // XQueryLexer.g:338:26: ( Digits '.' ( Digit )* ) + // XQueryLexer.g:338:26: ( Digits '.' ( Digit )* ) + // XQueryLexer.g:338:27: Digits '.' ( Digit )* + this.mDigits(); + this.match('.'); + // XQueryLexer.g:338:38: ( Digit )* + loop12: + do { + var alt12=2; + var LA12_0 = this.input.LA(1); + + if ( ((LA12_0>='0' && LA12_0<='9')) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // XQueryLexer.g:338:38: Digit + this.mDigit(); + + + break; + + default : + break loop12; + } + } while (true); + + + + + + + break; + + } + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DecimalLiteral", + + // $ANTLR start L_DoubleLiteral + mL_DoubleLiteral: function() { + try { + var _type = this.L_DoubleLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:343:9: ( ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) ( 'e' | 'E' ) ( '+' | '-' )? Digits ) + // XQueryLexer.g:343:11: ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) ( 'e' | 'E' ) ( '+' | '-' )? Digits + // XQueryLexer.g:343:11: ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) + var alt16=2; + var LA16_0 = this.input.LA(1); + + if ( (LA16_0=='.') ) { + alt16=1; + } + else if ( ((LA16_0>='0' && LA16_0<='9')) ) { + alt16=2; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 16, 0, this.input); + + throw nvae; + } + switch (alt16) { + case 1 : + // XQueryLexer.g:343:12: ( '.' Digits ) + // XQueryLexer.g:343:12: ( '.' Digits ) + // XQueryLexer.g:343:13: '.' Digits + this.match('.'); + this.mDigits(); + + + + + + break; + case 2 : + // XQueryLexer.g:343:27: ( Digits ( '.' ( Digit )* )? ) + // XQueryLexer.g:343:27: ( Digits ( '.' ( Digit )* )? ) + // XQueryLexer.g:343:28: Digits ( '.' ( Digit )* )? + this.mDigits(); + // XQueryLexer.g:343:35: ( '.' ( Digit )* )? + var alt15=2; + var LA15_0 = this.input.LA(1); + + if ( (LA15_0=='.') ) { + alt15=1; + } + switch (alt15) { + case 1 : + // XQueryLexer.g:343:36: '.' ( Digit )* + this.match('.'); + // XQueryLexer.g:343:40: ( Digit )* + loop14: + do { + var alt14=2; + var LA14_0 = this.input.LA(1); + + if ( ((LA14_0>='0' && LA14_0<='9')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // XQueryLexer.g:343:40: Digit + this.mDigit(); + + + break; + + default : + break loop14; + } + } while (true); + + + + break; + + } + + + + + + + break; + + } + + if ( this.input.LA(1)=='E'||this.input.LA(1)=='e' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + // XQueryLexer.g:343:63: ( '+' | '-' )? + var alt17=2; + var LA17_0 = this.input.LA(1); + + if ( (LA17_0=='+'||LA17_0=='-') ) { + alt17=1; + } + switch (alt17) { + case 1 : + // XQueryLexer.g: + if ( this.input.LA(1)=='+'||this.input.LA(1)=='-' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + } + + this.mDigits(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DoubleLiteral", + + // $ANTLR start L_Comment + mL_Comment: function() { + try { + var _type = this.L_Comment; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:348:9: ( '(:' ( options {greedy=false; } : L_Comment | . )* ':)' ) + // XQueryLexer.g:348:11: '(:' ( options {greedy=false; } : L_Comment | . )* ':)' + this.match("(:"); + + // XQueryLexer.g:348:16: ( options {greedy=false; } : L_Comment | . )* + loop18: + do { + var alt18=3; + var LA18_0 = this.input.LA(1); + + if ( (LA18_0==':') ) { + var LA18_1 = this.input.LA(2); + + if ( (LA18_1==')') ) { + alt18=3; + } + else if ( ((LA18_1>='\u0000' && LA18_1<='(')||(LA18_1>='*' && LA18_1<='\uFFFF')) ) { + alt18=2; + } + + + } + else if ( (LA18_0=='(') ) { + var LA18_2 = this.input.LA(2); + + if ( (LA18_2==':') ) { + alt18=1; + } + else if ( ((LA18_2>='\u0000' && LA18_2<='9')||(LA18_2>=';' && LA18_2<='\uFFFF')) ) { + alt18=2; + } + + + } + else if ( ((LA18_0>='\u0000' && LA18_0<='\'')||(LA18_0>=')' && LA18_0<='9')||(LA18_0>=';' && LA18_0<='\uFFFF')) ) { + alt18=2; + } + + + switch (alt18) { + case 1 : + // XQueryLexer.g:348:42: L_Comment + this.mL_Comment(); + + + break; + case 2 : + // XQueryLexer.g:348:54: . + this.matchAny(); + + + break; + + default : + break loop18; + } + } while (true); + + this.match(":)"); + + _channel = HIDDEN; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_Comment", + + // $ANTLR start L_AnyChar + mL_AnyChar: function() { + try { + var _type = this.L_AnyChar; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:351:11: ( . ) + // XQueryLexer.g:351:13: . + this.matchAny(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_AnyChar", + + mTokens: function() { + // XQueryLexer.g:1:8: ( ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | RETURNING | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MANUALLY | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER | LPAREN | RPAREN | DOLLAR | LBRACKET | RBRACKET | LSQUARE | RSQUARE | EQUAL | BIND | NOTEQUAL | AMP | COMMA | QUESTION | STAR | PLUS | MINUS | SMALLER | GREATER | SMALLEREQ | GREATEREQ | SMALLER_SMALLER | GREATER_GREATER | SLASH | SLASH_SLASH | DOT | DOT_DOT | COLON | COLON_COLON | EMPTY_CLOSE_TAG | CLOSE_TAG | SEMICOLON | VBAR | PRAGMA_START | PRAGMA_END | XML_COMMENT_START | XML_COMMENT_END | PI_START | PI_END | ATTR_SIGN | CHARREF_DEC | CHARREF_HEX | APOS | QUOT | L_NCName | S | L_Pragma | L_DirCommentConstructor | L_DirPIConstructor | L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral | L_Comment | L_AnyChar ) + var alt19=230; + alt19 = this.dfa19.predict(this.input); + switch (alt19) { + case 1 : + // XQueryLexer.g:1:10: ANCESTOR + this.mANCESTOR(); + + + break; + case 2 : + // XQueryLexer.g:1:19: ANCESTOR_OR_SELF + this.mANCESTOR_OR_SELF(); + + + break; + case 3 : + // XQueryLexer.g:1:36: AND + this.mAND(); + + + break; + case 4 : + // XQueryLexer.g:1:40: AS + this.mAS(); + + + break; + case 5 : + // XQueryLexer.g:1:43: ASCENDING + this.mASCENDING(); + + + break; + case 6 : + // XQueryLexer.g:1:53: AT + this.mAT(); + + + break; + case 7 : + // XQueryLexer.g:1:56: ATTRIBUTE + this.mATTRIBUTE(); + + + break; + case 8 : + // XQueryLexer.g:1:66: BASE_URI + this.mBASE_URI(); + + + break; + case 9 : + // XQueryLexer.g:1:75: BOUNDARY_SPACE + this.mBOUNDARY_SPACE(); + + + break; + case 10 : + // XQueryLexer.g:1:90: BY + this.mBY(); + + + break; + case 11 : + // XQueryLexer.g:1:93: CASE + this.mCASE(); + + + break; + case 12 : + // XQueryLexer.g:1:98: CAST + this.mCAST(); + + + break; + case 13 : + // XQueryLexer.g:1:103: CASTABLE + this.mCASTABLE(); + + + break; + case 14 : + // XQueryLexer.g:1:112: CHILD + this.mCHILD(); + + + break; + case 15 : + // XQueryLexer.g:1:118: COLLATION + this.mCOLLATION(); + + + break; + case 16 : + // XQueryLexer.g:1:128: COMMENT + this.mCOMMENT(); + + + break; + case 17 : + // XQueryLexer.g:1:136: CONSTRUCTION + this.mCONSTRUCTION(); + + + break; + case 18 : + // XQueryLexer.g:1:149: COPY_NAMESPACES + this.mCOPY_NAMESPACES(); + + + break; + case 19 : + // XQueryLexer.g:1:165: DECLARE + this.mDECLARE(); + + + break; + case 20 : + // XQueryLexer.g:1:173: DEFAULT + this.mDEFAULT(); + + + break; + case 21 : + // XQueryLexer.g:1:181: DESCENDANT + this.mDESCENDANT(); + + + break; + case 22 : + // XQueryLexer.g:1:192: DESCENDANT_OR_SELF + this.mDESCENDANT_OR_SELF(); + + + break; + case 23 : + // XQueryLexer.g:1:211: DESCENDING + this.mDESCENDING(); + + + break; + case 24 : + // XQueryLexer.g:1:222: DIV + this.mDIV(); + + + break; + case 25 : + // XQueryLexer.g:1:226: DOCUMENT + this.mDOCUMENT(); + + + break; + case 26 : + // XQueryLexer.g:1:235: DOCUMENT_NODE + this.mDOCUMENT_NODE(); + + + break; + case 27 : + // XQueryLexer.g:1:249: ELEMENT + this.mELEMENT(); + + + break; + case 28 : + // XQueryLexer.g:1:257: ELSE + this.mELSE(); + + + break; + case 29 : + // XQueryLexer.g:1:262: EMPTY + this.mEMPTY(); + + + break; + case 30 : + // XQueryLexer.g:1:268: EMPTY_SEQUENCE + this.mEMPTY_SEQUENCE(); + + + break; + case 31 : + // XQueryLexer.g:1:283: ENCODING + this.mENCODING(); + + + break; + case 32 : + // XQueryLexer.g:1:292: EQ + this.mEQ(); + + + break; + case 33 : + // XQueryLexer.g:1:295: EVERY + this.mEVERY(); + + + break; + case 34 : + // XQueryLexer.g:1:301: EXCEPT + this.mEXCEPT(); + + + break; + case 35 : + // XQueryLexer.g:1:308: EXTERNAL + this.mEXTERNAL(); + + + break; + case 36 : + // XQueryLexer.g:1:317: FOLLOWING + this.mFOLLOWING(); + + + break; + case 37 : + // XQueryLexer.g:1:327: FOLLOWING_SIBLING + this.mFOLLOWING_SIBLING(); + + + break; + case 38 : + // XQueryLexer.g:1:345: FOR + this.mFOR(); + + + break; + case 39 : + // XQueryLexer.g:1:349: FUNCTION + this.mFUNCTION(); + + + break; + case 40 : + // XQueryLexer.g:1:358: GE + this.mGE(); + + + break; + case 41 : + // XQueryLexer.g:1:361: GREATEST + this.mGREATEST(); + + + break; + case 42 : + // XQueryLexer.g:1:370: GT + this.mGT(); + + + break; + case 43 : + // XQueryLexer.g:1:373: IDIV + this.mIDIV(); + + + break; + case 44 : + // XQueryLexer.g:1:378: IF + this.mIF(); + + + break; + case 45 : + // XQueryLexer.g:1:381: IMPORT + this.mIMPORT(); + + + break; + case 46 : + // XQueryLexer.g:1:388: IN + this.mIN(); + + + break; + case 47 : + // XQueryLexer.g:1:391: INHERIT + this.mINHERIT(); + + + break; + case 48 : + // XQueryLexer.g:1:399: INSTANCE + this.mINSTANCE(); + + + break; + case 49 : + // XQueryLexer.g:1:408: INTERSECT + this.mINTERSECT(); + + + break; + case 50 : + // XQueryLexer.g:1:418: IS + this.mIS(); + + + break; + case 51 : + // XQueryLexer.g:1:421: ITEM + this.mITEM(); + + + break; + case 52 : + // XQueryLexer.g:1:426: LAX + this.mLAX(); + + + break; + case 53 : + // XQueryLexer.g:1:430: LE + this.mLE(); + + + break; + case 54 : + // XQueryLexer.g:1:433: LEAST + this.mLEAST(); + + + break; + case 55 : + // XQueryLexer.g:1:439: LET + this.mLET(); + + + break; + case 56 : + // XQueryLexer.g:1:443: LT + this.mLT(); + + + break; + case 57 : + // XQueryLexer.g:1:446: MOD + this.mMOD(); + + + break; + case 58 : + // XQueryLexer.g:1:450: MODULE + this.mMODULE(); + + + break; + case 59 : + // XQueryLexer.g:1:457: NAMESPACE + this.mNAMESPACE(); + + + break; + case 60 : + // XQueryLexer.g:1:467: NE + this.mNE(); + + + break; + case 61 : + // XQueryLexer.g:1:470: NO_INHERIT + this.mNO_INHERIT(); + + + break; + case 62 : + // XQueryLexer.g:1:481: NO_PRESERVE + this.mNO_PRESERVE(); + + + break; + case 63 : + // XQueryLexer.g:1:493: NODE + this.mNODE(); + + + break; + case 64 : + // XQueryLexer.g:1:498: OF + this.mOF(); + + + break; + case 65 : + // XQueryLexer.g:1:501: OPTION + this.mOPTION(); + + + break; + case 66 : + // XQueryLexer.g:1:508: OR + this.mOR(); + + + break; + case 67 : + // XQueryLexer.g:1:511: ORDER + this.mORDER(); + + + break; + case 68 : + // XQueryLexer.g:1:517: ORDERED + this.mORDERED(); + + + break; + case 69 : + // XQueryLexer.g:1:525: ORDERING + this.mORDERING(); + + + break; + case 70 : + // XQueryLexer.g:1:534: PARENT + this.mPARENT(); + + + break; + case 71 : + // XQueryLexer.g:1:541: PRECEDING + this.mPRECEDING(); + + + break; + case 72 : + // XQueryLexer.g:1:551: PRECEDING_SIBLING + this.mPRECEDING_SIBLING(); + + + break; + case 73 : + // XQueryLexer.g:1:569: PRESERVE + this.mPRESERVE(); + + + break; + case 74 : + // XQueryLexer.g:1:578: PROCESSING_INSTRUCTION + this.mPROCESSING_INSTRUCTION(); + + + break; + case 75 : + // XQueryLexer.g:1:601: RETURN + this.mRETURN(); + + + break; + case 76 : + // XQueryLexer.g:1:608: SATISFIES + this.mSATISFIES(); + + + break; + case 77 : + // XQueryLexer.g:1:618: SCHEMA + this.mSCHEMA(); + + + break; + case 78 : + // XQueryLexer.g:1:625: SCHEMA_ATTRIBUTE + this.mSCHEMA_ATTRIBUTE(); + + + break; + case 79 : + // XQueryLexer.g:1:642: SCHEMA_ELEMENT + this.mSCHEMA_ELEMENT(); + + + break; + case 80 : + // XQueryLexer.g:1:657: SELF + this.mSELF(); + + + break; + case 81 : + // XQueryLexer.g:1:662: SOME + this.mSOME(); + + + break; + case 82 : + // XQueryLexer.g:1:667: STABLE + this.mSTABLE(); + + + break; + case 83 : + // XQueryLexer.g:1:674: STRICT + this.mSTRICT(); + + + break; + case 84 : + // XQueryLexer.g:1:681: STRIP + this.mSTRIP(); + + + break; + case 85 : + // XQueryLexer.g:1:687: TEXT + this.mTEXT(); + + + break; + case 86 : + // XQueryLexer.g:1:692: THEN + this.mTHEN(); + + + break; + case 87 : + // XQueryLexer.g:1:697: TO + this.mTO(); + + + break; + case 88 : + // XQueryLexer.g:1:700: TREAT + this.mTREAT(); + + + break; + case 89 : + // XQueryLexer.g:1:706: TYPESWITCH + this.mTYPESWITCH(); + + + break; + case 90 : + // XQueryLexer.g:1:717: UNION + this.mUNION(); + + + break; + case 91 : + // XQueryLexer.g:1:723: UNORDERED + this.mUNORDERED(); + + + break; + case 92 : + // XQueryLexer.g:1:733: VALIDATE + this.mVALIDATE(); + + + break; + case 93 : + // XQueryLexer.g:1:742: VARIABLE + this.mVARIABLE(); + + + break; + case 94 : + // XQueryLexer.g:1:751: VERSION + this.mVERSION(); + + + break; + case 95 : + // XQueryLexer.g:1:759: WHERE + this.mWHERE(); + + + break; + case 96 : + // XQueryLexer.g:1:765: XQUERY + this.mXQUERY(); + + + break; + case 97 : + // XQueryLexer.g:1:772: CATCH + this.mCATCH(); + + + break; + case 98 : + // XQueryLexer.g:1:778: CONTEXT + this.mCONTEXT(); + + + break; + case 99 : + // XQueryLexer.g:1:786: COUNT + this.mCOUNT(); + + + break; + case 100 : + // XQueryLexer.g:1:792: DECIMAL_FORMAT + this.mDECIMAL_FORMAT(); + + + break; + case 101 : + // XQueryLexer.g:1:807: DECIMAL_SEPARATOR + this.mDECIMAL_SEPARATOR(); + + + break; + case 102 : + // XQueryLexer.g:1:825: DIGIT + this.mDIGIT(); + + + break; + case 103 : + // XQueryLexer.g:1:831: END + this.mEND(); + + + break; + case 104 : + // XQueryLexer.g:1:835: GROUP + this.mGROUP(); + + + break; + case 105 : + // XQueryLexer.g:1:841: GROUPING_SEPARATOR + this.mGROUPING_SEPARATOR(); + + + break; + case 106 : + // XQueryLexer.g:1:860: INFINITY + this.mINFINITY(); + + + break; + case 107 : + // XQueryLexer.g:1:869: MINUS_SIGN + this.mMINUS_SIGN(); + + + break; + case 108 : + // XQueryLexer.g:1:880: NAMESPACE_NODE + this.mNAMESPACE_NODE(); + + + break; + case 109 : + // XQueryLexer.g:1:895: NAN + this.mNAN(); + + + break; + case 110 : + // XQueryLexer.g:1:899: NEXT + this.mNEXT(); + + + break; + case 111 : + // XQueryLexer.g:1:904: ONLY + this.mONLY(); + + + break; + case 112 : + // XQueryLexer.g:1:909: OUTER + this.mOUTER(); + + + break; + case 113 : + // XQueryLexer.g:1:915: PATTERN_SEPARATOR + this.mPATTERN_SEPARATOR(); + + + break; + case 114 : + // XQueryLexer.g:1:933: PERCENT + this.mPERCENT(); + + + break; + case 115 : + // XQueryLexer.g:1:941: PER_MILLE + this.mPER_MILLE(); + + + break; + case 116 : + // XQueryLexer.g:1:951: PREVIOUS + this.mPREVIOUS(); + + + break; + case 117 : + // XQueryLexer.g:1:960: SLIDING + this.mSLIDING(); + + + break; + case 118 : + // XQueryLexer.g:1:968: START + this.mSTART(); + + + break; + case 119 : + // XQueryLexer.g:1:974: TRY + this.mTRY(); + + + break; + case 120 : + // XQueryLexer.g:1:978: TUMBLING + this.mTUMBLING(); + + + break; + case 121 : + // XQueryLexer.g:1:987: WHEN + this.mWHEN(); + + + break; + case 122 : + // XQueryLexer.g:1:992: WINDOW + this.mWINDOW(); + + + break; + case 123 : + // XQueryLexer.g:1:999: ZERO_DIGIT + this.mZERO_DIGIT(); + + + break; + case 124 : + // XQueryLexer.g:1:1010: AFTER + this.mAFTER(); + + + break; + case 125 : + // XQueryLexer.g:1:1016: BEFORE + this.mBEFORE(); + + + break; + case 126 : + // XQueryLexer.g:1:1023: COPY + this.mCOPY(); + + + break; + case 127 : + // XQueryLexer.g:1:1028: DELETE + this.mDELETE(); + + + break; + case 128 : + // XQueryLexer.g:1:1035: FIRST + this.mFIRST(); + + + break; + case 129 : + // XQueryLexer.g:1:1041: INSERT + this.mINSERT(); + + + break; + case 130 : + // XQueryLexer.g:1:1048: INTO + this.mINTO(); + + + break; + case 131 : + // XQueryLexer.g:1:1053: LAST + this.mLAST(); + + + break; + case 132 : + // XQueryLexer.g:1:1058: MODIFY + this.mMODIFY(); + + + break; + case 133 : + // XQueryLexer.g:1:1065: NODES + this.mNODES(); + + + break; + case 134 : + // XQueryLexer.g:1:1071: RENAME + this.mRENAME(); + + + break; + case 135 : + // XQueryLexer.g:1:1078: REPLACE + this.mREPLACE(); + + + break; + case 136 : + // XQueryLexer.g:1:1086: REVALIDATION + this.mREVALIDATION(); + + + break; + case 137 : + // XQueryLexer.g:1:1099: SKIP + this.mSKIP(); + + + break; + case 138 : + // XQueryLexer.g:1:1104: UPDATING + this.mUPDATING(); + + + break; + case 139 : + // XQueryLexer.g:1:1113: VALUE + this.mVALUE(); + + + break; + case 140 : + // XQueryLexer.g:1:1119: WITH + this.mWITH(); + + + break; + case 141 : + // XQueryLexer.g:1:1124: BLOCK + this.mBLOCK(); + + + break; + case 142 : + // XQueryLexer.g:1:1130: CONSTANT + this.mCONSTANT(); + + + break; + case 143 : + // XQueryLexer.g:1:1139: EXIT + this.mEXIT(); + + + break; + case 144 : + // XQueryLexer.g:1:1144: RETURNING + this.mRETURNING(); + + + break; + case 145 : + // XQueryLexer.g:1:1154: SEQUENTIAL + this.mSEQUENTIAL(); + + + break; + case 146 : + // XQueryLexer.g:1:1165: SET + this.mSET(); + + + break; + case 147 : + // XQueryLexer.g:1:1169: SIMPLE + this.mSIMPLE(); + + + break; + case 148 : + // XQueryLexer.g:1:1176: WHILE + this.mWHILE(); + + + break; + case 149 : + // XQueryLexer.g:1:1182: EVAL + this.mEVAL(); + + + break; + case 150 : + // XQueryLexer.g:1:1187: USING + this.mUSING(); + + + break; + case 151 : + // XQueryLexer.g:1:1193: APPEND_ONLY + this.mAPPEND_ONLY(); + + + break; + case 152 : + // XQueryLexer.g:1:1205: AUTOMATICALLY + this.mAUTOMATICALLY(); + + + break; + case 153 : + // XQueryLexer.g:1:1219: CHECK + this.mCHECK(); + + + break; + case 154 : + // XQueryLexer.g:1:1225: COLLECTION + this.mCOLLECTION(); + + + break; + case 155 : + // XQueryLexer.g:1:1236: CONSTRAINT + this.mCONSTRAINT(); + + + break; + case 156 : + // XQueryLexer.g:1:1247: CONST + this.mCONST(); + + + break; + case 157 : + // XQueryLexer.g:1:1253: EQUALITY + this.mEQUALITY(); + + + break; + case 158 : + // XQueryLexer.g:1:1262: FOREACH + this.mFOREACH(); + + + break; + case 159 : + // XQueryLexer.g:1:1270: FOREIGN + this.mFOREIGN(); + + + break; + case 160 : + // XQueryLexer.g:1:1278: FROM + this.mFROM(); + + + break; + case 161 : + // XQueryLexer.g:1:1283: INDEX + this.mINDEX(); + + + break; + case 162 : + // XQueryLexer.g:1:1289: INTEGRITY + this.mINTEGRITY(); + + + break; + case 163 : + // XQueryLexer.g:1:1299: KEY + this.mKEY(); + + + break; + case 164 : + // XQueryLexer.g:1:1303: MAINTAINED + this.mMAINTAINED(); + + + break; + case 165 : + // XQueryLexer.g:1:1314: MANUALLY + this.mMANUALLY(); + + + break; + case 166 : + // XQueryLexer.g:1:1323: MUTABLE + this.mMUTABLE(); + + + break; + case 167 : + // XQueryLexer.g:1:1331: NON + this.mNON(); + + + break; + case 168 : + // XQueryLexer.g:1:1335: ON + this.mON(); + + + break; + case 169 : + // XQueryLexer.g:1:1338: QUEUE + this.mQUEUE(); + + + break; + case 170 : + // XQueryLexer.g:1:1344: RANGE + this.mRANGE(); + + + break; + case 171 : + // XQueryLexer.g:1:1350: READ_ONLY + this.mREAD_ONLY(); + + + break; + case 172 : + // XQueryLexer.g:1:1360: UNIQUE + this.mUNIQUE(); + + + break; + case 173 : + // XQueryLexer.g:1:1367: BINARY + this.mBINARY(); + + + break; + case 174 : + // XQueryLexer.g:1:1374: PRIVATE + this.mPRIVATE(); + + + break; + case 175 : + // XQueryLexer.g:1:1382: AMP_ER + this.mAMP_ER(); + + + break; + case 176 : + // XQueryLexer.g:1:1389: APOS_ER + this.mAPOS_ER(); + + + break; + case 177 : + // XQueryLexer.g:1:1397: QUOT_ER + this.mQUOT_ER(); + + + break; + case 178 : + // XQueryLexer.g:1:1405: LPAREN + this.mLPAREN(); + + + break; + case 179 : + // XQueryLexer.g:1:1412: RPAREN + this.mRPAREN(); + + + break; + case 180 : + // XQueryLexer.g:1:1419: DOLLAR + this.mDOLLAR(); + + + break; + case 181 : + // XQueryLexer.g:1:1426: LBRACKET + this.mLBRACKET(); + + + break; + case 182 : + // XQueryLexer.g:1:1435: RBRACKET + this.mRBRACKET(); + + + break; + case 183 : + // XQueryLexer.g:1:1444: LSQUARE + this.mLSQUARE(); + + + break; + case 184 : + // XQueryLexer.g:1:1452: RSQUARE + this.mRSQUARE(); + + + break; + case 185 : + // XQueryLexer.g:1:1460: EQUAL + this.mEQUAL(); + + + break; + case 186 : + // XQueryLexer.g:1:1466: BIND + this.mBIND(); + + + break; + case 187 : + // XQueryLexer.g:1:1471: NOTEQUAL + this.mNOTEQUAL(); + + + break; + case 188 : + // XQueryLexer.g:1:1480: AMP + this.mAMP(); + + + break; + case 189 : + // XQueryLexer.g:1:1484: COMMA + this.mCOMMA(); + + + break; + case 190 : + // XQueryLexer.g:1:1490: QUESTION + this.mQUESTION(); + + + break; + case 191 : + // XQueryLexer.g:1:1499: STAR + this.mSTAR(); + + + break; + case 192 : + // XQueryLexer.g:1:1504: PLUS + this.mPLUS(); + + + break; + case 193 : + // XQueryLexer.g:1:1509: MINUS + this.mMINUS(); + + + break; + case 194 : + // XQueryLexer.g:1:1515: SMALLER + this.mSMALLER(); + + + break; + case 195 : + // XQueryLexer.g:1:1523: GREATER + this.mGREATER(); + + + break; + case 196 : + // XQueryLexer.g:1:1531: SMALLEREQ + this.mSMALLEREQ(); + + + break; + case 197 : + // XQueryLexer.g:1:1541: GREATEREQ + this.mGREATEREQ(); + + + break; + case 198 : + // XQueryLexer.g:1:1551: SMALLER_SMALLER + this.mSMALLER_SMALLER(); + + + break; + case 199 : + // XQueryLexer.g:1:1567: GREATER_GREATER + this.mGREATER_GREATER(); + + + break; + case 200 : + // XQueryLexer.g:1:1583: SLASH + this.mSLASH(); + + + break; + case 201 : + // XQueryLexer.g:1:1589: SLASH_SLASH + this.mSLASH_SLASH(); + + + break; + case 202 : + // XQueryLexer.g:1:1601: DOT + this.mDOT(); + + + break; + case 203 : + // XQueryLexer.g:1:1605: DOT_DOT + this.mDOT_DOT(); + + + break; + case 204 : + // XQueryLexer.g:1:1613: COLON + this.mCOLON(); + + + break; + case 205 : + // XQueryLexer.g:1:1619: COLON_COLON + this.mCOLON_COLON(); + + + break; + case 206 : + // XQueryLexer.g:1:1631: EMPTY_CLOSE_TAG + this.mEMPTY_CLOSE_TAG(); + + + break; + case 207 : + // XQueryLexer.g:1:1647: CLOSE_TAG + this.mCLOSE_TAG(); + + + break; + case 208 : + // XQueryLexer.g:1:1657: SEMICOLON + this.mSEMICOLON(); + + + break; + case 209 : + // XQueryLexer.g:1:1667: VBAR + this.mVBAR(); + + + break; + case 210 : + // XQueryLexer.g:1:1672: PRAGMA_START + this.mPRAGMA_START(); + + + break; + case 211 : + // XQueryLexer.g:1:1685: PRAGMA_END + this.mPRAGMA_END(); + + + break; + case 212 : + // XQueryLexer.g:1:1696: XML_COMMENT_START + this.mXML_COMMENT_START(); + + + break; + case 213 : + // XQueryLexer.g:1:1714: XML_COMMENT_END + this.mXML_COMMENT_END(); + + + break; + case 214 : + // XQueryLexer.g:1:1730: PI_START + this.mPI_START(); + + + break; + case 215 : + // XQueryLexer.g:1:1739: PI_END + this.mPI_END(); + + + break; + case 216 : + // XQueryLexer.g:1:1746: ATTR_SIGN + this.mATTR_SIGN(); + + + break; + case 217 : + // XQueryLexer.g:1:1756: CHARREF_DEC + this.mCHARREF_DEC(); + + + break; + case 218 : + // XQueryLexer.g:1:1768: CHARREF_HEX + this.mCHARREF_HEX(); + + + break; + case 219 : + // XQueryLexer.g:1:1780: APOS + this.mAPOS(); + + + break; + case 220 : + // XQueryLexer.g:1:1785: QUOT + this.mQUOT(); + + + break; + case 221 : + // XQueryLexer.g:1:1790: L_NCName + this.mL_NCName(); + + + break; + case 222 : + // XQueryLexer.g:1:1799: S + this.mS(); + + + break; + case 223 : + // XQueryLexer.g:1:1801: L_Pragma + this.mL_Pragma(); + + + break; + case 224 : + // XQueryLexer.g:1:1810: L_DirCommentConstructor + this.mL_DirCommentConstructor(); + + + break; + case 225 : + // XQueryLexer.g:1:1834: L_DirPIConstructor + this.mL_DirPIConstructor(); + + + break; + case 226 : + // XQueryLexer.g:1:1853: L_IntegerLiteral + this.mL_IntegerLiteral(); + + + break; + case 227 : + // XQueryLexer.g:1:1870: L_DecimalLiteral + this.mL_DecimalLiteral(); + + + break; + case 228 : + // XQueryLexer.g:1:1887: L_DoubleLiteral + this.mL_DoubleLiteral(); + + + break; + case 229 : + // XQueryLexer.g:1:1903: L_Comment + this.mL_Comment(); + + + break; + case 230 : + // XQueryLexer.g:1:1913: L_AnyChar + this.mL_AnyChar(); + + + break; + + } + + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(XQueryLexer, { + DFA19_eotS: + "\u0001\uffff\u0018\u003e\u0001\u008e\u0007\uffff\u0001\u0098\u0001"+ + "\u0036\u0001\u009b\u0001\uffff\u0001\u009e\u0002\uffff\u0001\u00a2\u0001"+ + "\u00a8\u0001\u00ab\u0001\u00ae\u0001\u00b0\u0002\uffff\u0001\u0036\u0005"+ + "\uffff\u0001\u00b9\u0001\uffff\u0001\u003e\u0001\u00c0\u0001\u00c2\u0004"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u00ca\u000c\u003e\u0001\u00e4\u0006"+ + "\u003e\u0001\u00ef\u0001\u003e\u0001\u00f2\u0001\u003e\u0001\u00f4\u0001"+ + "\u003e\u0001\u00fb\u0001\u00fc\u0002\u003e\u0001\u0102\u0001\u0103\u0005"+ + "\u003e\u0001\u010b\u0001\u003e\u0001\u010f\u0001\u003e\u0001\u0112\u0001"+ + "\u0114\u0010\u003e\u0001\u012f\u000f\u003e\u0001\u0145\u000d\uffff\u0001"+ + "\u0148\u000c\uffff\u0001\u014a\u0009\uffff\u0001\u014c\u0008\uffff\u0001"+ + "\u00b9\u0001\u014c\u0001\uffff\u0001\u003e\u0001\u014f\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u0156\u0002\u003e\u0001"+ + "\uffff\u0010\u003e\u0001\u016c\u0006\u003e\u0001\u0173\u0001\u003e\u0001"+ + "\uffff\u0006\u003e\u0001\u017c\u0003\u003e\u0001\uffff\u0002\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0006\u003e\u0002\uffff\u0001\u003e\u0001"+ + "\u018c\u0002\u003e\u0001\u018f\u0002\uffff\u0001\u0192\u0006\u003e\u0001"+ + "\uffff\u0002\u003e\u0001\u019c\u0001\uffff\u0002\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\uffff\u0011\u003e\u0001\u01b4\u0008\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\u01bf\u000e\u003e\u0001\u01d1\u0001\u003e\u0001\u01d3\u0002"+ + "\u003e\u0008\uffff\u0001\u014c\u0001\u003e\u0001\uffff\u0004\u003e\u0001"+ + "\u01dc\u0001\u003e\u0001\uffff\u0005\u003e\u0001\u01e3\u0001\u01e5\u0007"+ + "\u003e\u0001\u01ef\u0006\u003e\u0001\uffff\u0003\u003e\u0001\u01f9\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u01fe\u0002\u003e\u0001\u0201\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u0207\u0002\u003e\u0001\u020a\u0005"+ + "\u003e\u0001\u0211\u0002\u003e\u0001\u0214\u0001\uffff\u0001\u0215\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0005\u003e\u0001\u021e\u0002"+ + "\u003e\u0001\u0222\u0001\uffff\u0002\u003e\u0001\u0225\u0012\u003e\u0001"+ + "\u0238\u0001\u003e\u0001\uffff\u0001\u023a\u0004\u003e\u0001\u0240\u0001"+ + "\u003e\u0001\u0242\u0001\u0243\u0001\u003e\u0001\uffff\u000c\u003e\u0001"+ + "\u0251\u0002\u003e\u0001\u0254\u0001\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\u0258\u0001\u0259\u0003\u003e\u0001\u025e\u0001"+ + "\u003e\u0001\uffff\u0004\u003e\u0001\u0264\u0001\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\uffff\u0001\u0267\u0001\u0268\u0001\u0269\u0003\u003e\u0001"+ + "\u026f\u0002\u003e\u0001\uffff\u0001\u0272\u0005\u003e\u0001\u0278\u0002"+ + "\u003e\u0001\uffff\u0001\u027c\u0002\u003e\u0001\u027f\u0001\uffff\u0002"+ + "\u003e\u0001\uffff\u0004\u003e\u0001\u0286\u0001\uffff\u0001\u003e\u0001"+ + "\u0289\u0001\uffff\u0006\u003e\u0001\uffff\u0001\u003e\u0001\u0291\u0002"+ + "\uffff\u0001\u0292\u0007\u003e\u0001\uffff\u0002\u003e\u0001\u029c\u0001"+ + "\uffff\u0001\u003e\u0001\u02a0\u0001\uffff\u0001\u02a1\u000e\u003e\u0001"+ + "\u02b0\u0002\u003e\u0001\uffff\u0001\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\u02b5\u0001\u003e\u0001\u02b7\u0001\u003e\u0001\uffff\u0001\u003e\u0002"+ + "\uffff\u0001\u02ba\u0002\u003e\u0001\u02bd\u0003\u003e\u0001\u02c1\u0001"+ + "\u003e\u0001\u02c3\u0002\u003e\u0001\u02c6\u0001\uffff\u0001\u02c7\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u02cb\u0003\uffff\u0003\u003e\u0001"+ + "\uffff\u0004\u003e\u0001\u02d3\u0001\uffff\u0001\u02d4\u0001\u003e\u0003"+ + "\uffff\u0005\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0004\u003e\u0001"+ + "\u02e2\u0001\uffff\u0003\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0001"+ + "\u02e8\u0005\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u02f0\u0002"+ + "\u003e\u0001\u02f3\u0003\u003e\u0002\uffff\u0001\u02f7\u0001\u02f8\u0007"+ + "\u003e\u0001\uffff\u0001\u0300\u0002\u003e\u0002\uffff\u0001\u0303\u0008"+ + "\u003e\u0001\u030d\u0001\u030e\u0003\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\u0314\u0001\u003e\u0001\u0316\u0001\uffff\u0001\u0317\u0001\uffff\u0001"+ + "\u003e\u0001\u0319\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u031c\u0002"+ + "\u003e\u0001\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0002\uffff\u0001"+ + "\u0322\u0001\u0323\u0001\u003e\u0001\uffff\u0007\u003e\u0002\uffff\u0003"+ + "\u003e\u0001\u032f\u0003\u003e\u0001\u0333\u0001\u003e\u0001\u0335\u0001"+ + "\u003e\u0001\u0337\u0001\u003e\u0001\uffff\u0001\u003e\u0001\u033b\u0003"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u0341\u0001\u0342\u0003\u003e\u0001"+ + "\uffff\u0001\u0346\u0001\u003e\u0001\uffff\u0003\u003e\u0002\uffff\u0003"+ + "\u003e\u0001\u034e\u0003\u003e\u0001\uffff\u0001\u0352\u0001\u003e\u0001"+ + "\uffff\u0005\u003e\u0001\u0359\u0001\u035a\u0002\u003e\u0002\uffff\u0001"+ + "\u035d\u0004\u003e\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u0364\u0001"+ + "\uffff\u0002\u003e\u0001\uffff\u0004\u003e\u0001\u036b\u0002\uffff\u0001"+ + "\u003e\u0001\u036e\u0004\u003e\u0001\u0373\u0001\u003e\u0001\u0375\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u037a\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0001\u0381\u0001\uffff\u0001"+ + "\u003e\u0001\u0383\u0001\u0384\u0001\u0385\u0001\u003e\u0002\uffff\u0001"+ + "\u0387\u0001\u0388\u0001\u003e\u0001\uffff\u0001\u038a\u0002\u003e\u0001"+ + "\u038d\u0002\u003e\u0001\u0390\u0001\uffff\u0003\u003e\u0001\uffff\u0001"+ + "\u0394\u0002\u003e\u0001\u0397\u0001\u0398\u0001\u003e\u0002\uffff\u0002"+ + "\u003e\u0001\uffff\u0006\u003e\u0001\uffff\u0001\u003e\u0001\u03a3\u0001"+ + "\u003e\u0001\u03a5\u0001\u03a6\u0001\u03a7\u0001\uffff\u0002\u003e\u0001"+ + "\uffff\u0001\u03aa\u0001\u03ab\u0002\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u03af\u0003\u003e\u0001\uffff\u0006\u003e\u0001\uffff\u0001"+ + "\u003e\u0003\uffff\u0001\u03bb\u0002\uffff\u0001\u003e\u0001\uffff\u0001"+ + "\u03bd\u0001\u03be\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u03c2\u0002"+ + "\u003e\u0001\uffff\u0001\u003e\u0001\u03c7\u0002\uffff\u0001\u003e\u0001"+ + "\u03c9\u0001\u03ca\u0001\u003e\u0001\u03cc\u0001\u03cd\u0004\u003e\u0001"+ + "\uffff\u0001\u03d2\u0003\uffff\u0002\u003e\u0002\uffff\u0003\u003e\u0001"+ + "\uffff\u0001\u03d8\u0001\u003e\u0001\u03da\u0003\u003e\u0001\u03df\u0001"+ + "\u03e0\u0003\u003e\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u03e5\u0001"+ + "\u03e6\u0001\u003e\u0001\uffff\u0001\u03e8\u0003\u003e\u0001\uffff\u0001"+ + "\u003e\u0002\uffff\u0001\u003e\u0002\uffff\u0002\u003e\u0001\u03f0\u0001"+ + "\u03f1\u0001\uffff\u0001\u03f2\u0001\u003e\u0001\u03f4\u0002\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0002\uffff\u0004\u003e\u0002"+ + "\uffff\u0001\u003e\u0001\uffff\u0001\u0401\u0006\u003e\u0003\uffff\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u040b\u0009\u003e\u0001\uffff\u0003"+ + "\u003e\u0001\u0418\u0003\u003e\u0001\u041c\u0001\u003e\u0001\uffff\u0004"+ + "\u003e\u0001\u0422\u0007\u003e\u0001\uffff\u0003\u003e\u0001\uffff\u0001"+ + "\u042d\u0001\u003e\u0001\u042f\u0002\u003e\u0001\uffff\u0001\u0432\u0002"+ + "\u003e\u0001\u0435\u0004\u003e\u0001\u043a\u0001\u003e\u0001\uffff\u0001"+ + "\u043c\u0001\uffff\u0002\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0004"+ + "\u003e\u0001\uffff\u0001\u0445\u0001\uffff\u0007\u003e\u0001\u044d\u0001"+ + "\uffff\u0001\u044e\u0001\u003e\u0001\u0450\u0001\u003e\u0001\u0452\u0001"+ + "\u0453\u0001\u003e\u0002\uffff\u0001\u0455\u0001\uffff\u0001\u0456\u0002"+ + "\uffff\u0001\u003e\u0002\uffff\u0003\u003e\u0001\u045b\u0001\uffff", + DFA19_eofS: + "\u045c\uffff", + DFA19_minS: + "\u0001\u0000\u0001\u0066\u0002\u0061\u0001\u0065\u0001\u006c\u0001"+ + "\u0069\u0001\u0065\u0001\u0064\u0003\u0061\u0001\u0066\u0003\u0061\u0001"+ + "\u0065\u0001\u006e\u0001\u0061\u0001\u0068\u0001\u0071\u0001\u0061\u0002"+ + "\u0065\u0001\u0075\u0001\u0023\u0007\uffff\u0001\u003a\u0001\u003d\u0001"+ + "\u0023\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u002d\u0001\u0021\u0001"+ + "\u003d\u0001\u002f\u0001\u002e\u0002\uffff\u0001\u0029\u0005\uffff\u0001"+ + "\u002e\u0001\uffff\u0001\u0063\u0002\u002d\u0001\u0074\u0001\u006f\u0001"+ + "\u0074\u0001\u0070\u0001\uffff\u0001\u0073\u0001\u0075\u0001\u002d\u0001"+ + "\u0066\u0001\u006f\u0001\u006e\u0001\u0073\u0001\u0065\u0001\u006c\u0001"+ + "\u0063\u0001\u0067\u0001\u0063\u0001\u0065\u0001\u0070\u0001\u0063\u0001"+ + "\u002d\u0001\u0061\u0001\u0063\u0001\u006c\u0001\u006e\u0001\u0072\u0001"+ + "\u006f\u0001\u002d\u0001\u0065\u0001\u002d\u0001\u0069\u0001\u002d\u0001"+ + "\u0070\u0002\u002d\u0001\u0065\u0001\u0073\u0002\u002d\u0001\u0064\u0001"+ + "\u006e\u0001\u0069\u0001\u0074\u0001\u006d\u0003\u002d\u0001\u0074\u0002"+ + "\u002d\u0001\u0074\u0001\u0072\u0001\u0065\u0001\u0072\u0001\u0061\u0001"+ + "\u006e\u0001\u0074\u0001\u0068\u0001\u006c\u0001\u006d\u0001\u0061\u0002"+ + "\u0069\u0001\u006d\u0001\u0078\u0001\u0065\u0001\u002d\u0001\u0065\u0001"+ + "\u0070\u0001\u006d\u0001\u0069\u0001\u0064\u0001\u0069\u0001\u006c\u0001"+ + "\u0072\u0001\u0065\u0001\u006e\u0001\u0075\u0001\u004e\u0001\u0072\u0001"+ + "\u0079\u0001\u0065\u0001\u0009\u000d\uffff\u0001\u0078\u000b\uffff\u0001"+ + "\u002d\u0001\u0009\u0009\uffff\u0001\u0030\u0008\uffff\u0001\u002e\u0001"+ + "\u0030\u0001\uffff\u0001\u0065\u0001\u002d\u0001\u0065\u0001\uffff\u0001"+ + "\u0072\u0001\uffff\u0002\u0065\u0001\u0073\u0001\u006f\u0001\u002d\u0001"+ + "\u0065\u0001\u006e\u0001\uffff\u0001\u006f\u0001\u0063\u0001\u0061\u0001"+ + "\u0065\u0001\u0063\u0001\u006c\u0001\u0063\u0001\u006c\u0001\u006d\u0001"+ + "\u0073\u0001\u0079\u0001\u006e\u0001\u0069\u0001\u0061\u0001\u0063\u0001"+ + "\u0065\u0001\u002d\u0001\u0069\u0001\u0075\u0001\u006d\u0001\u0065\u0001"+ + "\u0074\u0001\u006f\u0001\u002d\u0001\u0061\u0001\uffff\u0001\u0072\u0001"+ + "\u006c\u0002\u0065\u0001\u0074\u0001\u006c\u0001\u002d\u0001\u0063\u0001"+ + "\u0073\u0001\u006d\u0001\uffff\u0001\u0061\u0001\u0075\u0001\uffff\u0001"+ + "\u0076\u0001\uffff\u0001\u006f\u0003\u0065\u0001\u0069\u0001\u0065\u0002"+ + "\uffff\u0001\u006d\u0001\u002d\u0001\u0074\u0001\u0073\u0001\u002d\u0002"+ + "\uffff\u0001\u002d\u0001\u0075\u0001\u006e\u0001\u0075\u0001\u0061\u0001"+ + "\u0065\u0001\u0074\u0001\uffff\u0001\u0069\u0001\u0065\u0001\u002d\u0001"+ + "\uffff\u0001\u0069\u0001\u0065\u0001\uffff\u0001\u0079\u0001\uffff\u0002"+ + "\u0065\u0001\u0074\u0002\u0063\u0001\u0076\u0001\u002d\u0001\u0075\u0001"+ + "\u0061\u0001\u006c\u0001\u0061\u0001\u0064\u0001\u0067\u0001\u0069\u0001"+ + "\u0065\u0001\u0066\u0001\u0075\u0001\u002d\u0001\u0065\u0001\u0062\u0001"+ + "\u0069\u0001\u0064\u0002\u0070\u0001\u0074\u0001\u006e\u0001\uffff\u0001"+ + "\u0061\u0001\u002d\u0001\u0065\u0001\u0062\u0001\u006f\u0001\u0072\u0001"+ + "\u0061\u0001\u006e\u0002\u0069\u0001\u0073\u0001\u006e\u0001\u006c\u0001"+ + "\u0064\u0001\u0068\u0001\u0065\u0001\u002d\u0001\u006f\u0001\u002d\u0001"+ + "\u0075\u0001\u0074\u0004\uffff\u0001\u002d\u0003\uffff\u0001\u0030\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0069\u0001\u0072\u0001\u006e\u0001"+ + "\u002d\u0001\u006d\u0001\uffff\u0001\u002d\u0001\u0064\u0001\u0072\u0001"+ + "\u006b\u0001\u0072\u0002\u002d\u0001\u0068\u0001\u0064\u0001\u006b\u0001"+ + "\u0061\u0001\u0065\u0001\u0074\u0001\u0065\u0001\u002d\u0001\u0074\u0001"+ + "\u0061\u0001\u006d\u0001\u0075\u0001\u0065\u0001\u0074\u0001\uffff\u0001"+ + "\u0074\u0001\u006d\u0001\u0065\u0001\u002d\u0001\u0079\u0001\u0064\u0001"+ + "\uffff\u0001\u006c\u0001\u0079\u0001\u002d\u0001\u0070\u0001\u0072\u0001"+ + "\u002d\u0001\u006f\u0001\u0061\u0001\uffff\u0002\u0074\u0001\u002d\u0001"+ + "\u0074\u0001\u0070\u0001\u002d\u0002\u0072\u0001\u0061\u0001\u0072\u0001"+ + "\u0067\u0001\u002d\u0001\u006e\u0001\u0078\u0001\u002d\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u0066\u0001\uffff\u0001"+ + "\u0073\u0001\u0074\u0001\u0061\u0001\u0062\u0001\u0073\u0001\u002d\u0001"+ + "\u006e\u0001\u0072\u0001\u002d\u0001\uffff\u0001\u006f\u0001\u0072\u0001"+ + "\u002d\u0001\u0072\u0001\u006e\u0003\u0065\u0001\u0069\u0001\u0065\u0001"+ + "\u0061\u0001\u0065\u0001\u006d\u0001\u0072\u0001\u006d\u0001\u0061\u0001"+ + "\u006c\u0001\u002d\u0001\u0065\u0001\u0073\u0001\u006d\u0001\u002d\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\u006c\u0001\u0074\u0001\u0063\u0001"+ + "\u0069\u0001\u002d\u0001\u006c\u0002\u002d\u0001\u0074\u0001\uffff\u0001"+ + "\u0073\u0001\u006c\u0001\u006e\u0001\u0075\u0001\u0064\u0001\u0074\u0001"+ + "\u0067\u0001\u0064\u0001\u0065\u0001\u0061\u0001\u0069\u0001\u0065\u0001"+ + "\u002d\u0001\u0065\u0001\u006f\u0001\u002d\u0001\u0072\u0001\uffff\u0001"+ + "\u002d\u0001\uffff\u0001\u0065\u0001\u002d\u0001\u0000\u0001\u0074\u0001"+ + "\u0064\u0001\u0062\u0001\u002d\u0001\u0064\u0001\uffff\u0001\u0061\u0001"+ + "\u0075\u0001\u0061\u0001\u0065\u0001\u002d\u0001\u0079\u0001\uffff\u0001"+ + "\u0062\u0001\uffff\u0003\u002d\u0001\u0074\u0001\u0063\u0001\u006e\u0001"+ + "\u002d\u0001\u0078\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0072\u0001"+ + "\u0061\u0001\u006c\u0001\u006e\u0001\u0065\u0001\u002d\u0001\u0065\u0001"+ + "\u006e\u0001\uffff\u0001\u002d\u0002\u0069\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\uffff\u0001\u0077\u0001\u0063\u0001\u0067\u0001"+ + "\u0069\u0001\u002d\u0001\uffff\u0001\u0065\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u0069\u0001\u006e\u0001\u0074\u0001\u0073\u0001\u0072\u0001"+ + "\uffff\u0001\u0069\u0001\u002d\u0002\uffff\u0001\u002d\u0001\u0065\u0001"+ + "\u0079\u0001\u002d\u0001\u0061\u0002\u006c\u0001\u0070\u0001\uffff\u0001"+ + "\u0068\u0001\u0065\u0001\u002d\u0001\uffff\u0001\u006e\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0074\u0001\u0072\u0001\u0064\u0001\u0072\u0001"+ + "\u006f\u0001\u0073\u0001\u0074\u0001\u006e\u0001\u0069\u0001\u006e\u0001"+ + "\u0065\u0001\u0063\u0001\u0069\u0001\u006f\u0001\u002d\u0001\u0066\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0065\u0001\u002d\u0001"+ + "\u0074\u0001\u002d\u0001\u006e\u0001\uffff\u0001\u0065\u0002\uffff\u0001"+ + "\u002d\u0001\u0077\u0001\u0069\u0001\u002d\u0002\u0065\u0001\u0069\u0001"+ + "\u002d\u0001\u0061\u0001\u002d\u0001\u0062\u0001\u006f\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0077\u0001\uffff\u0001\u0079\u0001\u0064\u0001"+ + "\u002d\u0003\uffff\u0001\u006f\u0001\u0069\u0001\u0075\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0002\u0072\u0001\u002d\u0001\uffff\u0001\u002d\u0001"+ + "\u006c\u0003\uffff\u0001\u0069\u0002\u0074\u0001\u0061\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\u0061\u0001\uffff\u0001\u0065\u0001\u006c\u0001"+ + "\u0074\u0001\u0064\u0001\u002d\u0001\uffff\u0001\u006e\u0001\u0074\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u002d\u0001"+ + "\u0061\u0001\u0069\u0001\u0068\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0073\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0074\u0001\u0063\u0001"+ + "\u002d\u0001\u0065\u0001\u0069\u0001\u0074\u0002\uffff\u0002\u002d\u0001"+ + "\u0073\u0001\u0069\u0001\u006c\u0001\u0065\u0001\u0061\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u002d\u0001\u0064\u0001\u006e\u0002\uffff\u0001"+ + "\u002d\u0001\u006e\u0001\u0069\u0001\u0076\u0001\u0075\u0001\u0073\u0001"+ + "\u0065\u0001\u0074\u0001\u006c\u0002\u002d\u0001\u0065\u0001\u0064\u0001"+ + "\u006e\u0001\uffff\u0001\u0069\u0001\u002d\u0001\u0074\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\uffff\u0001\u0067\u0001\u002d\u0001\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0072\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u006e\u0002\uffff\u0002"+ + "\u002d\u0001\u0069\u0001\uffff\u0001\u0072\u0001\u006e\u0001\u0074\u0001"+ + "\u006f\u0002\u0069\u0001\u0079\u0002\uffff\u0001\u0065\u0001\u006f\u0001"+ + "\u0069\u0001\u002d\u0001\u0063\u0001\u0069\u0001\u0074\u0001\u002d\u0001"+ + "\u006d\u0003\u002d\u0001\u0061\u0001\uffff\u0001\u0074\u0001\u002d\u0001"+ + "\u0065\u0001\u0067\u0001\u0079\u0001\uffff\u0001\u006c\u0001\u006e\u0002"+ + "\u002d\u0001\u006e\u0001\u0074\u0001\u0067\u0001\uffff\u0001\u002d\u0001"+ + "\u0065\u0001\uffff\u0001\u0063\u0001\u0074\u0001\u0079\u0002\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\u0079\u0001\u002d\u0001\u0063\u0001\u0072\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\u0067\u0001\uffff\u0001\u002d\u0001"+ + "\u006e\u0001\u0065\u0001\u0073\u0001\u0069\u0002\u002d\u0001\u006c\u0001"+ + "\u006e\u0002\uffff\u0001\u002d\u0001\u0061\u0001\u006c\u0001\u0065\u0001"+ + "\u0061\u0001\uffff\u0001\u0069\u0002\uffff\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u0067\u0001\uffff\u0001\u0065\u0001\u0067\u0002\u0065\u0001"+ + "\u002d\u0002\uffff\u0001\u0067\u0001\u002d\u0001\u0067\u0001\u0065\u0001"+ + "\u006e\u0001\u0063\u0003\u002d\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\u002d\u0001\uffff\u0001\u0065\u0001\uffff\u0001"+ + "\u0066\u0001\uffff\u0002\u006e\u0001\u002d\u0001\uffff\u0001\u0071\u0003"+ + "\u002d\u0001\u0067\u0002\uffff\u0003\u002d\u0001\uffff\u0001\u002d\u0001"+ + "\u0074\u0001\u0079\u0001\u002d\u0001\u0067\u0001\u0065\u0001\u002d\u0001"+ + "\uffff\u0001\u0065\u0001\u0069\u0001\u0072\u0001\uffff\u0001\u002d\u0001"+ + "\u0073\u0001\u0067\u0002\u002d\u0001\u006e\u0002\uffff\u0001\u0065\u0001"+ + "\u0067\u0001\uffff\u0001\u0074\u0001\u0079\u0001\u0073\u0001\u0074\u0001"+ + "\u006c\u0001\u0061\u0001\uffff\u0001\u0063\u0001\u002d\u0001\u0064\u0003"+ + "\u002d\u0001\uffff\u0001\u0069\u0001\u006f\u0001\uffff\u0002\u002d\u0001"+ + "\u006c\u0001\u0061\u0001\uffff\u0001\u0073\u0001\uffff\u0001\u002d\u0001"+ + "\u006e\u0001\u0069\u0001\u0074\u0001\uffff\u0001\u0073\u0001\u006f\u0001"+ + "\u0065\u0001\u0074\u0001\u0067\u0001\u006e\u0001\uffff\u0001\u0075\u0003"+ + "\uffff\u0001\u002d\u0002\uffff\u0001\u0073\u0001\uffff\u0002\u002d\u0001"+ + "\uffff\u0001\u006e\u0001\u0064\u0001\uffff\u0001\u002d\u0001\u0074\u0001"+ + "\u0076\u0001\uffff\u0001\u0065\u0001\u002d\u0002\uffff\u0001\u0067\u0002"+ + "\u002d\u0001\u0069\u0002\u002d\u0001\u0074\u0001\u0065\u0001\u006c\u0001"+ + "\u0068\u0001\uffff\u0001\u002d\u0003\uffff\u0001\u0074\u0001\u0072\u0002"+ + "\uffff\u0001\u0079\u0001\u006c\u0001\u0070\u0001\uffff\u0001\u002d\u0001"+ + "\u006f\u0001\u002d\u0001\u0070\u0001\u0072\u0001\u0070\u0002\u002d\u0001"+ + "\u006f\u0001\u0065\u0001\u0073\u0001\uffff\u0001\u0065\u0002\uffff\u0002"+ + "\u002d\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0065\u0001\u0070\u0001"+ + "\u0073\u0001\uffff\u0001\u002d\u0002\uffff\u0001\u006f\u0002\uffff\u0001"+ + "\u0072\u0001\u006d\u0002\u002d\u0001\uffff\u0003\u002d\u0001\u006c\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0061\u0001\u006d\u0001"+ + "\u0061\u0001\u006f\u0002\uffff\u0001\u0064\u0001\u006e\u0001\u0069\u0001"+ + "\u0070\u0002\uffff\u0001\u006f\u0001\uffff\u0001\u002d\u0001\u0061\u0002"+ + "\u0069\u0001\u006e\u0001\u0069\u0001\u0065\u0003\uffff\u0001\u0073\u0001"+ + "\uffff\u0001\u0079\u0001\u0063\u0001\u002d\u0001\u0063\u0001\u0061\u0002"+ + "\u0072\u0001\u0065\u0001\u0063\u0001\u0062\u0001\u0061\u0001\u0064\u0001"+ + "\uffff\u0001\u0072\u0001\u0062\u0001\u006e\u0001\u002d\u0001\u0062\u0001"+ + "\u006e\u0001\u0065\u0001\u002d\u0001\u0065\u0001\uffff\u0001\u0065\u0001"+ + "\u0074\u0001\u0061\u0002\u002d\u0001\u0065\u0001\u006c\u0001\u0072\u0001"+ + "\u0065\u0001\u0061\u0001\u006c\u0001\u0073\u0001\uffff\u0001\u0075\u0001"+ + "\u0074\u0001\u006c\u0001\uffff\u0001\u002d\u0001\u0073\u0001\u002d\u0001"+ + "\u0074\u0001\u0073\u0001\uffff\u0001\u002d\u0001\u0069\u0001\u0061\u0001"+ + "\u002d\u0001\u0074\u0001\u0069\u0002\u0074\u0001\u002d\u0001\u0066\u0001"+ + "\uffff\u0001\u002d\u0001\uffff\u0001\u006f\u0001\u0065\u0001\uffff\u0001"+ + "\u006e\u0001\u0074\u0001\uffff\u0001\u006f\u0001\u006e\u0001\u0072\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\uffff\u0001\u0072\u0001\u006c\u0001"+ + "\u0067\u0001\u006f\u0001\u0072\u0001\u0067\u0001\u0075\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0066\u0001\u002d\u0001\u0072\u0002\u002d\u0001"+ + "\u0063\u0002\uffff\u0001\u002d\u0001\uffff\u0001\u002d\u0002\uffff\u0001"+ + "\u0074\u0002\uffff\u0001\u0069\u0001\u006f\u0001\u006e\u0001\u002d\u0001"+ + "\uffff", + DFA19_maxS: + "\u0001\uffff\u0001\u0075\u0001\u0079\u0002\u006f\u0001\u0078\u0001"+ + "\u0075\u0003\u0074\u0001\u0075\u0001\u006f\u0001\u0075\u0001\u0072\u0001"+ + "\u0065\u0001\u0074\u0001\u0079\u0001\u0073\u0001\u0065\u0001\u0069\u0001"+ + "\u0071\u0001\u0061\u0002\u0065\u0001\u0075\u0001\u003a\u0007\uffff\u0002"+ + "\u003d\u0001\u0023\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u002d\u0001"+ + "\u003f\u0002\u003e\u0001\u0039\u0002\uffff\u0001\u0029\u0005\uffff\u0001"+ + "\u0065\u0001\uffff\u0001\u0064\u0002\u007a\u0001\u0074\u0001\u0070\u0001"+ + "\u0074\u0001\u0070\u0001\uffff\u0001\u0073\u0001\u0075\u0001\u007a\u0001"+ + "\u0066\u0001\u006f\u0001\u006e\u0001\u0074\u0001\u0069\u0001\u0075\u0001"+ + "\u0073\u0001\u0076\u0001\u0063\u0001\u0073\u0001\u0070\u0001\u0064\u0001"+ + "\u007a\u0001\u0065\u0001\u0074\u0001\u0072\u0001\u006e\u0001\u0072\u0001"+ + "\u006f\u0001\u007a\u0001\u006f\u0001\u007a\u0001\u0069\u0001\u007a\u0001"+ + "\u0070\u0002\u007a\u0001\u0065\u0001\u0078\u0002\u007a\u0001\u0064\u0002"+ + "\u006e\u0001\u0074\u0001\u006d\u0001\u007a\u0001\u006e\u0001\u007a\u0001"+ + "\u0074\u0002\u007a\u0002\u0074\u0001\u006f\u0001\u0072\u0001\u0076\u0001"+ + "\u006e\u0001\u0074\u0001\u0068\u0001\u0074\u0001\u006d\u0001\u0072\u0002"+ + "\u0069\u0001\u006d\u0001\u0078\u0001\u0065\u0001\u007a\u0001\u0079\u0001"+ + "\u0070\u0001\u006d\u0001\u006f\u0001\u0064\u0001\u0069\u0002\u0072\u0001"+ + "\u0069\u0001\u0074\u0001\u0075\u0001\u004e\u0001\u0072\u0001\u0079\u0001"+ + "\u006f\u0001\u007a\u000d\uffff\u0001\u0078\u000b\uffff\u0001\u002d\u0001"+ + "\u007a\u0009\uffff\u0001\u0065\u0008\uffff\u0002\u0065\u0001\uffff\u0001"+ + "\u0065\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0072\u0001\uffff\u0002"+ + "\u0065\u0001\u0073\u0001\u006f\u0001\u007a\u0001\u0065\u0001\u006e\u0001"+ + "\uffff\u0001\u006f\u0001\u0063\u0001\u0061\u0001\u0074\u0001\u0063\u0001"+ + "\u006c\u0001\u0063\u0001\u006c\u0001\u006d\u0001\u0074\u0001\u0079\u0001"+ + "\u006e\u0001\u006c\u0001\u0061\u0001\u0063\u0001\u0065\u0001\u007a\u0001"+ + "\u0069\u0001\u0075\u0001\u006d\u0001\u0065\u0001\u0074\u0001\u006f\u0001"+ + "\u007a\u0001\u0061\u0001\uffff\u0001\u0072\u0001\u006c\u0002\u0065\u0001"+ + "\u0074\u0001\u006c\u0001\u007a\u0001\u0063\u0001\u0073\u0001\u006d\u0001"+ + "\uffff\u0001\u0061\u0001\u0075\u0001\uffff\u0001\u0076\u0001\uffff\u0001"+ + "\u006f\u0001\u0065\u0001\u0074\u0001\u006f\u0001\u0069\u0001\u0065\u0002"+ + "\uffff\u0001\u006d\u0001\u007a\u0001\u0074\u0001\u0073\u0001\u007a\u0002"+ + "\uffff\u0001\u007a\u0001\u0075\u0001\u006e\u0001\u0075\u0001\u0061\u0001"+ + "\u0065\u0001\u0074\u0001\uffff\u0001\u0070\u0001\u0065\u0001\u007a\u0001"+ + "\uffff\u0001\u0069\u0001\u0065\u0001\uffff\u0001\u0079\u0001\uffff\u0002"+ + "\u0065\u0001\u0074\u0001\u0076\u0001\u0063\u0001\u0076\u0001\u0063\u0001"+ + "\u0075\u0001\u0061\u0001\u006c\u0001\u0061\u0001\u0064\u0001\u0067\u0001"+ + "\u0069\u0001\u0065\u0001\u0066\u0001\u0075\u0001\u007a\u0001\u0065\u0001"+ + "\u0072\u0001\u0069\u0001\u0064\u0002\u0070\u0001\u0074\u0001\u006e\u0001"+ + "\uffff\u0001\u0061\u0001\u007a\u0001\u0065\u0001\u0062\u0001\u0071\u0001"+ + "\u0072\u0001\u0061\u0001\u006e\u0001\u0075\u0001\u0069\u0001\u0073\u0001"+ + "\u0072\u0001\u006c\u0001\u0064\u0001\u0068\u0001\u0065\u0001\u007a\u0001"+ + "\u006f\u0001\u007a\u0001\u0075\u0001\u0074\u0004\uffff\u0001\u002d\u0003"+ + "\uffff\u0001\u0065\u0001\u0073\u0001\uffff\u0001\u006e\u0001\u0069\u0001"+ + "\u0072\u0001\u006e\u0001\u007a\u0001\u006d\u0001\uffff\u0001\u002d\u0001"+ + "\u0064\u0001\u0072\u0001\u006b\u0001\u0072\u0002\u007a\u0001\u0068\u0001"+ + "\u0064\u0001\u006b\u0002\u0065\u0001\u0074\u0001\u0065\u0001\u007a\u0001"+ + "\u0074\u0001\u0061\u0001\u006d\u0001\u0075\u0001\u0065\u0001\u0074\u0001"+ + "\uffff\u0001\u0074\u0001\u006d\u0001\u0065\u0001\u007a\u0001\u0079\u0001"+ + "\u0064\u0001\uffff\u0001\u006c\u0001\u0079\u0001\u007a\u0001\u0070\u0001"+ + "\u0072\u0001\u007a\u0001\u006f\u0001\u0069\u0001\uffff\u0002\u0074\u0001"+ + "\u007a\u0001\u0074\u0001\u0070\u0001\u007a\u0002\u0072\u0001\u0061\u0002"+ + "\u0072\u0001\u007a\u0001\u006e\u0001\u0078\u0001\u007a\u0001\uffff\u0001"+ + "\u007a\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u0066\u0001\uffff\u0001"+ + "\u0073\u0001\u0074\u0001\u0061\u0001\u0062\u0001\u0073\u0001\u007a\u0001"+ + "\u006e\u0001\u0072\u0001\u007a\u0001\uffff\u0001\u006f\u0001\u0072\u0001"+ + "\u007a\u0001\u0072\u0001\u006e\u0003\u0065\u0001\u0069\u0001\u0065\u0001"+ + "\u0061\u0001\u0065\u0001\u006d\u0001\u0072\u0001\u006d\u0001\u0061\u0001"+ + "\u006c\u0001\u002d\u0001\u0065\u0001\u0073\u0001\u006d\u0001\u007a\u0001"+ + "\u0065\u0001\uffff\u0001\u007a\u0001\u006c\u0001\u0074\u0001\u0070\u0001"+ + "\u0069\u0001\u007a\u0001\u006c\u0002\u007a\u0001\u0074\u0001\uffff\u0001"+ + "\u0073\u0001\u006c\u0001\u006e\u0001\u0075\u0001\u0064\u0001\u0074\u0001"+ + "\u0067\u0001\u0064\u0001\u0065\u0001\u0061\u0001\u0069\u0001\u0065\u0001"+ + "\u007a\u0001\u0065\u0001\u006f\u0001\u007a\u0001\u0072\u0001\uffff\u0001"+ + "\u002d\u0001\uffff\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u0074\u0001"+ + "\u0064\u0001\u0062\u0001\u007a\u0001\u0064\u0001\uffff\u0001\u0061\u0001"+ + "\u0075\u0001\u0061\u0001\u0065\u0001\u007a\u0001\u0079\u0001\uffff\u0001"+ + "\u0062\u0001\uffff\u0003\u007a\u0001\u0074\u0001\u0063\u0001\u006e\u0001"+ + "\u007a\u0001\u0078\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0072\u0001"+ + "\u0061\u0001\u006c\u0001\u006e\u0001\u0065\u0001\u007a\u0001\u0065\u0001"+ + "\u006e\u0001\uffff\u0001\u007a\u0002\u0069\u0001\u007a\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\uffff\u0001\u0077\u0001\u0063\u0001\u0067\u0001"+ + "\u0069\u0001\u007a\u0001\uffff\u0001\u0065\u0001\u007a\u0001\uffff\u0001"+ + "\u0074\u0001\u0069\u0001\u006e\u0001\u0074\u0001\u0073\u0001\u0072\u0001"+ + "\uffff\u0001\u0069\u0001\u007a\u0002\uffff\u0001\u007a\u0001\u0065\u0001"+ + "\u0079\u0001\u002d\u0001\u0061\u0002\u006c\u0001\u0070\u0001\uffff\u0001"+ + "\u0068\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u006e\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\u0074\u0001\u0072\u0001\u0064\u0001\u0072\u0001"+ + "\u006f\u0001\u0073\u0001\u0074\u0001\u006e\u0001\u0069\u0001\u006e\u0001"+ + "\u0065\u0001\u0063\u0001\u0069\u0001\u006f\u0001\u007a\u0001\u0066\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0065\u0001\u007a\u0001"+ + "\u0074\u0001\u007a\u0001\u006e\u0001\uffff\u0001\u0065\u0002\uffff\u0001"+ + "\u007a\u0001\u0077\u0001\u0069\u0001\u007a\u0002\u0065\u0001\u0069\u0001"+ + "\u007a\u0001\u0061\u0001\u007a\u0001\u0062\u0001\u006f\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\u0077\u0001\uffff\u0001\u0079\u0001\u0064\u0001"+ + "\u007a\u0003\uffff\u0001\u006f\u0001\u0069\u0001\u0075\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0002\u0072\u0001\u007a\u0001\uffff\u0001\u007a\u0001"+ + "\u006c\u0003\uffff\u0001\u0069\u0002\u0074\u0001\u0075\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\u0061\u0001\uffff\u0001\u0065\u0001\u006c\u0001"+ + "\u0074\u0001\u0064\u0001\u007a\u0001\uffff\u0001\u006e\u0001\u0074\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u007a\u0001"+ + "\u0061\u0001\u0069\u0001\u0068\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0073\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0063\u0001"+ + "\u007a\u0001\u0065\u0001\u0069\u0001\u0074\u0002\uffff\u0002\u007a\u0001"+ + "\u0073\u0001\u0069\u0001\u006c\u0001\u0065\u0001\u0061\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u007a\u0001\u0064\u0001\u006e\u0002\uffff\u0001"+ + "\u007a\u0001\u006e\u0001\u0069\u0001\u0076\u0001\u0075\u0001\u0073\u0001"+ + "\u0065\u0001\u0074\u0001\u006c\u0002\u007a\u0001\u0065\u0001\u0064\u0001"+ + "\u006e\u0001\uffff\u0001\u0069\u0001\u007a\u0001\u0074\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\uffff\u0001\u0067\u0001\u007a\u0001\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0072\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u006e\u0002\uffff\u0002"+ + "\u007a\u0001\u0069\u0001\uffff\u0001\u0072\u0001\u006e\u0001\u0074\u0001"+ + "\u006f\u0002\u0069\u0001\u0079\u0002\uffff\u0001\u0065\u0001\u006f\u0001"+ + "\u0069\u0001\u007a\u0001\u0063\u0001\u0069\u0001\u0074\u0001\u007a\u0001"+ + "\u006d\u0001\u007a\u0001\u002d\u0001\u007a\u0001\u0069\u0001\uffff\u0001"+ + "\u0074\u0001\u007a\u0001\u0065\u0001\u0067\u0001\u0079\u0001\uffff\u0001"+ + "\u006c\u0001\u006e\u0002\u007a\u0001\u006e\u0001\u0074\u0001\u0067\u0001"+ + "\uffff\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0063\u0001\u0074\u0001"+ + "\u0079\u0002\uffff\u0001\u0069\u0001\u006e\u0001\u0079\u0001\u007a\u0001"+ + "\u0063\u0001\u0072\u0001\u0065\u0001\uffff\u0001\u007a\u0001\u0067\u0001"+ + "\uffff\u0001\u002d\u0001\u006e\u0001\u0065\u0001\u0073\u0001\u0069\u0002"+ + "\u007a\u0001\u006c\u0001\u006e\u0002\uffff\u0001\u007a\u0001\u0061\u0001"+ + "\u006c\u0002\u0065\u0001\uffff\u0001\u0069\u0002\uffff\u0001\u007a\u0001"+ + "\uffff\u0001\u0074\u0001\u0067\u0001\uffff\u0001\u0065\u0001\u0067\u0002"+ + "\u0065\u0001\u007a\u0002\uffff\u0001\u0067\u0001\u007a\u0001\u0067\u0001"+ + "\u0065\u0001\u006e\u0001\u0063\u0001\u007a\u0001\u002d\u0001\u007a\u0001"+ + "\u006e\u0001\u006f\u0001\uffff\u0001\u0074\u0001\u006e\u0001\u007a\u0001"+ + "\uffff\u0001\u0065\u0001\uffff\u0001\u0073\u0001\uffff\u0002\u006e\u0001"+ + "\u007a\u0001\uffff\u0001\u0071\u0003\u007a\u0001\u0067\u0002\uffff\u0002"+ + "\u007a\u0001\u002d\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0079\u0001"+ + "\u007a\u0001\u0067\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u0065\u0001"+ + "\u0069\u0001\u0072\u0001\uffff\u0001\u007a\u0001\u0073\u0001\u0067\u0002"+ + "\u007a\u0001\u006e\u0002\uffff\u0001\u0065\u0001\u0067\u0001\uffff\u0001"+ + "\u0074\u0001\u0079\u0001\u0073\u0001\u0074\u0001\u006c\u0001\u0061\u0001"+ + "\uffff\u0001\u0063\u0001\u007a\u0001\u0064\u0003\u007a\u0001\uffff\u0001"+ + "\u0069\u0001\u006f\u0001\uffff\u0002\u007a\u0001\u006c\u0001\u0061\u0001"+ + "\uffff\u0001\u0073\u0001\uffff\u0001\u007a\u0001\u006e\u0001\u0069\u0001"+ + "\u0074\u0001\uffff\u0001\u0073\u0001\u006f\u0001\u0065\u0001\u0074\u0001"+ + "\u0067\u0001\u006e\u0001\uffff\u0001\u0075\u0003\uffff\u0001\u007a\u0002"+ + "\uffff\u0001\u0073\u0001\uffff\u0002\u007a\u0001\uffff\u0001\u006e\u0001"+ + "\u0064\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0076\u0001\uffff\u0001"+ + "\u0065\u0001\u007a\u0002\uffff\u0001\u0067\u0002\u007a\u0001\u0069\u0002"+ + "\u007a\u0001\u0074\u0001\u0065\u0001\u006c\u0001\u0068\u0001\uffff\u0001"+ + "\u007a\u0003\uffff\u0001\u0074\u0001\u0072\u0002\uffff\u0001\u0079\u0001"+ + "\u006c\u0001\u0070\u0001\uffff\u0001\u007a\u0001\u006f\u0001\u007a\u0001"+ + "\u0070\u0001\u0072\u0001\u0070\u0002\u007a\u0001\u006f\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u0065\u0002\uffff\u0002\u007a\u0001\u006e\u0001"+ + "\uffff\u0001\u007a\u0001\u0065\u0001\u0070\u0001\u0073\u0001\uffff\u0001"+ + "\u002d\u0002\uffff\u0001\u006f\u0002\uffff\u0001\u0072\u0001\u006d\u0002"+ + "\u007a\u0001\uffff\u0001\u007a\u0001\u002d\u0001\u007a\u0001\u006c\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0061\u0001\u006d\u0001"+ + "\u0061\u0001\u006f\u0002\uffff\u0001\u0064\u0001\u006e\u0001\u0069\u0001"+ + "\u0070\u0002\uffff\u0001\u006f\u0001\uffff\u0001\u007a\u0001\u0061\u0002"+ + "\u0069\u0001\u006e\u0001\u0069\u0001\u0065\u0003\uffff\u0001\u0073\u0001"+ + "\uffff\u0001\u0079\u0001\u0063\u0001\u007a\u0001\u0063\u0001\u0061\u0002"+ + "\u0072\u0001\u0065\u0001\u0063\u0001\u0062\u0001\u0061\u0001\u0064\u0001"+ + "\uffff\u0001\u0072\u0001\u0062\u0001\u006e\u0001\u007a\u0001\u0062\u0001"+ + "\u006e\u0001\u0065\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0065\u0001"+ + "\u0074\u0001\u0061\u0001\u002d\u0001\u007a\u0001\u0065\u0001\u006c\u0001"+ + "\u0072\u0001\u0065\u0001\u0061\u0001\u006c\u0001\u0073\u0001\uffff\u0001"+ + "\u0075\u0001\u0074\u0001\u006c\u0001\uffff\u0001\u007a\u0001\u0073\u0001"+ + "\u007a\u0001\u0074\u0001\u0073\u0001\uffff\u0001\u007a\u0001\u0069\u0001"+ + "\u0061\u0001\u007a\u0001\u0074\u0001\u0069\u0002\u0074\u0001\u007a\u0001"+ + "\u0066\u0001\uffff\u0001\u007a\u0001\uffff\u0001\u006f\u0001\u0065\u0001"+ + "\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u006f\u0001\u006e\u0001"+ + "\u0072\u0001\u0065\u0001\uffff\u0001\u007a\u0001\uffff\u0001\u0072\u0001"+ + "\u006c\u0001\u0067\u0001\u006f\u0001\u0072\u0001\u0067\u0001\u0075\u0001"+ + "\u007a\u0001\uffff\u0001\u007a\u0001\u0066\u0001\u007a\u0001\u0072\u0002"+ + "\u007a\u0001\u0063\u0002\uffff\u0001\u007a\u0001\uffff\u0001\u007a\u0002"+ + "\uffff\u0001\u0074\u0002\uffff\u0001\u0069\u0001\u006f\u0001\u006e\u0001"+ + "\u007a\u0001\uffff", + DFA19_acceptS: + "\u001a\uffff\u0001\u00b3\u0001\u00b4\u0001\u00b5\u0001\u00b6\u0001"+ + "\u00b7\u0001\u00b8\u0001\u00b9\u0003\uffff\u0001\u00bd\u0001\uffff\u0001"+ + "\u00bf\u0001\u00c0\u0005\uffff\u0001\u00d0\u0001\u00d1\u0001\uffff\u0001"+ + "\u00d8\u0001\u00db\u0001\u00dc\u0001\u00dd\u0001\u00de\u0001\uffff\u0001"+ + "\u00e6\u0007\uffff\u0001\u00dd\u004e\uffff\u0001\u00e5\u0001\u00b2\u0001"+ + "\u00b3\u0001\u00b4\u0001\u00b5\u0001\u00b6\u0001\u00b7\u0001\u00b8\u0001"+ + "\u00b9\u0001\u00ba\u0001\u00cd\u0001\u00cc\u0001\u00bb\u0001\uffff\u0001"+ + "\u00bc\u0001\u00bd\u0001\u00d7\u0001\u00be\u0001\u00bf\u0001\u00c0\u0001"+ + "\u00d5\u0001\u00c1\u0001\u00c4\u0001\u00c6\u0001\u00cf\u0002\uffff\u0001"+ + "\u00c2\u0001\u00c5\u0001\u00c7\u0001\u00c3\u0001\u00c9\u0001\u00ce\u0001"+ + "\u00c8\u0001\u00cb\u0001\u00ca\u0001\uffff\u0001\u00d0\u0001\u00d1\u0001"+ + "\u00d3\u0001\u00d8\u0001\u00db\u0001\u00dc\u0001\u00de\u0001\u00e2\u0002"+ + "\uffff\u0001\u00e4\u0003\uffff\u0001\u0004\u0001\uffff\u0001\u0006\u0007"+ + "\uffff\u0001\u000a\u0019\uffff\u0001\u0020\u000a\uffff\u0001\u0028\u0002"+ + "\uffff\u0001\u002a\u0001\uffff\u0001\u002c\u0006\uffff\u0001\u002e\u0001"+ + "\u0032\u0005\uffff\u0001\u0035\u0001\u0038\u0007\uffff\u0001\u003c\u0003"+ + "\uffff\u0001\u0040\u0002\uffff\u0001\u0042\u0001\uffff\u0001\u00a8\u001a"+ + "\uffff\u0001\u0057\u0015\uffff\u0001\u00d2\u0001\u00df\u0001\u00da\u0001"+ + "\u00d9\u0001\uffff\u0001\u00d6\u0001\u00e1\u0001\u00e3\u0002\uffff\u0001"+ + "\u0003\u0006\uffff\u0001\u00af\u0015\uffff\u0001\u0018\u0006\uffff\u0001"+ + "\u0067\u0008\uffff\u0001\u0026\u000f\uffff\u0001\u0034\u0002\uffff\u0001"+ + "\u0037\u0002\uffff\u0001\u0039\u0009\uffff\u0001\u00a7\u0017\uffff\u0001"+ + "\u0092\u000a\uffff\u0001\u0077\u0011\uffff\u0001\u006d\u0001\uffff\u0001"+ + "\u00a3\u0008\uffff\u0001\u00b0\u0006\uffff\u0001\u000b\u0001\uffff\u0001"+ + "\u000c\u0009\uffff\u0001\u007e\u0009\uffff\u0001\u001c\u0004\uffff\u0001"+ + "\u0095\u0002\uffff\u0001\u008f\u0005\uffff\u0001\u00a0\u0002\uffff\u0001"+ + "\u002b\u0006\uffff\u0001\u0082\u0002\uffff\u0001\u0033\u0001\u0083\u0008"+ + "\uffff\u0001\u006e\u0003\uffff\u0001\u003f\u0002\uffff\u0001\u006f\u0012"+ + "\uffff\u0001\u0050\u0001\uffff\u0001\u0051\u0005\uffff\u0001\u0089\u0001"+ + "\uffff\u0001\u0055\u0001\u0056\u000d\uffff\u0001\u0079\u0002\uffff\u0001"+ + "\u008c\u0003\uffff\u0001\u00b1\u0001\u00d4\u0001\u00e0\u0003\uffff\u0001"+ + "\u007c\u0005\uffff\u0001\u008d\u0002\uffff\u0001\u0061\u0001\u000e\u0001"+ + "\u0099\u0005\uffff\u0001\u009c\u0002\uffff\u0001\u0063\u0005\uffff\u0001"+ + "\u0066\u0003\uffff\u0001\u001d\u0002\uffff\u0001\u0021\u0006\uffff\u0001"+ + "\u0080\u0002\uffff\u0001\u0068\u0007\uffff\u0001\u00a1\u0001\u0036\u0009"+ + "\uffff\u0001\u0085\u0003\uffff\u0001\u0043\u0001\u0070\u000e\uffff\u0001"+ + "\u00aa\u0004\uffff\u0001\u0076\u0001\uffff\u0001\u0054\u0002\uffff\u0001"+ + "\u0058\u0002\uffff\u0001\u005a\u0003\uffff\u0001\u0096\u0001\uffff\u0001"+ + "\u008b\u0002\uffff\u0001\u005f\u0001\u0094\u0003\uffff\u0001\u00a9\u0007"+ + "\uffff\u0001\u007d\u0001\u00ad\u000d\uffff\u0001\u007f\u0005\uffff\u0001"+ + "\u0022\u0007\uffff\u0001\u002d\u0002\uffff\u0001\u0081\u0003\uffff\u0001"+ + "\u003a\u0001\u0084\u0007\uffff\u0001\u0041\u0002\uffff\u0001\u0046\u0009"+ + "\uffff\u0001\u004b\u0001\u0086\u0005\uffff\u0001\u004d\u0001\uffff\u0001"+ + "\u0052\u0001\u0053\u0001\uffff\u0001\u0093\u0002\uffff\u0001\u00ac\u0005"+ + "\uffff\u0001\u007a\u0001\u0060\u000b\uffff\u0001\u0010\u0003\uffff\u0001"+ + "\u0062\u0001\uffff\u0001\u0013\u0001\uffff\u0001\u0014\u0003\uffff\u0001"+ + "\u001b\u0005\uffff\u0001\u009e\u0001\u009f\u0003\uffff\u0001\u002f\u0007"+ + "\uffff\u0001\u00a6\u0003\uffff\u0001\u0044\u0006\uffff\u0001\u00ae\u0001"+ + "\u0072\u0002\uffff\u0001\u0087\u0006\uffff\u0001\u0075\u0006\uffff\u0001"+ + "\u005e\u0002\uffff\u0001\u0001\u0004\uffff\u0001\u0008\u0001\uffff\u0001"+ + "\u000d\u0004\uffff\u0001\u008e\u0006\uffff\u0001\u0019\u0001\uffff\u0001"+ + "\u001f\u0001\u009d\u0001\u0023\u0001\uffff\u0001\u0027\u0001\u0029\u0001"+ + "\uffff\u0001\u0030\u0002\uffff\u0001\u006a\u0002\uffff\u0001\u00a5\u0003"+ + "\uffff\u0001\u0045\u0002\uffff\u0001\u0049\u0001\u0074\u000a\uffff\u0001"+ + "\u0078\u0001\uffff\u0001\u008a\u0001\u005c\u0001\u005d\u0002\uffff\u0001"+ + "\u0005\u0001\u0007\u0003\uffff\u0001\u000f\u000b\uffff\u0001\u0024\u0001"+ + "\uffff\u0001\u0031\u0001\u00a2\u0003\uffff\u0001\u003b\u0004\uffff\u0001"+ + "\u0047\u0001\uffff\u0001\u0073\u0001\u0090\u0001\uffff\u0001\u00ab\u0001"+ + "\u004c\u0004\uffff\u0001\u005b\u0005\uffff\u0001\u009a\u0001\uffff\u0001"+ + "\u009b\u0004\uffff\u0001\u0015\u0001\u0017\u0004\uffff\u0001\u006b\u0001"+ + "\u00a4\u0001\uffff\u0001\u003d\u0007\uffff\u0001\u0091\u0001\u0059\u0001"+ + "\u007b\u0001\uffff\u0001\u0097\u000c\uffff\u0001\u003e\u0009\uffff\u0001"+ + "\u0011\u000c\uffff\u0001\u0088\u0003\uffff\u0001\u0098\u0005\uffff\u0001"+ + "\u001a\u000a\uffff\u0001\u0009\u0001\uffff\u0001\u0064\u0002\uffff\u0001"+ + "\u001e\u0002\uffff\u0001\u006c\u0004\uffff\u0001\u004f\u0001\uffff\u0001"+ + "\u0012\u0008\uffff\u0001\u0002\u0007\uffff\u0001\u004e\u0001\u0065\u0001"+ + "\uffff\u0001\u0025\u0001\uffff\u0001\u0071\u0001\u0048\u0001\uffff\u0001"+ + "\u0016\u0001\u0069\u0004\uffff\u0001\u004a", + DFA19_specialS: + "\u0001\u0001\u01d5\uffff\u0001\u0000\u0285\uffff}>", + DFA19_transitionS: [ + "\u0009\u0036\u0002\u0034\u0002\u0036\u0001\u0034\u0012\u0036"+ + "\u0001\u0034\u0001\u0022\u0001\u0032\u0001\u002f\u0001\u001b"+ + "\u0001\u0036\u0001\u0023\u0001\u0031\u0001\u0019\u0001\u001a"+ + "\u0001\u0026\u0001\u0027\u0001\u0024\u0001\u0028\u0001\u002c"+ + "\u0001\u002b\u000a\u0035\u0001\u0021\u0001\u002d\u0001\u0029"+ + "\u0001\u0020\u0001\u002a\u0001\u0025\u0001\u0030\u000d\u0033"+ + "\u0001\u0015\u000c\u0033\u0001\u001e\u0001\u0036\u0001\u001f"+ + "\u0001\u0036\u0001\u0033\u0001\u0036\u0001\u0001\u0001\u0002"+ + "\u0001\u0003\u0001\u0004\u0001\u0005\u0001\u0006\u0001\u0007"+ + "\u0001\u0033\u0001\u0008\u0001\u0033\u0001\u0017\u0001\u0009"+ + "\u0001\u000a\u0001\u000b\u0001\u000c\u0001\u000d\u0001\u0018"+ + "\u0001\u000e\u0001\u000f\u0001\u0010\u0001\u0011\u0001\u0012"+ + "\u0001\u0013\u0001\u0014\u0001\u0033\u0001\u0016\u0001\u001c"+ + "\u0001\u002e\u0001\u001d\uff82\u0036", + "\u0001\u003a\u0006\uffff\u0001\u003d\u0001\u0037\u0001\uffff"+ + "\u0001\u003b\u0002\uffff\u0001\u0038\u0001\u0039\u0001\u003c", + "\u0001\u003f\u0003\uffff\u0001\u0042\u0003\uffff\u0001\u0044"+ + "\u0002\uffff\u0001\u0043\u0002\uffff\u0001\u0040\u0009\uffff"+ + "\u0001\u0041", + "\u0001\u0045\u0006\uffff\u0001\u0046\u0006\uffff\u0001\u0047", + "\u0001\u0048\u0003\uffff\u0001\u0049\u0005\uffff\u0001\u004a", + "\u0001\u004b\u0001\u004c\u0001\u004d\u0002\uffff\u0001\u004e"+ + "\u0004\uffff\u0001\u004f\u0001\uffff\u0001\u0050", + "\u0001\u0053\u0005\uffff\u0001\u0051\u0002\uffff\u0001\u0054"+ + "\u0002\uffff\u0001\u0052", + "\u0001\u0055\u000c\uffff\u0001\u0056\u0001\uffff\u0001\u0057", + "\u0001\u0058\u0001\uffff\u0001\u0059\u0006\uffff\u0001\u005a"+ + "\u0001\u005b\u0004\uffff\u0001\u005c\u0001\u005d", + "\u0001\u005e\u0003\uffff\u0001\u005f\u000e\uffff\u0001\u0060", + "\u0001\u0063\u0007\uffff\u0001\u0062\u0005\uffff\u0001\u0061"+ + "\u0005\uffff\u0001\u0064", + "\u0001\u0065\u0003\uffff\u0001\u0066\u0009\uffff\u0001\u0067", + "\u0001\u0068\u0007\uffff\u0001\u006b\u0001\uffff\u0001\u0069"+ + "\u0001\uffff\u0001\u006a\u0002\uffff\u0001\u006c", + "\u0001\u006d\u0003\uffff\u0001\u006f\u000c\uffff\u0001\u006e", + "\u0001\u0071\u0003\uffff\u0001\u0070", + "\u0001\u0072\u0001\uffff\u0001\u0073\u0001\uffff\u0001\u0074"+ + "\u0003\uffff\u0001\u0079\u0001\uffff\u0001\u0078\u0001\u0077"+ + "\u0002\uffff\u0001\u0075\u0004\uffff\u0001\u0076", + "\u0001\u007a\u0002\uffff\u0001\u007b\u0006\uffff\u0001\u007c"+ + "\u0002\uffff\u0001\u007d\u0002\uffff\u0001\u007f\u0003\uffff"+ + "\u0001\u007e", + "\u0001\u0080\u0001\uffff\u0001\u0081\u0002\uffff\u0001\u0082", + "\u0001\u0083\u0003\uffff\u0001\u0084", + "\u0001\u0085\u0001\u0086", + "\u0001\u0087", + "\u0001\u0088", + "\u0001\u0089", + "\u0001\u008a", + "\u0001\u008b", + "\u0001\u008c\u0016\uffff\u0001\u008d", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0097\u0002\uffff\u0001\u0096", + "\u0001\u0099", + "\u0001\u009a", + "", + "\u0001\u009d", + "", + "", + "\u0001\u00a1", + "\u0001\u00a6\u000d\uffff\u0001\u00a5\u000c\uffff\u0001\u00a4"+ + "\u0001\u00a3\u0001\uffff\u0001\u00a7", + "\u0001\u00a9\u0001\u00aa", + "\u0001\u00ac\u000e\uffff\u0001\u00ad", + "\u0001\u00af\u0001\uffff\u000a\u00b1", + "", + "", + "\u0001\u00b4", + "", + "", + "", + "", + "", + "\u0001\u00bb\u0001\uffff\u000a\u00ba\u000b\uffff\u0001\u00bc"+ + "\u001f\uffff\u0001\u00bc", + "", + "\u0001\u00bd\u0001\u00be", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0001\u00bf"+ + "\u0017\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0013\u003e\u0001\u00c1"+ + "\u0006\u003e", + "\u0001\u00c3", + "\u0001\u00c5\u0001\u00c4", + "\u0001\u00c6", + "\u0001\u00c7", + "", + "\u0001\u00c8", + "\u0001\u00c9", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00cb", + "\u0001\u00cc", + "\u0001\u00cd", + "\u0001\u00ce\u0001\u00cf", + "\u0001\u00d1\u0003\uffff\u0001\u00d0", + "\u0001\u00d2\u0001\u00d3\u0001\u00d4\u0001\uffff\u0001\u00d5"+ + "\u0004\uffff\u0001\u00d6", + "\u0001\u00d7\u0002\uffff\u0001\u00d8\u0005\uffff\u0001\u00da"+ + "\u0006\uffff\u0001\u00d9", + "\u0001\u00dc\u000e\uffff\u0001\u00db", + "\u0001\u00dd", + "\u0001\u00de\u000d\uffff\u0001\u00df", + "\u0001\u00e0", + "\u0001\u00e1\u0001\u00e2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0014\u003e\u0001\u00e3"+ + "\u0005\u003e", + "\u0001\u00e6\u0003\uffff\u0001\u00e5", + "\u0001\u00e7\u0005\uffff\u0001\u00e9\u000a\uffff\u0001\u00e8", + "\u0001\u00ea\u0005\uffff\u0001\u00eb", + "\u0001\u00ec", + "\u0001\u00ed", + "\u0001\u00ee", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f0\u0009\uffff\u0001\u00f1", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f5", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0003\u003e\u0001\u00fa"+ + "\u0001\u003e\u0001\u00f9\u0001\u003e\u0001\u00f6\u000a\u003e"+ + "\u0001\u00f7\u0001\u00f8\u0006\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00fd", + "\u0001\u00ff\u0004\uffff\u0001\u00fe", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u0100\u0012\u003e"+ + "\u0001\u0101\u0006\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0104", + "\u0001\u0105", + "\u0001\u0106\u0004\uffff\u0001\u0107", + "\u0001\u0108", + "\u0001\u0109", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0017\u003e\u0001\u010a"+ + "\u0002\u003e", + "\u0001\u010c\u0036\uffff\u0001\u010d\u0009\uffff\u0001\u010e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0110", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0003\u003e\u0001\u0111"+ + "\u0016\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u000b\u003e\u0001\u0113"+ + "\u000e\u003e", + "\u0001\u0115", + "\u0001\u0116\u0001\uffff\u0001\u0117", + "\u0001\u0118\u0003\uffff\u0001\u011a\u0005\uffff\u0001\u0119", + "\u0001\u011b", + "\u0001\u0120\u000c\uffff\u0001\u011d\u0001\uffff\u0001\u011e"+ + "\u0003\uffff\u0001\u011c\u0001\uffff\u0001\u011f", + "\u0001\u0121", + "\u0001\u0122", + "\u0001\u0123", + "\u0001\u0124\u0004\uffff\u0001\u0125\u0002\uffff\u0001\u0126", + "\u0001\u0127", + "\u0001\u0128\u0010\uffff\u0001\u0129", + "\u0001\u012a", + "\u0001\u012b", + "\u0001\u012c", + "\u0001\u012d", + "\u0001\u012e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0130\u0013\uffff\u0001\u0131", + "\u0001\u0132", + "\u0001\u0133", + "\u0001\u0134\u0005\uffff\u0001\u0135", + "\u0001\u0136", + "\u0001\u0137", + "\u0001\u0138\u0005\uffff\u0001\u0139", + "\u0001\u013a", + "\u0001\u013b\u0003\uffff\u0001\u013c", + "\u0001\u013d\u0005\uffff\u0001\u013e", + "\u0001\u013f", + "\u0001\u0140", + "\u0001\u0141", + "\u0001\u0142", + "\u0001\u0143\u0009\uffff\u0001\u0144", + "\u0002\u0146\u0002\uffff\u0001\u0146\u0012\uffff\u0001\u0146"+ + "\u0020\uffff\u001a\u0146\u0004\uffff\u0001\u0146\u0001\uffff"+ + "\u001a\u0146", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0147", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0149", + "\u0002\u014b\u0002\uffff\u0001\u014b\u0012\uffff\u0001\u014b"+ + "\u0020\uffff\u001a\u014b\u0004\uffff\u0001\u014b\u0001\uffff"+ + "\u001a\u014b", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u000a\u00b1\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u00bb\u0001\uffff\u000a\u00ba\u000b\uffff\u0001\u00bc"+ + "\u001f\uffff\u0001\u00bc", + "\u000a\u014d\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "", + "\u0001\u014e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0150", + "", + "\u0001\u0151", + "", + "\u0001\u0152", + "\u0001\u0153", + "\u0001\u0154", + "\u0001\u0155", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0157", + "\u0001\u0158", + "", + "\u0001\u0159", + "\u0001\u015a", + "\u0001\u015b", + "\u0001\u015c\u000e\uffff\u0001\u015d", + "\u0001\u015e", + "\u0001\u015f", + "\u0001\u0160", + "\u0001\u0161", + "\u0001\u0162", + "\u0001\u0163\u0001\u0164", + "\u0001\u0165", + "\u0001\u0166", + "\u0001\u0168\u0002\uffff\u0001\u0167", + "\u0001\u0169", + "\u0001\u016a", + "\u0001\u016b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u016d", + "\u0001\u016e", + "\u0001\u016f", + "\u0001\u0170", + "\u0001\u0171", + "\u0001\u0172", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0174", + "", + "\u0001\u0175", + "\u0001\u0176", + "\u0001\u0177", + "\u0001\u0178", + "\u0001\u0179", + "\u0001\u017a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u017b"+ + "\u0015\u003e", + "\u0001\u017d", + "\u0001\u017e", + "\u0001\u017f", + "", + "\u0001\u0180", + "\u0001\u0181", + "", + "\u0001\u0182", + "", + "\u0001\u0183", + "\u0001\u0184", + "\u0001\u0186\u000e\uffff\u0001\u0185", + "\u0001\u0187\u0009\uffff\u0001\u0188", + "\u0001\u0189", + "\u0001\u018a", + "", + "", + "\u0001\u018b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u018d", + "\u0001\u018e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u0191"+ + "\u000b\u003e\u0001\u0190\u0005\u003e", + "\u0001\u0193", + "\u0001\u0194", + "\u0001\u0195", + "\u0001\u0196", + "\u0001\u0197", + "\u0001\u0198", + "", + "\u0001\u0199\u0006\uffff\u0001\u019a", + "\u0001\u019b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u019d", + "\u0001\u019e", + "", + "\u0001\u019f", + "", + "\u0001\u01a0", + "\u0001\u01a1", + "\u0001\u01a2", + "\u0001\u01a3\u000f\uffff\u0001\u01a4\u0002\uffff\u0001\u01a5", + "\u0001\u01a6", + "\u0001\u01a7", + "\u0001\u01a9\u0035\uffff\u0001\u01a8", + "\u0001\u01aa", + "\u0001\u01ab", + "\u0001\u01ac", + "\u0001\u01ad", + "\u0001\u01ae", + "\u0001\u01af", + "\u0001\u01b0", + "\u0001\u01b1", + "\u0001\u01b2", + "\u0001\u01b3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01b5", + "\u0001\u01b6\u000f\uffff\u0001\u01b7", + "\u0001\u01b8", + "\u0001\u01b9", + "\u0001\u01ba", + "\u0001\u01bb", + "\u0001\u01bc", + "\u0001\u01bd", + "", + "\u0001\u01be", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01c0", + "\u0001\u01c1", + "\u0001\u01c2\u0001\uffff\u0001\u01c3", + "\u0001\u01c4", + "\u0001\u01c5", + "\u0001\u01c6", + "\u0001\u01c7\u000b\uffff\u0001\u01c8", + "\u0001\u01c9", + "\u0001\u01ca", + "\u0001\u01cc\u0003\uffff\u0001\u01cb", + "\u0001\u01cd", + "\u0001\u01ce", + "\u0001\u01cf", + "\u0001\u01d0", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01d2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01d4", + "\u0001\u01d5", + "", + "", + "", + "", + "\u0001\u01d6", + "", + "", + "", + "\u000a\u014d\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "\u0001\u01d7", + "", + "\u0001\u01d8", + "\u0001\u01d9", + "\u0001\u01da", + "\u0001\u01db", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01dd", + "", + "\u0001\u01de", + "\u0001\u01df", + "\u0001\u01e0", + "\u0001\u01e1", + "\u0001\u01e2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u01e4\u0019\u003e", + "\u0001\u01e6", + "\u0001\u01e7", + "\u0001\u01e8", + "\u0001\u01e9\u0003\uffff\u0001\u01ea", + "\u0001\u01eb", + "\u0001\u01ec", + "\u0001\u01ed", + "\u0001\u01ee\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01f0", + "\u0001\u01f1", + "\u0001\u01f2", + "\u0001\u01f3", + "\u0001\u01f4", + "\u0001\u01f5", + "", + "\u0001\u01f6", + "\u0001\u01f7", + "\u0001\u01f8", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01fa", + "\u0001\u01fb", + "", + "\u0001\u01fc", + "\u0001\u01fd", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01ff", + "\u0001\u0200", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0202", + "\u0001\u0203\u0007\uffff\u0001\u0204", + "", + "\u0001\u0205", + "\u0001\u0206", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0208", + "\u0001\u0209", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u020b", + "\u0001\u020c", + "\u0001\u020d", + "\u0001\u020e", + "\u0001\u0210\u000a\uffff\u0001\u020f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0212", + "\u0001\u0213", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0216", + "", + "\u0001\u0217", + "\u0001\u0218", + "", + "\u0001\u0219", + "\u0001\u021a", + "\u0001\u021b", + "\u0001\u021c", + "\u0001\u021d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u021f", + "\u0001\u0220", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0012\u003e\u0001\u0221"+ + "\u0007\u003e", + "", + "\u0001\u0223", + "\u0001\u0224", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0226", + "\u0001\u0227", + "\u0001\u0228", + "\u0001\u0229", + "\u0001\u022a", + "\u0001\u022b", + "\u0001\u022c", + "\u0001\u022d", + "\u0001\u022e", + "\u0001\u022f", + "\u0001\u0230", + "\u0001\u0231", + "\u0001\u0232", + "\u0001\u0233", + "\u0001\u0234", + "\u0001\u0235", + "\u0001\u0236", + "\u0001\u0237", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0239", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u023b", + "\u0001\u023c", + "\u0001\u023d\u000c\uffff\u0001\u023e", + "\u0001\u023f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0241", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0244", + "", + "\u0001\u0245", + "\u0001\u0246", + "\u0001\u0247", + "\u0001\u0248", + "\u0001\u0249", + "\u0001\u024a", + "\u0001\u024b", + "\u0001\u024c", + "\u0001\u024d", + "\u0001\u024e", + "\u0001\u024f", + "\u0001\u0250", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0252", + "\u0001\u0253", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0255", + "", + "\u0001\u0256", + "", + "\u0001\u0257", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0000\u025a", + "\u0001\u025b", + "\u0001\u025c", + "\u0001\u025d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u025f", + "", + "\u0001\u0260", + "\u0001\u0261", + "\u0001\u0262", + "\u0001\u0263", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0265", + "", + "\u0001\u0266", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u026a", + "\u0001\u026b", + "\u0001\u026c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u026e\u0010\u003e"+ + "\u0001\u026d\u0008\u003e", + "\u0001\u0270", + "\u0001\u0271", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0273", + "\u0001\u0274", + "\u0001\u0275", + "\u0001\u0276", + "\u0001\u0277", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0279", + "\u0001\u027a", + "", + "\u0001\u027b\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u027d", + "\u0001\u027e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0280", + "\u0001\u0281", + "", + "\u0001\u0282", + "\u0001\u0283", + "\u0001\u0284", + "\u0001\u0285", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0287", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u0288"+ + "\u0011\u003e", + "", + "\u0001\u028a", + "\u0001\u028b", + "\u0001\u028c", + "\u0001\u028d", + "\u0001\u028e", + "\u0001\u028f", + "", + "\u0001\u0290", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0293", + "\u0001\u0294", + "\u0001\u0295", + "\u0001\u0296", + "\u0001\u0297", + "\u0001\u0298", + "\u0001\u0299", + "", + "\u0001\u029a", + "\u0001\u029b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u029d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u029e"+ + "\u0003\u003e\u0001\u029f\u0011\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02a2", + "\u0001\u02a3", + "\u0001\u02a4", + "\u0001\u02a5", + "\u0001\u02a6", + "\u0001\u02a7", + "\u0001\u02a8", + "\u0001\u02a9", + "\u0001\u02aa", + "\u0001\u02ab", + "\u0001\u02ac", + "\u0001\u02ad", + "\u0001\u02ae", + "\u0001\u02af", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b1", + "\u0001\u02b2", + "", + "\u0001\u02b3", + "", + "\u0001\u02b4", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b6", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b8", + "", + "\u0001\u02b9", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02bb", + "\u0001\u02bc", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02be", + "\u0001\u02bf", + "\u0001\u02c0", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c4", + "\u0001\u02c5", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c8", + "", + "\u0001\u02c9", + "\u0001\u02ca", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "", + "\u0001\u02cc", + "\u0001\u02cd", + "\u0001\u02ce", + "", + "\u0001\u02cf", + "\u0001\u02d0", + "\u0001\u02d1", + "\u0001\u02d2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02d5", + "", + "", + "", + "\u0001\u02d6", + "\u0001\u02d7", + "\u0001\u02d8", + "\u0001\u02da\u0013\uffff\u0001\u02d9", + "\u0001\u02db", + "", + "\u0001\u02dc", + "\u0001\u02dd", + "", + "\u0001\u02de", + "\u0001\u02df", + "\u0001\u02e0", + "\u0001\u02e1", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u02e3", + "\u0001\u02e4", + "\u0001\u02e5", + "", + "\u0001\u02e6", + "\u0001\u02e7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02e9", + "\u0001\u02ea", + "\u0001\u02eb", + "\u0001\u02ec", + "\u0001\u02ed", + "", + "\u0001\u02ee", + "\u0001\u02ef", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f1", + "\u0001\u02f2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f4", + "\u0001\u02f5", + "\u0001\u02f6", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f9", + "\u0001\u02fa", + "\u0001\u02fb", + "\u0001\u02fc", + "\u0001\u02fd", + "\u0001\u02fe", + "\u0001\u02ff", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0301", + "\u0001\u0302", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0304", + "\u0001\u0305", + "\u0001\u0306", + "\u0001\u0307", + "\u0001\u0308", + "\u0001\u0309", + "\u0001\u030a", + "\u0001\u030b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u030c"+ + "\u0011\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u030f", + "\u0001\u0310", + "\u0001\u0311", + "", + "\u0001\u0312", + "\u0001\u0313\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0315", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0318", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u031a", + "\u0001\u031b", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u031d", + "\u0001\u031e", + "", + "\u0001\u031f", + "", + "\u0001\u0320", + "\u0001\u0321", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0324", + "", + "\u0001\u0325", + "\u0001\u0326", + "\u0001\u0327", + "\u0001\u0328", + "\u0001\u0329", + "\u0001\u032a", + "\u0001\u032b", + "", + "", + "\u0001\u032c", + "\u0001\u032d", + "\u0001\u032e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0330", + "\u0001\u0331", + "\u0001\u0332", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0334", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0336", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0338\u0007\uffff\u0001\u0339", + "", + "\u0001\u033a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u033c", + "\u0001\u033d", + "\u0001\u033e", + "", + "\u0001\u033f", + "\u0001\u0340", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0343", + "\u0001\u0344", + "\u0001\u0345", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0347", + "", + "\u0001\u0348", + "\u0001\u0349", + "\u0001\u034a", + "", + "", + "\u0001\u034b", + "\u0001\u034c", + "\u0001\u034d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u034f", + "\u0001\u0350", + "\u0001\u0351", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0353", + "", + "\u0001\u0354", + "\u0001\u0355", + "\u0001\u0356", + "\u0001\u0357", + "\u0001\u0358", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u035b", + "\u0001\u035c", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u035e", + "\u0001\u035f", + "\u0001\u0360", + "\u0001\u0361\u0003\uffff\u0001\u0362", + "", + "\u0001\u0363", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0365", + "\u0001\u0366", + "", + "\u0001\u0367", + "\u0001\u0368", + "\u0001\u0369", + "\u0001\u036a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u036c", + "\u0001\u036d\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u036f", + "\u0001\u0370", + "\u0001\u0371", + "\u0001\u0372", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0374", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0376", + "\u0001\u0377", + "", + "\u0001\u0378", + "\u0001\u0379", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u037b", + "", + "\u0001\u037c\u000c\uffff\u0001\u037d", + "", + "\u0001\u037e", + "\u0001\u037f", + "\u0001\u0380\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0382", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0386", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0389", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u038b", + "\u0001\u038c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u038e", + "\u0001\u038f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0391", + "\u0001\u0392", + "\u0001\u0393", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0395", + "\u0001\u0396", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0399", + "", + "", + "\u0001\u039a", + "\u0001\u039b", + "", + "\u0001\u039c", + "\u0001\u039d", + "\u0001\u039e", + "\u0001\u039f", + "\u0001\u03a0", + "\u0001\u03a1", + "", + "\u0001\u03a2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03a4", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u03a8", + "\u0001\u03a9", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03ac", + "\u0001\u03ad", + "", + "\u0001\u03ae", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03b0", + "\u0001\u03b1", + "\u0001\u03b2", + "", + "\u0001\u03b3", + "\u0001\u03b4", + "\u0001\u03b5", + "\u0001\u03b6", + "\u0001\u03b7", + "\u0001\u03b8", + "", + "\u0001\u03b9", + "", + "", + "", + "\u0001\u03ba\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u03bc", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u03bf", + "\u0001\u03c0", + "", + "\u0001\u03c1\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03c3", + "\u0001\u03c4", + "", + "\u0001\u03c5", + "\u0001\u03c6\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u03c8", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03cb", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03ce", + "\u0001\u03cf", + "\u0001\u03d0", + "\u0001\u03d1", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "", + "\u0001\u03d3", + "\u0001\u03d4", + "", + "", + "\u0001\u03d5", + "\u0001\u03d6", + "\u0001\u03d7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03d9", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03db", + "\u0001\u03dc", + "\u0001\u03dd", + "\u0001\u03de\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e1", + "\u0001\u03e2", + "\u0001\u03e3", + "", + "\u0001\u03e4", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e9", + "\u0001\u03ea", + "\u0001\u03eb", + "", + "\u0001\u03ec", + "", + "", + "\u0001\u03ed", + "", + "", + "\u0001\u03ee", + "\u0001\u03ef", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03f3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03f5", + "\u0001\u03f6", + "", + "\u0001\u03f7", + "", + "\u0001\u03f8", + "\u0001\u03f9", + "\u0001\u03fa", + "\u0001\u03fb", + "", + "", + "\u0001\u03fc", + "\u0001\u03fd", + "\u0001\u03fe", + "\u0001\u03ff", + "", + "", + "\u0001\u0400", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0402", + "\u0001\u0403", + "\u0001\u0404", + "\u0001\u0405", + "\u0001\u0406", + "\u0001\u0407", + "", + "", + "", + "\u0001\u0408", + "", + "\u0001\u0409", + "\u0001\u040a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u040c", + "\u0001\u040d", + "\u0001\u040e", + "\u0001\u040f", + "\u0001\u0410", + "\u0001\u0411", + "\u0001\u0412", + "\u0001\u0413", + "\u0001\u0414", + "", + "\u0001\u0415", + "\u0001\u0416", + "\u0001\u0417", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0419", + "\u0001\u041a", + "\u0001\u041b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u041d", + "", + "\u0001\u041e", + "\u0001\u041f", + "\u0001\u0420", + "\u0001\u0421", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0423", + "\u0001\u0424", + "\u0001\u0425", + "\u0001\u0426", + "\u0001\u0427", + "\u0001\u0428", + "\u0001\u0429", + "", + "\u0001\u042a", + "\u0001\u042b", + "\u0001\u042c", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u042e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0430", + "\u0001\u0431", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0433", + "\u0001\u0434", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0436", + "\u0001\u0437", + "\u0001\u0438", + "\u0001\u0439", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u043b", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u043d", + "\u0001\u043e", + "", + "\u0001\u043f", + "\u0001\u0440", + "", + "\u0001\u0441", + "\u0001\u0442", + "\u0001\u0443", + "\u0001\u0444", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0446", + "\u0001\u0447", + "\u0001\u0448", + "\u0001\u0449", + "\u0001\u044a", + "\u0001\u044b", + "\u0001\u044c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u044f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0451", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0454", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u0457", + "", + "", + "\u0001\u0458", + "\u0001\u0459", + "\u0001\u045a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryLexer, { + DFA19_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_eotS), + DFA19_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_eofS), + DFA19_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryLexer.DFA19_minS), + DFA19_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryLexer.DFA19_maxS), + DFA19_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_acceptS), + DFA19_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_specialS), + DFA19_transition: (function() { + var a = [], + i, + numStates = XQueryLexer.DFA19_transitionS.length; + for (i=0; i='\u0000' && LA19_470<='\uFFFF')) ) {s = 602;} + + else s = 601; + + if ( s>=0 ) return s; + break; + case 1 : + var LA19_0 = input.LA(1); + + s = -1; + if ( (LA19_0=='a') ) {s = 1;} + + else if ( (LA19_0=='b') ) {s = 2;} + + else if ( (LA19_0=='c') ) {s = 3;} + + else if ( (LA19_0=='d') ) {s = 4;} + + else if ( (LA19_0=='e') ) {s = 5;} + + else if ( (LA19_0=='f') ) {s = 6;} + + else if ( (LA19_0=='g') ) {s = 7;} + + else if ( (LA19_0=='i') ) {s = 8;} + + else if ( (LA19_0=='l') ) {s = 9;} + + else if ( (LA19_0=='m') ) {s = 10;} + + else if ( (LA19_0=='n') ) {s = 11;} + + else if ( (LA19_0=='o') ) {s = 12;} + + else if ( (LA19_0=='p') ) {s = 13;} + + else if ( (LA19_0=='r') ) {s = 14;} + + else if ( (LA19_0=='s') ) {s = 15;} + + else if ( (LA19_0=='t') ) {s = 16;} + + else if ( (LA19_0=='u') ) {s = 17;} + + else if ( (LA19_0=='v') ) {s = 18;} + + else if ( (LA19_0=='w') ) {s = 19;} + + else if ( (LA19_0=='x') ) {s = 20;} + + else if ( (LA19_0=='N') ) {s = 21;} + + else if ( (LA19_0=='z') ) {s = 22;} + + else if ( (LA19_0=='k') ) {s = 23;} + + else if ( (LA19_0=='q') ) {s = 24;} + + else if ( (LA19_0=='(') ) {s = 25;} + + else if ( (LA19_0==')') ) {s = 26;} + + else if ( (LA19_0=='$') ) {s = 27;} + + else if ( (LA19_0=='{') ) {s = 28;} + + else if ( (LA19_0=='}') ) {s = 29;} + + else if ( (LA19_0=='[') ) {s = 30;} + + else if ( (LA19_0==']') ) {s = 31;} + + else if ( (LA19_0=='=') ) {s = 32;} + + else if ( (LA19_0==':') ) {s = 33;} + + else if ( (LA19_0=='!') ) {s = 34;} + + else if ( (LA19_0=='&') ) {s = 35;} + + else if ( (LA19_0==',') ) {s = 36;} + + else if ( (LA19_0=='?') ) {s = 37;} + + else if ( (LA19_0=='*') ) {s = 38;} + + else if ( (LA19_0=='+') ) {s = 39;} + + else if ( (LA19_0=='-') ) {s = 40;} + + else if ( (LA19_0=='<') ) {s = 41;} + + else if ( (LA19_0=='>') ) {s = 42;} + + else if ( (LA19_0=='/') ) {s = 43;} + + else if ( (LA19_0=='.') ) {s = 44;} + + else if ( (LA19_0==';') ) {s = 45;} + + else if ( (LA19_0=='|') ) {s = 46;} + + else if ( (LA19_0=='#') ) {s = 47;} + + else if ( (LA19_0=='@') ) {s = 48;} + + else if ( (LA19_0=='\'') ) {s = 49;} + + else if ( (LA19_0=='\"') ) {s = 50;} + + else if ( ((LA19_0>='A' && LA19_0<='M')||(LA19_0>='O' && LA19_0<='Z')||LA19_0=='_'||LA19_0=='h'||LA19_0=='j'||LA19_0=='y') ) {s = 51;} + + else if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0=='\r'||LA19_0==' ') ) {s = 52;} + + else if ( ((LA19_0>='0' && LA19_0<='9')) ) {s = 53;} + + else if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='%'||LA19_0=='\\'||LA19_0=='^'||LA19_0=='`'||(LA19_0>='~' && LA19_0<='\uFFFF')) ) {s = 54;} + + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 19, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + +})(); + +}); +/******************************** + * Copyright (c) 2008, 2009 28msec Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Gabriel Petrovay (28msec) - initial API and implementation + * Sam Neth (Mark Logic) + *******************************************************************************/ + + +define('ace/mode/xquery/XQueryParser', ['require', 'exports', 'module' , 'ace/mode/xquery/antlr3-all'], function(require, exports, module) { +var org = require("./antlr3-all").org; + var XQueryParser = exports.XQueryParser = function(input, state) { + if (!state) { + state = new org.antlr.runtime.RecognizerSharedState(); + } + + (function(){ + }).call(this); + + XQueryParser.superclass.constructor.call(this, input, state); + + this.dfa6 = new XQueryParser.DFA6(this); + this.dfa7 = new XQueryParser.DFA7(this); + this.dfa8 = new XQueryParser.DFA8(this); + this.dfa49 = new XQueryParser.DFA49(this); + this.dfa103 = new XQueryParser.DFA103(this); + this.dfa110 = new XQueryParser.DFA110(this); + this.dfa112 = new XQueryParser.DFA112(this); + this.dfa114 = new XQueryParser.DFA114(this); + this.dfa119 = new XQueryParser.DFA119(this); + this.dfa124 = new XQueryParser.DFA124(this); + this.dfa154 = new XQueryParser.DFA154(this); + this.dfa156 = new XQueryParser.DFA156(this); + + + + /* @todo only create adaptor if output=AST */ + this.adaptor = new org.antlr.runtime.tree.CommonTreeAdaptor(); + +}; + +org.antlr.lang.augmentObject(XQueryParser, { + EOF: -1, + L_QuotAttrContentChar: 4, + L_AposAttrContentChar: 5, + L_ElementContentChar: 6, + L_CDataSection: 7, + L_PredefinedEntityRef: 8, + L_CharRef: 9, + ESCAPE_LBRACKET: 10, + ESCAPE_RBRACKET: 11, + ESCAPE_APOS: 12, + ESCAPE_QUOT: 13, + CDATA_START: 14, + CDATA_END: 15, + ANCESTOR: 16, + ANCESTOR_OR_SELF: 17, + AND: 18, + AS: 19, + ASCENDING: 20, + AT: 21, + ATTRIBUTE: 22, + BASE_URI: 23, + BOUNDARY_SPACE: 24, + BY: 25, + CASE: 26, + CAST: 27, + CASTABLE: 28, + CHILD: 29, + COLLATION: 30, + COMMENT: 31, + CONSTRUCTION: 32, + COPY_NAMESPACES: 33, + DECLARE: 34, + DEFAULT: 35, + DESCENDANT: 36, + DESCENDANT_OR_SELF: 37, + DESCENDING: 38, + DIV: 39, + DOCUMENT: 40, + DOCUMENT_NODE: 41, + ELEMENT: 42, + ELSE: 43, + EMPTY: 44, + EMPTY_SEQUENCE: 45, + ENCODING: 46, + EQ: 47, + EVERY: 48, + EXCEPT: 49, + EXTERNAL: 50, + FOLLOWING: 51, + FOLLOWING_SIBLING: 52, + FOR: 53, + FUNCTION: 54, + GE: 55, + GREATEST: 56, + GT: 57, + IDIV: 58, + IF: 59, + IMPORT: 60, + IN: 61, + INHERIT: 62, + INSTANCE: 63, + INTERSECT: 64, + IS: 65, + ITEM: 66, + LAX: 67, + LE: 68, + LEAST: 69, + LET: 70, + LT: 71, + MOD: 72, + MODULE: 73, + NAMESPACE: 74, + NE: 75, + NO_INHERIT: 76, + NO_PRESERVE: 77, + NODE: 78, + OF: 79, + OPTION: 80, + OR: 81, + ORDER: 82, + ORDERED: 83, + ORDERING: 84, + PARENT: 85, + PRECEDING: 86, + PRECEDING_SIBLING: 87, + PRESERVE: 88, + PROCESSING_INSTRUCTION: 89, + RETURN: 90, + SATISFIES: 91, + SCHEMA: 92, + SCHEMA_ATTRIBUTE: 93, + SCHEMA_ELEMENT: 94, + SELF: 95, + SOME: 96, + STABLE: 97, + STRICT: 98, + STRIP: 99, + TEXT: 100, + THEN: 101, + TO: 102, + TREAT: 103, + TYPESWITCH: 104, + UNION: 105, + UNORDERED: 106, + VALIDATE: 107, + VARIABLE: 108, + VERSION: 109, + WHERE: 110, + XQUERY: 111, + CATCH: 112, + CONTEXT: 113, + COUNT: 114, + DECIMAL_FORMAT: 115, + DECIMAL_SEPARATOR: 116, + DIGIT: 117, + END: 118, + GROUP: 119, + GROUPING_SEPARATOR: 120, + INFINITY: 121, + MINUS_SIGN: 122, + NAMESPACE_NODE: 123, + NAN: 124, + NEXT: 125, + ONLY: 126, + OUTER: 127, + PATTERN_SEPARATOR: 128, + PERCENT: 129, + PER_MILLE: 130, + PREVIOUS: 131, + SLIDING: 132, + START: 133, + TRY: 134, + TUMBLING: 135, + WHEN: 136, + WINDOW: 137, + ZERO_DIGIT: 138, + AFTER: 139, + BEFORE: 140, + COPY: 141, + DELETE: 142, + FIRST: 143, + INSERT: 144, + INTO: 145, + LAST: 146, + MODIFY: 147, + NODES: 148, + RENAME: 149, + REPLACE: 150, + REVALIDATION: 151, + SKIP: 152, + UPDATING: 153, + VALUE: 154, + WITH: 155, + BLOCK: 156, + CONSTANT: 157, + EXIT: 158, + RETURNING: 159, + SEQUENTIAL: 160, + SET: 161, + SIMPLE: 162, + WHILE: 163, + EVAL: 164, + USING: 165, + APPEND_ONLY: 166, + AUTOMATICALLY: 167, + CHECK: 168, + COLLECTION: 169, + CONSTRAINT: 170, + CONST: 171, + EQUALITY: 172, + FOREACH: 173, + FOREIGN: 174, + FROM: 175, + INDEX: 176, + INTEGRITY: 177, + KEY: 178, + MAINTAINED: 179, + MANUALLY: 180, + MUTABLE: 181, + NON: 182, + ON: 183, + QUEUE: 184, + RANGE: 185, + READ_ONLY: 186, + UNIQUE: 187, + BINARY: 188, + PRIVATE: 189, + AMP_ER: 190, + APOS_ER: 191, + QUOT_ER: 192, + LPAREN: 193, + RPAREN: 194, + DOLLAR: 195, + LBRACKET: 196, + RBRACKET: 197, + LSQUARE: 198, + RSQUARE: 199, + EQUAL: 200, + BIND: 201, + NOTEQUAL: 202, + AMP: 203, + COMMA: 204, + QUESTION: 205, + STAR: 206, + PLUS: 207, + MINUS: 208, + SMALLER: 209, + GREATER: 210, + SMALLEREQ: 211, + GREATEREQ: 212, + SMALLER_SMALLER: 213, + GREATER_GREATER: 214, + SLASH: 215, + SLASH_SLASH: 216, + DOT: 217, + DOT_DOT: 218, + COLON: 219, + COLON_COLON: 220, + EMPTY_CLOSE_TAG: 221, + CLOSE_TAG: 222, + SEMICOLON: 223, + VBAR: 224, + PRAGMA_START: 225, + PRAGMA_END: 226, + XML_COMMENT_START: 227, + XML_COMMENT_END: 228, + PI_START: 229, + PI_END: 230, + ATTR_SIGN: 231, + CHARREF_DEC: 232, + CHARREF_HEX: 233, + APOS: 234, + QUOT: 235, + NCNameStartChar: 236, + NCNameChar: 237, + L_NCName: 238, + Letter: 239, + HexLetter: 240, + Digit: 241, + Digits: 242, + S: 243, + SU: 244, + L_Pragma: 245, + L_DirCommentConstructor: 246, + L_DirPIConstructor: 247, + L_IntegerLiteral: 248, + L_DecimalLiteral: 249, + L_DoubleLiteral: 250, + L_Comment: 251, + L_AnyChar: 252, + L_QuotStringLiteralChar: 253, + L_AposStringLiteralChar: 254, + LibraryModule: 255, + MainModule: 256, + VersionDecl: 257, + VersionDeclEncoding: 258, + VersionDeclVersion: 259, + ModuleDecl: 260, + Prolog: 261, + DefaultNamespaceDecls: 262, + DefaultNamespaceDecl: 263, + Setters: 264, + Setter: 265, + NamespaceDecls: 266, + NamespaceDecl: 267, + Imports: 268, + SchemaImport: 269, + SchemaPrefix: 270, + NamespaceName: 271, + DefaultElementNamespace: 272, + AtHints: 273, + ModuleImport: 274, + BaseURIDecl: 275, + OrderedDecls: 276, + VarDecl: 277, + VarType: 278, + VarValue: 279, + VarDefaultValue: 280, + VarConstantDecl: 281, + VarVariableDecl: 282, + FunctionDecl: 283, + ParamList: 284, + ReturnType: 285, + OptionDecl: 286, + TypeDeclaration: 287, + Param: 288, + EnclosedExpr: 289, + QueryBody: 290, + UnaryExpr: 291, + DirElemConstructor: 292, + DirAttributeList: 293, + DirAttributeValue: 294, + DirElemContent: 295, + CommonContent: 296, + SequenceType: 297, + EmptySequenceTest: 298, + KindTest: 299, + ItemTest: 300, + AtomicType: 301, + StringLiteral: 302, + ElementContentChar: 303, + AttributeValueChar: 304, + QName: 305, + Block: 306, + BlockDecls: 307, + BlockVarDecl: 308, + BinaryTest: 309, + LETDOLLAR: 310, + EXPLICITLY: 311 +}); + +(function(){ +// public class variables +var EOF= -1, + L_QuotAttrContentChar= 4, + L_AposAttrContentChar= 5, + L_ElementContentChar= 6, + L_CDataSection= 7, + L_PredefinedEntityRef= 8, + L_CharRef= 9, + ESCAPE_LBRACKET= 10, + ESCAPE_RBRACKET= 11, + ESCAPE_APOS= 12, + ESCAPE_QUOT= 13, + CDATA_START= 14, + CDATA_END= 15, + ANCESTOR= 16, + ANCESTOR_OR_SELF= 17, + AND= 18, + AS= 19, + ASCENDING= 20, + AT= 21, + ATTRIBUTE= 22, + BASE_URI= 23, + BOUNDARY_SPACE= 24, + BY= 25, + CASE= 26, + CAST= 27, + CASTABLE= 28, + CHILD= 29, + COLLATION= 30, + COMMENT= 31, + CONSTRUCTION= 32, + COPY_NAMESPACES= 33, + DECLARE= 34, + DEFAULT= 35, + DESCENDANT= 36, + DESCENDANT_OR_SELF= 37, + DESCENDING= 38, + DIV= 39, + DOCUMENT= 40, + DOCUMENT_NODE= 41, + ELEMENT= 42, + ELSE= 43, + EMPTY= 44, + EMPTY_SEQUENCE= 45, + ENCODING= 46, + EQ= 47, + EVERY= 48, + EXCEPT= 49, + EXTERNAL= 50, + FOLLOWING= 51, + FOLLOWING_SIBLING= 52, + FOR= 53, + FUNCTION= 54, + GE= 55, + GREATEST= 56, + GT= 57, + IDIV= 58, + IF= 59, + IMPORT= 60, + IN= 61, + INHERIT= 62, + INSTANCE= 63, + INTERSECT= 64, + IS= 65, + ITEM= 66, + LAX= 67, + LE= 68, + LEAST= 69, + LET= 70, + LT= 71, + MOD= 72, + MODULE= 73, + NAMESPACE= 74, + NE= 75, + NO_INHERIT= 76, + NO_PRESERVE= 77, + NODE= 78, + OF= 79, + OPTION= 80, + OR= 81, + ORDER= 82, + ORDERED= 83, + ORDERING= 84, + PARENT= 85, + PRECEDING= 86, + PRECEDING_SIBLING= 87, + PRESERVE= 88, + PROCESSING_INSTRUCTION= 89, + RETURN= 90, + SATISFIES= 91, + SCHEMA= 92, + SCHEMA_ATTRIBUTE= 93, + SCHEMA_ELEMENT= 94, + SELF= 95, + SOME= 96, + STABLE= 97, + STRICT= 98, + STRIP= 99, + TEXT= 100, + THEN= 101, + TO= 102, + TREAT= 103, + TYPESWITCH= 104, + UNION= 105, + UNORDERED= 106, + VALIDATE= 107, + VARIABLE= 108, + VERSION= 109, + WHERE= 110, + XQUERY= 111, + CATCH= 112, + CONTEXT= 113, + COUNT= 114, + DECIMAL_FORMAT= 115, + DECIMAL_SEPARATOR= 116, + DIGIT= 117, + END= 118, + GROUP= 119, + GROUPING_SEPARATOR= 120, + INFINITY= 121, + MINUS_SIGN= 122, + NAMESPACE_NODE= 123, + NAN= 124, + NEXT= 125, + ONLY= 126, + OUTER= 127, + PATTERN_SEPARATOR= 128, + PERCENT= 129, + PER_MILLE= 130, + PREVIOUS= 131, + SLIDING= 132, + START= 133, + TRY= 134, + TUMBLING= 135, + WHEN= 136, + WINDOW= 137, + ZERO_DIGIT= 138, + AFTER= 139, + BEFORE= 140, + COPY= 141, + DELETE= 142, + FIRST= 143, + INSERT= 144, + INTO= 145, + LAST= 146, + MODIFY= 147, + NODES= 148, + RENAME= 149, + REPLACE= 150, + REVALIDATION= 151, + SKIP= 152, + UPDATING= 153, + VALUE= 154, + WITH= 155, + BLOCK= 156, + CONSTANT= 157, + EXIT= 158, + RETURNING= 159, + SEQUENTIAL= 160, + SET= 161, + SIMPLE= 162, + WHILE= 163, + EVAL= 164, + USING= 165, + APPEND_ONLY= 166, + AUTOMATICALLY= 167, + CHECK= 168, + COLLECTION= 169, + CONSTRAINT= 170, + CONST= 171, + EQUALITY= 172, + FOREACH= 173, + FOREIGN= 174, + FROM= 175, + INDEX= 176, + INTEGRITY= 177, + KEY= 178, + MAINTAINED= 179, + MANUALLY= 180, + MUTABLE= 181, + NON= 182, + ON= 183, + QUEUE= 184, + RANGE= 185, + READ_ONLY= 186, + UNIQUE= 187, + BINARY= 188, + PRIVATE= 189, + AMP_ER= 190, + APOS_ER= 191, + QUOT_ER= 192, + LPAREN= 193, + RPAREN= 194, + DOLLAR= 195, + LBRACKET= 196, + RBRACKET= 197, + LSQUARE= 198, + RSQUARE= 199, + EQUAL= 200, + BIND= 201, + NOTEQUAL= 202, + AMP= 203, + COMMA= 204, + QUESTION= 205, + STAR= 206, + PLUS= 207, + MINUS= 208, + SMALLER= 209, + GREATER= 210, + SMALLEREQ= 211, + GREATEREQ= 212, + SMALLER_SMALLER= 213, + GREATER_GREATER= 214, + SLASH= 215, + SLASH_SLASH= 216, + DOT= 217, + DOT_DOT= 218, + COLON= 219, + COLON_COLON= 220, + EMPTY_CLOSE_TAG= 221, + CLOSE_TAG= 222, + SEMICOLON= 223, + VBAR= 224, + PRAGMA_START= 225, + PRAGMA_END= 226, + XML_COMMENT_START= 227, + XML_COMMENT_END= 228, + PI_START= 229, + PI_END= 230, + ATTR_SIGN= 231, + CHARREF_DEC= 232, + CHARREF_HEX= 233, + APOS= 234, + QUOT= 235, + NCNameStartChar= 236, + NCNameChar= 237, + L_NCName= 238, + Letter= 239, + HexLetter= 240, + Digit= 241, + Digits= 242, + S= 243, + SU= 244, + L_Pragma= 245, + L_DirCommentConstructor= 246, + L_DirPIConstructor= 247, + L_IntegerLiteral= 248, + L_DecimalLiteral= 249, + L_DoubleLiteral= 250, + L_Comment= 251, + L_AnyChar= 252, + L_QuotStringLiteralChar= 253, + L_AposStringLiteralChar= 254, + LibraryModule= 255, + MainModule= 256, + VersionDecl= 257, + VersionDeclEncoding= 258, + VersionDeclVersion= 259, + ModuleDecl= 260, + Prolog= 261, + DefaultNamespaceDecls= 262, + DefaultNamespaceDecl= 263, + Setters= 264, + Setter= 265, + NamespaceDecls= 266, + NamespaceDecl= 267, + Imports= 268, + SchemaImport= 269, + SchemaPrefix= 270, + NamespaceName= 271, + DefaultElementNamespace= 272, + AtHints= 273, + ModuleImport= 274, + BaseURIDecl= 275, + OrderedDecls= 276, + VarDecl= 277, + VarType= 278, + VarValue= 279, + VarDefaultValue= 280, + VarConstantDecl= 281, + VarVariableDecl= 282, + FunctionDecl= 283, + ParamList= 284, + ReturnType= 285, + OptionDecl= 286, + TypeDeclaration= 287, + Param= 288, + EnclosedExpr= 289, + QueryBody= 290, + UnaryExpr= 291, + DirElemConstructor= 292, + DirAttributeList= 293, + DirAttributeValue= 294, + DirElemContent= 295, + CommonContent= 296, + SequenceType= 297, + EmptySequenceTest= 298, + KindTest= 299, + ItemTest= 300, + AtomicType= 301, + StringLiteral= 302, + ElementContentChar= 303, + AttributeValueChar= 304, + QName= 305, + Block= 306, + BlockDecls= 307, + BlockVarDecl= 308, + BinaryTest= 309, + LETDOLLAR= 310, + EXPLICITLY= 311; + +// public instance methods/vars +org.antlr.lang.extend(XQueryParser, org.antlr.runtime.Parser, { + + setTreeAdaptor: function(adaptor) { + this.adaptor = adaptor; + }, + getTreeAdaptor: function() { + return this.adaptor; + }, + + getTokenNames: function() { return XQueryParser.tokenNames; }, + getGrammarFileName: function() { return "XQueryParser.g"; } +}); +org.antlr.lang.augmentObject(XQueryParser.prototype, { + + // inline static return class + p_Module_return: (function() { + XQueryParser.p_Module_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Module_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:119:1: p_Module : (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF ; + // $ANTLR start "p_Module" + p_Module: function() { + var retval = new XQueryParser.p_Module_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EOF1 = null; + var vd = null; + var lm = null; + var mm = null; + + var EOF1_tree=null; + var stream_EOF=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EOF"); + var stream_p_VersionDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_VersionDecl"); + var stream_p_LibraryModule=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_LibraryModule"); + var stream_p_MainModule=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_MainModule"); + try { + // XQueryParser.g:120:9: ( (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF ) + // XQueryParser.g:120:11: (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF + // XQueryParser.g:120:13: (vd= p_VersionDecl )? + var alt1=2; + var LA1_0 = this.input.LA(1); + + if ( (LA1_0==XQUERY) ) { + var LA1_1 = this.input.LA(2); + + if ( (LA1_1==ENCODING||LA1_1==VERSION) ) { + alt1=1; + } + } + switch (alt1) { + case 1 : + // XQueryParser.g:120:13: vd= p_VersionDecl + this.pushFollow(XQueryParser.FOLLOW_p_VersionDecl_in_p_Module523); + vd=this.p_VersionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VersionDecl.add(vd.getTree()); + + + break; + + } + + // XQueryParser.g:121:13: (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( (LA2_0==MODULE) ) { + var LA2_1 = this.input.LA(2); + + if ( (LA2_1==NAMESPACE) ) { + alt2=1; + } + else if ( (LA2_1==EOF||LA2_1==AND||(LA2_1>=CAST && LA2_1<=CASTABLE)||LA2_1==DIV||LA2_1==EQ||LA2_1==EXCEPT||LA2_1==GE||(LA2_1>=GT && LA2_1<=IDIV)||(LA2_1>=INSTANCE && LA2_1<=IS)||LA2_1==LE||(LA2_1>=LT && LA2_1<=MOD)||LA2_1==NE||LA2_1==OR||(LA2_1>=TO && LA2_1<=TREAT)||LA2_1==UNION||LA2_1==LPAREN||LA2_1==LSQUARE||LA2_1==EQUAL||LA2_1==NOTEQUAL||LA2_1==COMMA||(LA2_1>=STAR && LA2_1<=SLASH_SLASH)||LA2_1==COLON||(LA2_1>=SEMICOLON && LA2_1<=VBAR)) ) { + alt2=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 2, 1, this.input); + + throw nvae; + } + } + else if ( ((LA2_0>=ANCESTOR && LA2_0<=MOD)||(LA2_0>=NAMESPACE && LA2_0<=EXIT)||(LA2_0>=SEQUENTIAL && LA2_0<=MAINTAINED)||(LA2_0>=MUTABLE && LA2_0<=LPAREN)||LA2_0==DOLLAR||(LA2_0>=STAR && LA2_0<=SMALLER)||(LA2_0>=SLASH && LA2_0<=DOT_DOT)||LA2_0==ATTR_SIGN||(LA2_0>=APOS && LA2_0<=QUOT)||LA2_0==L_NCName||(LA2_0>=L_Pragma && LA2_0<=L_DoubleLiteral)||(LA2_0>=LETDOLLAR && LA2_0<=EXPLICITLY)) ) { + alt2=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 2, 0, this.input); + + throw nvae; + } + switch (alt2) { + case 1 : + // XQueryParser.g:122:17: lm= p_LibraryModule[$vd.tree] + this.pushFollow(XQueryParser.FOLLOW_p_LibraryModule_in_p_Module558); + lm=this.p_LibraryModule((vd?vd.tree:null)); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_LibraryModule.add(lm.getTree()); + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 122:49: -> + { + this.adaptor.addChild(root_0, (lm?lm.tree:null)); + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:123:15: mm= p_MainModule[$vd.tree] + this.pushFollow(XQueryParser.FOLLOW_p_MainModule_in_p_Module584); + mm=this.p_MainModule((vd?vd.tree:null)); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_MainModule.add(mm.getTree()); + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 123:49: -> + { + this.adaptor.addChild(root_0, (mm?mm.tree:null)); + + } + + retval.tree = root_0;} + + break; + + } + + EOF1=this.match(this.input,EOF,XQueryParser.FOLLOW_EOF_in_p_Module613); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EOF.add(EOF1); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VersionDecl_return: (function() { + XQueryParser.p_VersionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VersionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:128:1: p_VersionDecl : k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) ; + // $ANTLR start "p_VersionDecl" + p_VersionDecl: function() { + var retval = new XQueryParser.p_VersionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON2 = null; + var k = null; + var list_k=null; + var enc = null; + var ver = null; + + var SEMICOLON2_tree=null; + var k_tree=null; + var stream_ENCODING=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ENCODING"); + var stream_VERSION=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token VERSION"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_XQUERY=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token XQUERY"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:129:9: (k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) ) + // XQueryParser.g:129:11: k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON + k=this.match(this.input,XQUERY,XQueryParser.FOLLOW_XQUERY_in_p_VersionDecl641); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_XQUERY.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:129:21: ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( (LA4_0==ENCODING) ) { + alt4=1; + } + else if ( (LA4_0==VERSION) ) { + alt4=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 4, 0, this.input); + + throw nvae; + } + switch (alt4) { + case 1 : + // XQueryParser.g:129:22: (k+= ENCODING enc= p_StringLiteral ) + // XQueryParser.g:129:22: (k+= ENCODING enc= p_StringLiteral ) + // XQueryParser.g:129:23: k+= ENCODING enc= p_StringLiteral + k=this.match(this.input,ENCODING,XQueryParser.FOLLOW_ENCODING_in_p_VersionDecl647); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ENCODING.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl651); + enc=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(enc.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:130:13: (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) + // XQueryParser.g:130:13: (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) + // XQueryParser.g:130:14: k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? + k=this.match(this.input,VERSION,XQueryParser.FOLLOW_VERSION_in_p_VersionDecl672); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_VERSION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl676); + ver=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ver.getTree()); + // XQueryParser.g:130:46: (k+= ENCODING enc= p_StringLiteral )? + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( (LA3_0==ENCODING) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // XQueryParser.g:130:47: k+= ENCODING enc= p_StringLiteral + k=this.match(this.input,ENCODING,XQueryParser.FOLLOW_ENCODING_in_p_VersionDecl682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ENCODING.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl686); + enc=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(enc.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON2=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_VersionDecl692); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON2); + + + + // AST REWRITE + // elements: enc, ver + // token labels: + // rule labels: retval, ver, enc + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_ver=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ver",ver!=null?ver.tree:null); + var stream_enc=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token enc",enc!=null?enc.tree:null); + + root_0 = this.adaptor.nil(); + // 131:17: -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) + { + // XQueryParser.g:131:20: ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(VersionDecl, "VersionDecl"), root_1); + + // XQueryParser.g:131:34: ^( VersionDeclVersion ( $ver)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VersionDeclVersion, "VersionDeclVersion"), root_2); + + // XQueryParser.g:131:55: ( $ver)? + if ( stream_ver.hasNext() ) { + this.adaptor.addChild(root_2, stream_ver.nextTree()); + + } + stream_ver.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:131:62: ^( VersionDeclEncoding ( $enc)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VersionDeclEncoding, "VersionDeclEncoding"), root_2); + + // XQueryParser.g:131:84: ( $enc)? + if ( stream_enc.hasNext() ) { + this.adaptor.addChild(root_2, stream_enc.nextTree()); + + } + stream_enc.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_MainModule_return: (function() { + XQueryParser.p_MainModule_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_MainModule_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:135:1: p_MainModule[vd] : pm_Prolog p_QueryBody -> ^( MainModule pm_Prolog p_QueryBody ) ; + // $ANTLR start "p_MainModule" + p_MainModule: function(vd) { + var retval = new XQueryParser.p_MainModule_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Prolog3 = null; + var p_QueryBody4 = null; + + var stream_p_QueryBody=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QueryBody"); + var stream_pm_Prolog=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Prolog"); + try { + // XQueryParser.g:136:9: ( pm_Prolog p_QueryBody -> ^( MainModule pm_Prolog p_QueryBody ) ) + // XQueryParser.g:136:11: pm_Prolog p_QueryBody + this.pushFollow(XQueryParser.FOLLOW_pm_Prolog_in_p_MainModule758); + pm_Prolog3=this.pm_Prolog(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Prolog.add(pm_Prolog3.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_QueryBody_in_p_MainModule760); + p_QueryBody4=this.p_QueryBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QueryBody.add(p_QueryBody4.getTree()); + + + // AST REWRITE + // elements: pm_Prolog, p_QueryBody + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 137:17: -> ^( MainModule pm_Prolog p_QueryBody ) + { + // XQueryParser.g:137:20: ^( MainModule pm_Prolog p_QueryBody ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(MainModule, "MainModule"), root_1); + + this.adaptor.addChild(root_1, vd); + this.adaptor.addChild(root_1, stream_pm_Prolog.nextTree()); + this.adaptor.addChild(root_1, stream_p_QueryBody.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LibraryModule_return: (function() { + XQueryParser.p_LibraryModule_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LibraryModule_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:141:1: p_LibraryModule[vd] : p_ModuleDecl pm_Prolog -> ^( LibraryModule p_ModuleDecl pm_Prolog ) ; + // $ANTLR start "p_LibraryModule" + p_LibraryModule: function(vd) { + var retval = new XQueryParser.p_LibraryModule_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ModuleDecl5 = null; + var pm_Prolog6 = null; + + var stream_pm_Prolog=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Prolog"); + var stream_p_ModuleDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ModuleDecl"); + try { + // XQueryParser.g:142:9: ( p_ModuleDecl pm_Prolog -> ^( LibraryModule p_ModuleDecl pm_Prolog ) ) + // XQueryParser.g:142:11: p_ModuleDecl pm_Prolog + this.pushFollow(XQueryParser.FOLLOW_p_ModuleDecl_in_p_LibraryModule816); + p_ModuleDecl5=this.p_ModuleDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ModuleDecl.add(p_ModuleDecl5.getTree()); + this.pushFollow(XQueryParser.FOLLOW_pm_Prolog_in_p_LibraryModule818); + pm_Prolog6=this.pm_Prolog(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Prolog.add(pm_Prolog6.getTree()); + + + // AST REWRITE + // elements: p_ModuleDecl, pm_Prolog + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 143:17: -> ^( LibraryModule p_ModuleDecl pm_Prolog ) + { + // XQueryParser.g:143:20: ^( LibraryModule p_ModuleDecl pm_Prolog ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(LibraryModule, "LibraryModule"), root_1); + + this.adaptor.addChild(root_1, vd); + this.adaptor.addChild(root_1, stream_p_ModuleDecl.nextTree()); + this.adaptor.addChild(root_1, stream_pm_Prolog.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ModuleDecl_return: (function() { + XQueryParser.p_ModuleDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ModuleDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:147:1: p_ModuleDecl : k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON -> ^( ModuleDecl p_NCName p_StringLiteral ) ; + // $ANTLR start "p_ModuleDecl" + p_ModuleDecl: function() { + var retval = new XQueryParser.p_ModuleDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL8 = null; + var SEMICOLON10 = null; + var k = null; + var list_k=null; + var p_NCName7 = null; + var p_StringLiteral9 = null; + + var EQUAL8_tree=null; + var SEMICOLON10_tree=null; + var k_tree=null; + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_MODULE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MODULE"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:148:9: (k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON -> ^( ModuleDecl p_NCName p_StringLiteral ) ) + // XQueryParser.g:148:11: k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON + k=this.match(this.input,MODULE,XQueryParser.FOLLOW_MODULE_in_p_ModuleDecl874); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MODULE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_ModuleDecl878); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_ModuleDecl880); + p_NCName7=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(p_NCName7.getTree()); + EQUAL8=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_ModuleDecl882); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL8); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_ModuleDecl884); + p_StringLiteral9=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(p_StringLiteral9.getTree()); + SEMICOLON10=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_ModuleDecl886); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON10); + + + + // AST REWRITE + // elements: p_StringLiteral, p_NCName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 149:17: -> ^( ModuleDecl p_NCName p_StringLiteral ) + { + // XQueryParser.g:149:21: ^( ModuleDecl p_NCName p_StringLiteral ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ModuleDecl, "ModuleDecl"), root_1); + + this.adaptor.addChild(root_1, stream_p_NCName.nextTree()); + this.adaptor.addChild(root_1, stream_p_StringLiteral.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_Prolog_return: (function() { + XQueryParser.pm_Prolog_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_Prolog_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:155:1: pm_Prolog : ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) ; + // $ANTLR start "pm_Prolog" + pm_Prolog: function() { + var retval = new XQueryParser.pm_Prolog_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var list_dnd=null; + var list_s=null; + var list_nd=null; + var list_i=null; + var od = null; + var dnd = null; + var s = null; + var nd = null; + var i = null; + var stream_pm_NamespaceDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_NamespaceDecl"); + var stream_p_Import=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Import"); + var stream_p_Setter=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Setter"); + var stream_pm_DefaultNamespaceDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_DefaultNamespaceDecl"); + var stream_pg_OrderedDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pg_OrderedDecl"); + try { + // XQueryParser.g:156:9: ( ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) ) + // XQueryParser.g:156:11: ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl + // XQueryParser.g:156:11: ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* + loop6: + do { + var alt6=2; + alt6 = this.dfa6.predict(this.input); + switch (alt6) { + case 1 : + // XQueryParser.g:156:12: (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) + // XQueryParser.g:156:12: (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) + var alt5=4; + var LA5_0 = this.input.LA(1); + + if ( (LA5_0==DECLARE) ) { + var LA5_1 = this.input.LA(2); + + if ( (LA5_1==DEFAULT) ) { + var LA5_3 = this.input.LA(3); + + if ( (LA5_3==COLLATION||LA5_3==ORDER) ) { + alt5=2; + } + else if ( (LA5_3==ELEMENT||LA5_3==FUNCTION) ) { + alt5=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 3, this.input); + + throw nvae; + } + } + else if ( ((LA5_1>=BASE_URI && LA5_1<=BOUNDARY_SPACE)||LA5_1==CONSTRUCTION||LA5_1==ORDERING) ) { + alt5=2; + } + else if ( (LA5_1==REVALIDATION) && ((true))) { + alt5=2; + } + else if ( (LA5_1==COPY_NAMESPACES) ) { + alt5=2; + } + else if ( (LA5_1==NAMESPACE) ) { + alt5=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 1, this.input); + + throw nvae; + } + } + else if ( (LA5_0==IMPORT) ) { + alt5=4; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 0, this.input); + + throw nvae; + } + switch (alt5) { + case 1 : + // XQueryParser.g:156:13: dnd+= pm_DefaultNamespaceDecl + this.pushFollow(XQueryParser.FOLLOW_pm_DefaultNamespaceDecl_in_pm_Prolog945); + dnd=this.pm_DefaultNamespaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_DefaultNamespaceDecl.add(dnd.getTree()); + if (org.antlr.lang.isNull(list_dnd)) list_dnd = []; + list_dnd.push(dnd.getTree()); + + + + break; + case 2 : + // XQueryParser.g:156:44: s+= p_Setter + this.pushFollow(XQueryParser.FOLLOW_p_Setter_in_pm_Prolog951); + s=this.p_Setter(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Setter.add(s.getTree()); + if (org.antlr.lang.isNull(list_s)) list_s = []; + list_s.push(s.getTree()); + + + + break; + case 3 : + // XQueryParser.g:156:58: nd+= pm_NamespaceDecl + this.pushFollow(XQueryParser.FOLLOW_pm_NamespaceDecl_in_pm_Prolog957); + nd=this.pm_NamespaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_NamespaceDecl.add(nd.getTree()); + if (org.antlr.lang.isNull(list_nd)) list_nd = []; + list_nd.push(nd.getTree()); + + + + break; + case 4 : + // XQueryParser.g:156:81: i+= p_Import + this.pushFollow(XQueryParser.FOLLOW_p_Import_in_pm_Prolog963); + i=this.p_Import(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Import.add(i.getTree()); + if (org.antlr.lang.isNull(list_i)) list_i = []; + list_i.push(i.getTree()); + + + + break; + + } + + + + break; + + default : + break loop6; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_pg_OrderedDecl_in_pm_Prolog970); + od=this.pg_OrderedDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pg_OrderedDecl.add(od.getTree()); + + + // AST REWRITE + // elements: s, i, nd, od, dnd + // token labels: + // rule labels: retval, od + // token list labels: + // rule list labels: s, nd, dnd, i + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_od=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token od",od!=null?od.tree:null); + var stream_s=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token s",list_s); + var stream_nd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nd",list_nd); + var stream_dnd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token dnd",list_dnd); + var stream_i=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token i",list_i); + root_0 = this.adaptor.nil(); + // 157:17: -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) + { + // XQueryParser.g:157:21: ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Prolog, "Prolog"), root_1); + + // XQueryParser.g:158:33: ^( DefaultNamespaceDecls ( $dnd)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DefaultNamespaceDecls, "DefaultNamespaceDecls"), root_2); + + // XQueryParser.g:158:57: ( $dnd)* + while ( stream_dnd.hasNext() ) { + this.adaptor.addChild(root_2, stream_dnd.nextTree()); + + } + stream_dnd.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:159:33: ^( Setters ( $s)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(Setters, "Setters"), root_2); + + // XQueryParser.g:159:43: ( $s)* + while ( stream_s.hasNext() ) { + this.adaptor.addChild(root_2, stream_s.nextTree()); + + } + stream_s.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:160:33: ^( NamespaceDecls ( $nd)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceDecls, "NamespaceDecls"), root_2); + + // XQueryParser.g:160:50: ( $nd)* + while ( stream_nd.hasNext() ) { + this.adaptor.addChild(root_2, stream_nd.nextTree()); + + } + stream_nd.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:161:33: ^( Imports ( $i)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(Imports, "Imports"), root_2); + + // XQueryParser.g:161:43: ( $i)* + while ( stream_i.hasNext() ) { + this.adaptor.addChild(root_2, stream_i.nextTree()); + + } + stream_i.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:162:33: ^( OrderedDecls ( $od)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(OrderedDecls, "OrderedDecls"), root_2); + + // XQueryParser.g:162:48: ( $od)* + while ( stream_od.hasNext() ) { + this.adaptor.addChild(root_2, stream_od.nextTree()); + + } + stream_od.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_OrderedDecl_return: (function() { + XQueryParser.pg_OrderedDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_OrderedDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:170:1: pg_OrderedDecl : ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* ; + // $ANTLR start "pg_OrderedDecl" + pg_OrderedDecl: function() { + var retval = new XQueryParser.pg_OrderedDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_VarDecl11 = null; + var pm_ContextItemDecl12 = null; + var pm_FunctionDecl13 = null; + var pm_OptionDecl14 = null; + var p_CollectionDecl15 = null; + var p_IndexDecl16 = null; + var p_ICDecl17 = null; + + + try { + // XQueryParser.g:171:9: ( ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* ) + // XQueryParser.g:171:11: ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:171:11: ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* + loop7: + do { + var alt7=8; + alt7 = this.dfa7.predict(this.input); + switch (alt7) { + case 1 : + // XQueryParser.g:171:12: pm_VarDecl + this.pushFollow(XQueryParser.FOLLOW_pm_VarDecl_in_pg_OrderedDecl1248); + pm_VarDecl11=this.pm_VarDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_VarDecl11.getTree()); + + + break; + case 2 : + // XQueryParser.g:171:25: pm_ContextItemDecl + this.pushFollow(XQueryParser.FOLLOW_pm_ContextItemDecl_in_pg_OrderedDecl1252); + pm_ContextItemDecl12=this.pm_ContextItemDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ContextItemDecl12.getTree()); + + + break; + case 3 : + // XQueryParser.g:171:46: pm_FunctionDecl + this.pushFollow(XQueryParser.FOLLOW_pm_FunctionDecl_in_pg_OrderedDecl1256); + pm_FunctionDecl13=this.pm_FunctionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_FunctionDecl13.getTree()); + + + break; + case 4 : + // XQueryParser.g:171:64: pm_OptionDecl + this.pushFollow(XQueryParser.FOLLOW_pm_OptionDecl_in_pg_OrderedDecl1260); + pm_OptionDecl14=this.pm_OptionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_OptionDecl14.getTree()); + + + break; + case 5 : + // XQueryParser.g:172:11: {...}? => p_CollectionDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_CollectionDecl_in_pg_OrderedDecl1275); + p_CollectionDecl15=this.p_CollectionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollectionDecl15.getTree()); + + + break; + case 6 : + // XQueryParser.g:173:11: {...}? => p_IndexDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_IndexDecl_in_pg_OrderedDecl1290); + p_IndexDecl16=this.p_IndexDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexDecl16.getTree()); + + + break; + case 7 : + // XQueryParser.g:174:11: {...}? => p_ICDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICDecl_in_pg_OrderedDecl1305); + p_ICDecl17=this.p_ICDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICDecl17.getTree()); + + + break; + + default : + break loop7; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Setter_return: (function() { + XQueryParser.p_Setter_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Setter_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:179:1: p_Setter : ( pm_BoundarySpaceDecl | pm_DefaultCollationDecl | pm_BaseURIDecl | pm_ConstructionDecl | pm_OrderingModeDecl | pm_EmptyOrderDecl | {...}? => pm_RevalidationDecl | pm_CopyNamespacesDecl ); + // $ANTLR start "p_Setter" + p_Setter: function() { + var retval = new XQueryParser.p_Setter_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_BoundarySpaceDecl18 = null; + var pm_DefaultCollationDecl19 = null; + var pm_BaseURIDecl20 = null; + var pm_ConstructionDecl21 = null; + var pm_OrderingModeDecl22 = null; + var pm_EmptyOrderDecl23 = null; + var pm_RevalidationDecl24 = null; + var pm_CopyNamespacesDecl25 = null; + + + try { + // XQueryParser.g:180:9: ( pm_BoundarySpaceDecl | pm_DefaultCollationDecl | pm_BaseURIDecl | pm_ConstructionDecl | pm_OrderingModeDecl | pm_EmptyOrderDecl | {...}? => pm_RevalidationDecl | pm_CopyNamespacesDecl ) + var alt8=8; + alt8 = this.dfa8.predict(this.input); + switch (alt8) { + case 1 : + // XQueryParser.g:180:11: pm_BoundarySpaceDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_BoundarySpaceDecl_in_p_Setter1334); + pm_BoundarySpaceDecl18=this.pm_BoundarySpaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_BoundarySpaceDecl18.getTree()); + + + break; + case 2 : + // XQueryParser.g:181:11: pm_DefaultCollationDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_DefaultCollationDecl_in_p_Setter1346); + pm_DefaultCollationDecl19=this.pm_DefaultCollationDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_DefaultCollationDecl19.getTree()); + + + break; + case 3 : + // XQueryParser.g:182:11: pm_BaseURIDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_BaseURIDecl_in_p_Setter1358); + pm_BaseURIDecl20=this.pm_BaseURIDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_BaseURIDecl20.getTree()); + + + break; + case 4 : + // XQueryParser.g:183:11: pm_ConstructionDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_ConstructionDecl_in_p_Setter1370); + pm_ConstructionDecl21=this.pm_ConstructionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ConstructionDecl21.getTree()); + + + break; + case 5 : + // XQueryParser.g:184:11: pm_OrderingModeDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_OrderingModeDecl_in_p_Setter1382); + pm_OrderingModeDecl22=this.pm_OrderingModeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_OrderingModeDecl22.getTree()); + + + break; + case 6 : + // XQueryParser.g:185:11: pm_EmptyOrderDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_EmptyOrderDecl_in_p_Setter1394); + pm_EmptyOrderDecl23=this.pm_EmptyOrderDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_EmptyOrderDecl23.getTree()); + + + break; + case 7 : + // XQueryParser.g:186:11: {...}? => pm_RevalidationDecl + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_Setter", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_pm_RevalidationDecl_in_p_Setter1409); + pm_RevalidationDecl24=this.pm_RevalidationDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_RevalidationDecl24.getTree()); + + + break; + case 8 : + // XQueryParser.g:187:11: pm_CopyNamespacesDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_CopyNamespacesDecl_in_p_Setter1421); + pm_CopyNamespacesDecl25=this.pm_CopyNamespacesDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_CopyNamespacesDecl25.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Import_return: (function() { + XQueryParser.p_Import_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Import_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:191:1: p_Import : ( pm_SchemaImport | pm_ModuleImport ); + // $ANTLR start "p_Import" + p_Import: function() { + var retval = new XQueryParser.p_Import_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_SchemaImport26 = null; + var pm_ModuleImport27 = null; + + + try { + // XQueryParser.g:192:9: ( pm_SchemaImport | pm_ModuleImport ) + var alt9=2; + var LA9_0 = this.input.LA(1); + + if ( (LA9_0==IMPORT) ) { + var LA9_1 = this.input.LA(2); + + if ( (LA9_1==SCHEMA) ) { + alt9=1; + } + else if ( (LA9_1==MODULE) ) { + alt9=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 9, 1, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 9, 0, this.input); + + throw nvae; + } + switch (alt9) { + case 1 : + // XQueryParser.g:192:11: pm_SchemaImport + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_SchemaImport_in_p_Import1447); + pm_SchemaImport26=this.pm_SchemaImport(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_SchemaImport26.getTree()); + + + break; + case 2 : + // XQueryParser.g:192:29: pm_ModuleImport + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_ModuleImport_in_p_Import1451); + pm_ModuleImport27=this.pm_ModuleImport(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ModuleImport27.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_NamespaceDecl_return: (function() { + XQueryParser.pm_NamespaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_NamespaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:199:1: pm_NamespaceDecl : k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON -> ^( NamespaceDecl $nn $us) ; + // $ANTLR start "pm_NamespaceDecl" + pm_NamespaceDecl: function() { + var retval = new XQueryParser.pm_NamespaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL28 = null; + var SEMICOLON29 = null; + var k = null; + var list_k=null; + var nn = null; + var us = null; + + var EQUAL28_tree=null; + var SEMICOLON29_tree=null; + var k_tree=null; + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:200:9: (k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON -> ^( NamespaceDecl $nn $us) ) + // XQueryParser.g:200:11: k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_NamespaceDecl1482); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_NamespaceDecl1486); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_pm_NamespaceDecl1490); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL28=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_pm_NamespaceDecl1492); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL28); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_NamespaceDecl1496); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + SEMICOLON29=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_NamespaceDecl1498); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON29); + + + + // AST REWRITE + // elements: us, nn + // token labels: + // rule labels: retval, nn, us + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + + root_0 = this.adaptor.nil(); + // 201:17: -> ^( NamespaceDecl $nn $us) + { + // XQueryParser.g:201:20: ^( NamespaceDecl $nn $us) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceDecl, "NamespaceDecl"), root_1); + + this.adaptor.addChild(root_1, stream_nn.nextTree()); + this.adaptor.addChild(root_1, stream_us.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BoundarySpaceDecl_return: (function() { + XQueryParser.pm_BoundarySpaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BoundarySpaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:205:1: pm_BoundarySpaceDecl : k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON ; + // $ANTLR start "pm_BoundarySpaceDecl" + pm_BoundarySpaceDecl: function() { + var retval = new XQueryParser.pm_BoundarySpaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON30 = null; + var k = null; + var list_k=null; + + var SEMICOLON30_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:206:9: (k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON ) + // XQueryParser.g:206:13: k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BoundarySpaceDecl1561); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BOUNDARY_SPACE,XQueryParser.FOLLOW_BOUNDARY_SPACE_in_pm_BoundarySpaceDecl1565); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:206:42: (k+= PRESERVE | k+= STRIP ) + var alt10=2; + var LA10_0 = this.input.LA(1); + + if ( (LA10_0==PRESERVE) ) { + alt10=1; + } + else if ( (LA10_0==STRIP) ) { + alt10=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 10, 0, this.input); + + throw nvae; + } + switch (alt10) { + case 1 : + // XQueryParser.g:206:43: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_pm_BoundarySpaceDecl1570); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:206:57: k+= STRIP + k=this.match(this.input,STRIP,XQueryParser.FOLLOW_STRIP_in_pm_BoundarySpaceDecl1576); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON30=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BoundarySpaceDecl1579); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON30_tree = this.adaptor.create(SEMICOLON30); + this.adaptor.addChild(root_0, SEMICOLON30_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DefaultNamespaceDecl_return: (function() { + XQueryParser.pm_DefaultNamespaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DefaultNamespaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:210:1: pm_DefaultNamespaceDecl : k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_DefaultNamespaceDecl" + pm_DefaultNamespaceDecl: function() { + var retval = new XQueryParser.pm_DefaultNamespaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON32 = null; + var k = null; + var list_k=null; + var p_StringLiteral31 = null; + + var SEMICOLON32_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:211:9: (k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON ) + // XQueryParser.g:211:11: k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_DefaultNamespaceDecl1607); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_DefaultNamespaceDecl1611); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:211:33: (k+= ELEMENT | k+= FUNCTION ) + var alt11=2; + var LA11_0 = this.input.LA(1); + + if ( (LA11_0==ELEMENT) ) { + alt11=1; + } + else if ( (LA11_0==FUNCTION) ) { + alt11=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 11, 0, this.input); + + throw nvae; + } + switch (alt11) { + case 1 : + // XQueryParser.g:211:34: k+= ELEMENT + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_pm_DefaultNamespaceDecl1616); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:211:47: k+= FUNCTION + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_DefaultNamespaceDecl1622); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_DefaultNamespaceDecl1627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_DefaultNamespaceDecl1629); + p_StringLiteral31=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral31.getTree()); + SEMICOLON32=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_DefaultNamespaceDecl1631); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON32_tree = this.adaptor.create(SEMICOLON32); + this.adaptor.addChild(root_0, SEMICOLON32_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_OptionDecl_return: (function() { + XQueryParser.pm_OptionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_OptionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:215:1: pm_OptionDecl : k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_OptionDecl" + pm_OptionDecl: function() { + var retval = new XQueryParser.pm_OptionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON35 = null; + var k = null; + var list_k=null; + var p_QName33 = null; + var p_StringLiteral34 = null; + + var SEMICOLON35_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:216:9: (k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON ) + // XQueryParser.g:216:13: k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_OptionDecl1662); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,OPTION,XQueryParser.FOLLOW_OPTION_in_pm_OptionDecl1666); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_OptionDecl1668); + p_QName33=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName33.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_OptionDecl1670); + p_StringLiteral34=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral34.getTree()); + SEMICOLON35=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_OptionDecl1672); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON35_tree = this.adaptor.create(SEMICOLON35); + this.adaptor.addChild(root_0, SEMICOLON35_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_OrderingModeDecl_return: (function() { + XQueryParser.pm_OrderingModeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_OrderingModeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:220:1: pm_OrderingModeDecl : k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON ; + // $ANTLR start "pm_OrderingModeDecl" + pm_OrderingModeDecl: function() { + var retval = new XQueryParser.pm_OrderingModeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON36 = null; + var k = null; + var list_k=null; + + var SEMICOLON36_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:221:9: (k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON ) + // XQueryParser.g:221:13: k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_OrderingModeDecl1703); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDERING,XQueryParser.FOLLOW_ORDERING_in_pm_OrderingModeDecl1707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:221:36: (k+= ORDERED | k+= UNORDERED ) + var alt12=2; + var LA12_0 = this.input.LA(1); + + if ( (LA12_0==ORDERED) ) { + alt12=1; + } + else if ( (LA12_0==UNORDERED) ) { + alt12=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 12, 0, this.input); + + throw nvae; + } + switch (alt12) { + case 1 : + // XQueryParser.g:221:37: k+= ORDERED + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_pm_OrderingModeDecl1712); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:221:50: k+= UNORDERED + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_pm_OrderingModeDecl1718); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON36=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_OrderingModeDecl1721); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON36_tree = this.adaptor.create(SEMICOLON36); + this.adaptor.addChild(root_0, SEMICOLON36_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_EmptyOrderDecl_return: (function() { + XQueryParser.pm_EmptyOrderDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_EmptyOrderDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:225:1: pm_EmptyOrderDecl : k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON ; + // $ANTLR start "pm_EmptyOrderDecl" + pm_EmptyOrderDecl: function() { + var retval = new XQueryParser.pm_EmptyOrderDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON37 = null; + var k = null; + var list_k=null; + + var SEMICOLON37_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:226:9: (k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON ) + // XQueryParser.g:226:13: k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_EmptyOrderDecl1752); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_EmptyOrderDecl1756); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_pm_EmptyOrderDecl1760); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,EMPTY,XQueryParser.FOLLOW_EMPTY_in_pm_EmptyOrderDecl1764); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:226:53: (k+= GREATEST | k+= LEAST ) + var alt13=2; + var LA13_0 = this.input.LA(1); + + if ( (LA13_0==GREATEST) ) { + alt13=1; + } + else if ( (LA13_0==LEAST) ) { + alt13=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 13, 0, this.input); + + throw nvae; + } + switch (alt13) { + case 1 : + // XQueryParser.g:226:54: k+= GREATEST + k=this.match(this.input,GREATEST,XQueryParser.FOLLOW_GREATEST_in_pm_EmptyOrderDecl1769); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:226:68: k+= LEAST + k=this.match(this.input,LEAST,XQueryParser.FOLLOW_LEAST_in_pm_EmptyOrderDecl1775); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON37=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_EmptyOrderDecl1778); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON37_tree = this.adaptor.create(SEMICOLON37); + this.adaptor.addChild(root_0, SEMICOLON37_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_CopyNamespacesDecl_return: (function() { + XQueryParser.pm_CopyNamespacesDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_CopyNamespacesDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:230:1: pm_CopyNamespacesDecl : k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON ; + // $ANTLR start "pm_CopyNamespacesDecl" + pm_CopyNamespacesDecl: function() { + var retval = new XQueryParser.pm_CopyNamespacesDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA39 = null; + var SEMICOLON41 = null; + var k = null; + var list_k=null; + var p_PreserveMode38 = null; + var p_InheritMode40 = null; + + var COMMA39_tree=null; + var SEMICOLON41_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:231:9: (k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON ) + // XQueryParser.g:231:13: k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_CopyNamespacesDecl1809); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COPY_NAMESPACES,XQueryParser.FOLLOW_COPY_NAMESPACES_in_pm_CopyNamespacesDecl1813); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PreserveMode_in_pm_CopyNamespacesDecl1815); + p_PreserveMode38=this.p_PreserveMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PreserveMode38.getTree()); + COMMA39=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_CopyNamespacesDecl1817); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA39_tree = this.adaptor.create(COMMA39); + this.adaptor.addChild(root_0, COMMA39_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_InheritMode_in_pm_CopyNamespacesDecl1819); + p_InheritMode40=this.p_InheritMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InheritMode40.getTree()); + SEMICOLON41=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_CopyNamespacesDecl1821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON41_tree = this.adaptor.create(SEMICOLON41); + this.adaptor.addChild(root_0, SEMICOLON41_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DecimalFormatDecl_return: (function() { + XQueryParser.p_DecimalFormatDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DecimalFormatDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:235:1: p_DecimalFormatDecl : k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON ; + // $ANTLR start "p_DecimalFormatDecl" + p_DecimalFormatDecl: function() { + var retval = new XQueryParser.p_DecimalFormatDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DECIMAL_FORMAT42 = null; + var DEFAULT44 = null; + var DECIMAL_FORMAT45 = null; + var EQ47 = null; + var SEMICOLON49 = null; + var k = null; + var list_k=null; + var p_QName43 = null; + var p_DFPropertyName46 = null; + var p_StringLiteral48 = null; + + var DECIMAL_FORMAT42_tree=null; + var DEFAULT44_tree=null; + var DECIMAL_FORMAT45_tree=null; + var EQ47_tree=null; + var SEMICOLON49_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:236:9: (k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON ) + // XQueryParser.g:236:13: k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_DecimalFormatDecl1852); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:236:24: ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) + var alt14=2; + var LA14_0 = this.input.LA(1); + + if ( (LA14_0==DECIMAL_FORMAT) ) { + alt14=1; + } + else if ( (LA14_0==DEFAULT) ) { + alt14=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 14, 0, this.input); + + throw nvae; + } + switch (alt14) { + case 1 : + // XQueryParser.g:236:25: ( DECIMAL_FORMAT p_QName ) + // XQueryParser.g:236:25: ( DECIMAL_FORMAT p_QName ) + // XQueryParser.g:236:26: DECIMAL_FORMAT p_QName + DECIMAL_FORMAT42=this.match(this.input,DECIMAL_FORMAT,XQueryParser.FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1856); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DECIMAL_FORMAT42_tree = this.adaptor.create(DECIMAL_FORMAT42); + this.adaptor.addChild(root_0, DECIMAL_FORMAT42_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DecimalFormatDecl1858); + p_QName43=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName43.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:236:52: ( DEFAULT DECIMAL_FORMAT ) + // XQueryParser.g:236:52: ( DEFAULT DECIMAL_FORMAT ) + // XQueryParser.g:236:53: DEFAULT DECIMAL_FORMAT + DEFAULT44=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_DecimalFormatDecl1864); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DEFAULT44_tree = this.adaptor.create(DEFAULT44); + this.adaptor.addChild(root_0, DEFAULT44_tree); + } + DECIMAL_FORMAT45=this.match(this.input,DECIMAL_FORMAT,XQueryParser.FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1866); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DECIMAL_FORMAT45_tree = this.adaptor.create(DECIMAL_FORMAT45); + this.adaptor.addChild(root_0, DECIMAL_FORMAT45_tree); + } + + + + + + break; + + } + + // XQueryParser.g:236:78: ( p_DFPropertyName ) + // XQueryParser.g:236:79: p_DFPropertyName + this.pushFollow(XQueryParser.FOLLOW_p_DFPropertyName_in_p_DecimalFormatDecl1871); + p_DFPropertyName46=this.p_DFPropertyName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DFPropertyName46.getTree()); + + + + EQ47=this.match(this.input,EQ,XQueryParser.FOLLOW_EQ_in_p_DecimalFormatDecl1874); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + EQ47_tree = this.adaptor.create(EQ47); + this.adaptor.addChild(root_0, EQ47_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_DecimalFormatDecl1876); + p_StringLiteral48=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral48.getTree()); + SEMICOLON49=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_DecimalFormatDecl1878); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON49_tree = this.adaptor.create(SEMICOLON49); + this.adaptor.addChild(root_0, SEMICOLON49_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DFPropertyName_return: (function() { + XQueryParser.p_DFPropertyName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DFPropertyName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:240:1: p_DFPropertyName : (k= DECIMAL_SEPARATOR | k= GROUPING_SEPARATOR | k= INFINITY | k= MINUS_SIGN | k= NAN | k= PERCENT | k= PER_MILLE | k= ZERO_DIGIT | k= DIGIT | k= PATTERN_SEPARATOR ); + // $ANTLR start "p_DFPropertyName" + p_DFPropertyName: function() { + var retval = new XQueryParser.p_DFPropertyName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + + var k_tree=null; + + try { + // XQueryParser.g:241:9: (k= DECIMAL_SEPARATOR | k= GROUPING_SEPARATOR | k= INFINITY | k= MINUS_SIGN | k= NAN | k= PERCENT | k= PER_MILLE | k= ZERO_DIGIT | k= DIGIT | k= PATTERN_SEPARATOR ) + var alt15=10; + switch ( this.input.LA(1) ) { + case DECIMAL_SEPARATOR: + alt15=1; + break; + case GROUPING_SEPARATOR: + alt15=2; + break; + case INFINITY: + alt15=3; + break; + case MINUS_SIGN: + alt15=4; + break; + case NAN: + alt15=5; + break; + case PERCENT: + alt15=6; + break; + case PER_MILLE: + alt15=7; + break; + case ZERO_DIGIT: + alt15=8; + break; + case DIGIT: + alt15=9; + break; + case PATTERN_SEPARATOR: + alt15=10; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 15, 0, this.input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // XQueryParser.g:241:11: k= DECIMAL_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECIMAL_SEPARATOR,XQueryParser.FOLLOW_DECIMAL_SEPARATOR_in_p_DFPropertyName1907); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:241:33: k= GROUPING_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,GROUPING_SEPARATOR,XQueryParser.FOLLOW_GROUPING_SEPARATOR_in_p_DFPropertyName1913); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:241:56: k= INFINITY + root_0 = this.adaptor.nil(); + + k=this.match(this.input,INFINITY,XQueryParser.FOLLOW_INFINITY_in_p_DFPropertyName1919); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 4 : + // XQueryParser.g:241:69: k= MINUS_SIGN + root_0 = this.adaptor.nil(); + + k=this.match(this.input,MINUS_SIGN,XQueryParser.FOLLOW_MINUS_SIGN_in_p_DFPropertyName1925); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 5 : + // XQueryParser.g:241:84: k= NAN + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NAN,XQueryParser.FOLLOW_NAN_in_p_DFPropertyName1931); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 6 : + // XQueryParser.g:241:92: k= PERCENT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PERCENT,XQueryParser.FOLLOW_PERCENT_in_p_DFPropertyName1937); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 7 : + // XQueryParser.g:241:104: k= PER_MILLE + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PER_MILLE,XQueryParser.FOLLOW_PER_MILLE_in_p_DFPropertyName1943); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 8 : + // XQueryParser.g:241:118: k= ZERO_DIGIT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ZERO_DIGIT,XQueryParser.FOLLOW_ZERO_DIGIT_in_p_DFPropertyName1949); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 9 : + // XQueryParser.g:241:133: k= DIGIT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DIGIT,XQueryParser.FOLLOW_DIGIT_in_p_DFPropertyName1955); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 10 : + // XQueryParser.g:241:143: k= PATTERN_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PATTERN_SEPARATOR,XQueryParser.FOLLOW_PATTERN_SEPARATOR_in_p_DFPropertyName1961); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PreserveMode_return: (function() { + XQueryParser.p_PreserveMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PreserveMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:245:1: p_PreserveMode : (k+= PRESERVE | k+= NO_PRESERVE ) ; + // $ANTLR start "p_PreserveMode" + p_PreserveMode: function() { + var retval = new XQueryParser.p_PreserveMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:246:9: ( (k+= PRESERVE | k+= NO_PRESERVE ) ) + // XQueryParser.g:246:13: (k+= PRESERVE | k+= NO_PRESERVE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:246:13: (k+= PRESERVE | k+= NO_PRESERVE ) + var alt16=2; + var LA16_0 = this.input.LA(1); + + if ( (LA16_0==PRESERVE) ) { + alt16=1; + } + else if ( (LA16_0==NO_PRESERVE) ) { + alt16=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 16, 0, this.input); + + throw nvae; + } + switch (alt16) { + case 1 : + // XQueryParser.g:246:14: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_p_PreserveMode1993); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:246:28: k+= NO_PRESERVE + k=this.match(this.input,NO_PRESERVE,XQueryParser.FOLLOW_NO_PRESERVE_in_p_PreserveMode1999); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InheritMode_return: (function() { + XQueryParser.p_InheritMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InheritMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:250:1: p_InheritMode : (k+= INHERIT | k+= NO_INHERIT ) ; + // $ANTLR start "p_InheritMode" + p_InheritMode: function() { + var retval = new XQueryParser.p_InheritMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:251:9: ( (k+= INHERIT | k+= NO_INHERIT ) ) + // XQueryParser.g:251:13: (k+= INHERIT | k+= NO_INHERIT ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:251:13: (k+= INHERIT | k+= NO_INHERIT ) + var alt17=2; + var LA17_0 = this.input.LA(1); + + if ( (LA17_0==INHERIT) ) { + alt17=1; + } + else if ( (LA17_0==NO_INHERIT) ) { + alt17=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 17, 0, this.input); + + throw nvae; + } + switch (alt17) { + case 1 : + // XQueryParser.g:251:14: k+= INHERIT + k=this.match(this.input,INHERIT,XQueryParser.FOLLOW_INHERIT_in_p_InheritMode2032); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:251:27: k+= NO_INHERIT + k=this.match(this.input,NO_INHERIT,XQueryParser.FOLLOW_NO_INHERIT_in_p_InheritMode2038); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DefaultCollationDecl_return: (function() { + XQueryParser.pm_DefaultCollationDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DefaultCollationDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:255:1: pm_DefaultCollationDecl : k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_DefaultCollationDecl" + pm_DefaultCollationDecl: function() { + var retval = new XQueryParser.pm_DefaultCollationDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON51 = null; + var k = null; + var list_k=null; + var p_StringLiteral50 = null; + + var SEMICOLON51_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:256:9: (k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON ) + // XQueryParser.g:256:13: k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_DefaultCollationDecl2078); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_DefaultCollationDecl2082); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_pm_DefaultCollationDecl2086); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_DefaultCollationDecl2088); + p_StringLiteral50=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral50.getTree()); + SEMICOLON51=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_DefaultCollationDecl2090); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON51_tree = this.adaptor.create(SEMICOLON51); + this.adaptor.addChild(root_0, SEMICOLON51_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BaseURIDecl_return: (function() { + XQueryParser.pm_BaseURIDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BaseURIDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:260:1: pm_BaseURIDecl : k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON -> ^( BaseURIDecl $sl) ; + // $ANTLR start "pm_BaseURIDecl" + pm_BaseURIDecl: function() { + var retval = new XQueryParser.pm_BaseURIDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON52 = null; + var k = null; + var list_k=null; + var sl = null; + + var SEMICOLON52_tree=null; + var k_tree=null; + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_BASE_URI=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BASE_URI"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:261:9: (k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON -> ^( BaseURIDecl $sl) ) + // XQueryParser.g:261:13: k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BaseURIDecl2129); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BASE_URI,XQueryParser.FOLLOW_BASE_URI_in_pm_BaseURIDecl2133); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BASE_URI.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_BaseURIDecl2137); + sl=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(sl.getTree()); + SEMICOLON52=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BaseURIDecl2139); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON52); + + + + // AST REWRITE + // elements: sl + // token labels: + // rule labels: sl, retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_sl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token sl",sl!=null?sl.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 262:17: -> ^( BaseURIDecl $sl) + { + // XQueryParser.g:262:20: ^( BaseURIDecl $sl) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BaseURIDecl, "BaseURIDecl"), root_1); + + this.adaptor.addChild(root_1, stream_sl.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_SchemaImport_return: (function() { + XQueryParser.pm_SchemaImport_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_SchemaImport_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:266:1: pm_SchemaImport : k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) ; + // $ANTLR start "pm_SchemaImport" + pm_SchemaImport: function() { + var retval = new XQueryParser.pm_SchemaImport_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA53 = null; + var SEMICOLON54 = null; + var k = null; + var list_k=null; + var list_ah=null; + var sp = null; + var us = null; + var ah = null; + var COMMA53_tree=null; + var SEMICOLON54_tree=null; + var k_tree=null; + var stream_AT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AT"); + var stream_IMPORT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token IMPORT"); + var stream_SCHEMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SCHEMA"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_p_SchemaPrefix=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_SchemaPrefix"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:267:9: (k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) ) + // XQueryParser.g:267:11: k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON + k=this.match(this.input,IMPORT,XQueryParser.FOLLOW_IMPORT_in_pm_SchemaImport2193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_IMPORT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,SCHEMA,XQueryParser.FOLLOW_SCHEMA_in_pm_SchemaImport2197); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SCHEMA.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:267:33: (sp= p_SchemaPrefix )? + var alt18=2; + var LA18_0 = this.input.LA(1); + + if ( (LA18_0==DEFAULT||LA18_0==NAMESPACE) ) { + alt18=1; + } + switch (alt18) { + case 1 : + // XQueryParser.g:267:33: sp= p_SchemaPrefix + this.pushFollow(XQueryParser.FOLLOW_p_SchemaPrefix_in_pm_SchemaImport2201); + sp=this.p_SchemaPrefix(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_SchemaPrefix.add(sp.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2206); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + // XQueryParser.g:267:69: (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? + var alt20=2; + var LA20_0 = this.input.LA(1); + + if ( (LA20_0==AT) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // XQueryParser.g:267:70: k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* + k=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_pm_SchemaImport2211); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2215); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + // XQueryParser.g:267:96: ( COMMA ah+= p_StringLiteral )* + loop19: + do { + var alt19=2; + var LA19_0 = this.input.LA(1); + + if ( (LA19_0==COMMA) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // XQueryParser.g:267:97: COMMA ah+= p_StringLiteral + COMMA53=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_SchemaImport2218); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA53); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2222); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + + + break; + + default : + break loop19; + } + } while (true); + + + + break; + + } + + SEMICOLON54=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_SchemaImport2228); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON54); + + + + // AST REWRITE + // elements: ah, sp, us + // token labels: + // rule labels: retval, sp, us + // token list labels: + // rule list labels: ah + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_sp=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token sp",sp!=null?sp.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + var stream_ah=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ah",list_ah); + root_0 = this.adaptor.nil(); + // 268:17: -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) + { + // XQueryParser.g:268:20: ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SchemaImport, "SchemaImport"), root_1); + + // XQueryParser.g:268:35: ^( SchemaPrefix ( $sp)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(SchemaPrefix, "SchemaPrefix"), root_2); + + // XQueryParser.g:268:50: ( $sp)? + if ( stream_sp.hasNext() ) { + this.adaptor.addChild(root_2, stream_sp.nextTree()); + + } + stream_sp.reset(); + + this.adaptor.addChild(root_1, root_2); + } + this.adaptor.addChild(root_1, stream_us.nextTree()); + // XQueryParser.g:268:60: ^( AtHints ( $ah)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(AtHints, "AtHints"), root_2); + + // XQueryParser.g:268:70: ( $ah)* + while ( stream_ah.hasNext() ) { + this.adaptor.addChild(root_2, stream_ah.nextTree()); + + } + stream_ah.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaPrefix_return: (function() { + XQueryParser.p_SchemaPrefix_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaPrefix_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:272:1: p_SchemaPrefix : (k+= NAMESPACE nn= p_NCName EQUAL -> ^( NamespaceName $nn) | k+= DEFAULT k+= ELEMENT k+= NAMESPACE -> DefaultElementNamespace ); + // $ANTLR start "p_SchemaPrefix" + p_SchemaPrefix: function() { + var retval = new XQueryParser.p_SchemaPrefix_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL55 = null; + var k = null; + var list_k=null; + var nn = null; + + var EQUAL55_tree=null; + var k_tree=null; + var stream_ELEMENT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ELEMENT"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_DEFAULT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DEFAULT"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + try { + // XQueryParser.g:273:9: (k+= NAMESPACE nn= p_NCName EQUAL -> ^( NamespaceName $nn) | k+= DEFAULT k+= ELEMENT k+= NAMESPACE -> DefaultElementNamespace ) + var alt21=2; + var LA21_0 = this.input.LA(1); + + if ( (LA21_0==NAMESPACE) ) { + alt21=1; + } + else if ( (LA21_0==DEFAULT) ) { + alt21=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 21, 0, this.input); + + throw nvae; + } + switch (alt21) { + case 1 : + // XQueryParser.g:273:11: k+= NAMESPACE nn= p_NCName EQUAL + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_SchemaPrefix2299); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_SchemaPrefix2303); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL55=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_SchemaPrefix2305); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL55); + + + + // AST REWRITE + // elements: nn + // token labels: + // rule labels: retval, nn + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + + root_0 = this.adaptor.nil(); + // 274:17: -> ^( NamespaceName $nn) + { + // XQueryParser.g:274:20: ^( NamespaceName $nn) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceName, "NamespaceName"), root_1); + + this.adaptor.addChild(root_1, stream_nn.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:275:11: k+= DEFAULT k+= ELEMENT k+= NAMESPACE + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_SchemaPrefix2345); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DEFAULT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_SchemaPrefix2349); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ELEMENT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_SchemaPrefix2353); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 276:17: -> DefaultElementNamespace + { + this.adaptor.addChild(root_0, this.adaptor.create(DefaultElementNamespace, "DefaultElementNamespace")); + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ModuleImport_return: (function() { + XQueryParser.pm_ModuleImport_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ModuleImport_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:280:1: pm_ModuleImport : k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) ; + // $ANTLR start "pm_ModuleImport" + pm_ModuleImport: function() { + var retval = new XQueryParser.pm_ModuleImport_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL56 = null; + var COMMA57 = null; + var SEMICOLON58 = null; + var k = null; + var list_k=null; + var list_ah=null; + var nn = null; + var us = null; + var ah = null; + var EQUAL56_tree=null; + var COMMA57_tree=null; + var SEMICOLON58_tree=null; + var k_tree=null; + var stream_AT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AT"); + var stream_IMPORT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token IMPORT"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_MODULE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MODULE"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:281:9: (k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) ) + // XQueryParser.g:281:11: k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON + k=this.match(this.input,IMPORT,XQueryParser.FOLLOW_IMPORT_in_pm_ModuleImport2402); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_IMPORT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MODULE,XQueryParser.FOLLOW_MODULE_in_pm_ModuleImport2406); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MODULE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:281:31: (k+= NAMESPACE nn= p_NCName EQUAL )? + var alt22=2; + var LA22_0 = this.input.LA(1); + + if ( (LA22_0==NAMESPACE) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // XQueryParser.g:281:32: k+= NAMESPACE nn= p_NCName EQUAL + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_ModuleImport2411); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_pm_ModuleImport2415); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL56=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_pm_ModuleImport2417); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL56); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2423); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + // XQueryParser.g:281:84: (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? + var alt24=2; + var LA24_0 = this.input.LA(1); + + if ( (LA24_0==AT) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // XQueryParser.g:281:85: k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* + k=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_pm_ModuleImport2428); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2432); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + // XQueryParser.g:281:111: ( COMMA ah+= p_StringLiteral )* + loop23: + do { + var alt23=2; + var LA23_0 = this.input.LA(1); + + if ( (LA23_0==COMMA) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // XQueryParser.g:281:112: COMMA ah+= p_StringLiteral + COMMA57=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_ModuleImport2435); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA57); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2439); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + + + break; + + default : + break loop23; + } + } while (true); + + + + break; + + } + + SEMICOLON58=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ModuleImport2445); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON58); + + + + // AST REWRITE + // elements: nn, us, ah + // token labels: + // rule labels: retval, nn, us + // token list labels: + // rule list labels: ah + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + var stream_ah=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ah",list_ah); + root_0 = this.adaptor.nil(); + // 282:17: -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) + { + // XQueryParser.g:282:20: ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ModuleImport, "ModuleImport"), root_1); + + // XQueryParser.g:282:35: ^( NamespaceName ( $nn)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceName, "NamespaceName"), root_2); + + // XQueryParser.g:282:51: ( $nn)? + if ( stream_nn.hasNext() ) { + this.adaptor.addChild(root_2, stream_nn.nextTree()); + + } + stream_nn.reset(); + + this.adaptor.addChild(root_1, root_2); + } + this.adaptor.addChild(root_1, stream_us.nextTree()); + // XQueryParser.g:282:61: ^( AtHints ( $ah)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(AtHints, "AtHints"), root_2); + + // XQueryParser.g:282:71: ( $ah)* + while ( stream_ah.hasNext() ) { + this.adaptor.addChild(root_2, stream_ah.nextTree()); + + } + stream_ah.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_VarDecl_return: (function() { + XQueryParser.pm_VarDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_VarDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:286:1: pm_VarDecl : k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) ; + // $ANTLR start "pm_VarDecl" + pm_VarDecl: function() { + var retval = new XQueryParser.pm_VarDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR60 = null; + var BIND61 = null; + var BIND62 = null; + var SEMICOLON63 = null; + var k = null; + var list_k=null; + var vdt = null; + var qn = null; + var td = null; + var es = null; + var des = null; + var p_PrivateOption59 = null; + + var DOLLAR60_tree=null; + var BIND61_tree=null; + var BIND62_tree=null; + var SEMICOLON63_tree=null; + var k_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_EXTERNAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EXTERNAL"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_BIND=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BIND"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + var stream_p_PrivateOption=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_PrivateOption"); + var stream_p_ExprSingle=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ExprSingle"); + var stream_pg_VarDeclType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pg_VarDeclType"); + try { + // XQueryParser.g:287:9: (k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) ) + // XQueryParser.g:287:11: k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_VarDecl2515); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PrivateOption_in_pm_VarDecl2517); + p_PrivateOption59=this.p_PrivateOption(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_PrivateOption.add(p_PrivateOption59.getTree()); + this.pushFollow(XQueryParser.FOLLOW_pg_VarDeclType_in_pm_VarDecl2521); + vdt=this.pg_VarDeclType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pg_VarDeclType.add(vdt.getTree()); + DOLLAR60=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_VarDecl2523); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR60); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_VarDecl2527); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + // XQueryParser.g:287:77: (td= p_TypeDeclaration )? + var alt25=2; + var LA25_0 = this.input.LA(1); + + if ( (LA25_0==AS) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // XQueryParser.g:287:77: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_VarDecl2531); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:287:97: ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) + var alt27=2; + var LA27_0 = this.input.LA(1); + + if ( (LA27_0==BIND) ) { + alt27=1; + } + else if ( (LA27_0==EXTERNAL) ) { + alt27=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 27, 0, this.input); + + throw nvae; + } + switch (alt27) { + case 1 : + // XQueryParser.g:287:98: ( BIND es= p_ExprSingle ) + // XQueryParser.g:287:98: ( BIND es= p_ExprSingle ) + // XQueryParser.g:287:99: BIND es= p_ExprSingle + BIND61=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_VarDecl2536); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND61); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_VarDecl2540); + es=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(es.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:287:123: (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) + // XQueryParser.g:287:123: (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) + // XQueryParser.g:287:124: k+= EXTERNAL ( BIND des= p_ExprSingle )? + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_VarDecl2548); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:287:136: ( BIND des= p_ExprSingle )? + var alt26=2; + var LA26_0 = this.input.LA(1); + + if ( (LA26_0==BIND) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // XQueryParser.g:287:137: BIND des= p_ExprSingle + BIND62=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_VarDecl2551); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND62); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_VarDecl2555); + des=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(des.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON63=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_VarDecl2561); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON63); + + + + // AST REWRITE + // elements: des, td, es, vdt, qn + // token labels: + // rule labels: qn, retval, des, td, vdt, es + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_des=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token des",des!=null?des.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + var stream_vdt=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token vdt",vdt!=null?vdt.tree:null); + var stream_es=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token es",es!=null?es.tree:null); + + root_0 = this.adaptor.nil(); + // 288:17: -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) + { + // XQueryParser.g:288:20: ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(VarDecl, "VarDecl"), root_1); + + this.adaptor.addChild(root_1, stream_vdt.nextTree()); + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:288:39: ^( VarType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VarType, "VarType"), root_2); + + // XQueryParser.g:288:49: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:288:55: ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VarValue, "VarValue"), root_2); + + // XQueryParser.g:288:66: ( $es)? + if ( stream_es.hasNext() ) { + this.adaptor.addChild(root_2, stream_es.nextTree()); + + } + stream_es.reset(); + // XQueryParser.g:288:71: ^( VarDefaultValue ( $des)? ) + { + var root_3 = this.adaptor.nil(); + root_3 = this.adaptor.becomeRoot(this.adaptor.create(VarDefaultValue, "VarDefaultValue"), root_3); + + // XQueryParser.g:288:89: ( $des)? + if ( stream_des.hasNext() ) { + this.adaptor.addChild(root_3, stream_des.nextTree()); + + } + stream_des.reset(); + + this.adaptor.addChild(root_2, root_3); + } + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_VarDeclType_return: (function() { + XQueryParser.pg_VarDeclType_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_VarDeclType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:295:1: pg_VarDeclType : ({...}? =>ku= CONSTANT -> VarConstantDecl | kv= VARIABLE -> VarVariableDecl ); + // $ANTLR start "pg_VarDeclType" + pg_VarDeclType: function() { + var retval = new XQueryParser.pg_VarDeclType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var kv = null; + + var ku_tree=null; + var kv_tree=null; + var stream_CONSTANT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token CONSTANT"); + var stream_VARIABLE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token VARIABLE"); + + try { + // XQueryParser.g:296:9: ({...}? =>ku= CONSTANT -> VarConstantDecl | kv= VARIABLE -> VarVariableDecl ) + var alt28=2; + var LA28_0 = this.input.LA(1); + + if ( (LA28_0==CONSTANT) && ((true))) { + alt28=1; + } + else if ( (LA28_0==VARIABLE) ) { + alt28=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 28, 0, this.input); + + throw nvae; + } + switch (alt28) { + case 1 : + // XQueryParser.g:296:11: {...}? =>ku= CONSTANT + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_VarDeclType", "true"); + } + ku=this.match(this.input,CONSTANT,XQueryParser.FOLLOW_CONSTANT_in_pg_VarDeclType2648); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_CONSTANT.add(ku); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 297:17: -> VarConstantDecl + { + this.adaptor.addChild(root_0, this.adaptor.create(VarConstantDecl, "VarConstantDecl")); + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:298:11: kv= VARIABLE + kv=this.match(this.input,VARIABLE,XQueryParser.FOLLOW_VARIABLE_in_pg_VarDeclType2682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_VARIABLE.add(kv); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 299:17: -> VarVariableDecl + { + this.adaptor.addChild(root_0, this.adaptor.create(VarVariableDecl, "VarVariableDecl")); + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ContextItemDecl_return: (function() { + XQueryParser.pm_ContextItemDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ContextItemDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:310:1: pm_ContextItemDecl : k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON ; + // $ANTLR start "pm_ContextItemDecl" + pm_ContextItemDecl: function() { + var retval = new XQueryParser.pm_ContextItemDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var BIND65 = null; + var BIND67 = null; + var SEMICOLON69 = null; + var k = null; + var list_k=null; + var p_ItemType64 = null; + var p_ExprSingle66 = null; + var p_ExprSingle68 = null; + + var BIND65_tree=null; + var BIND67_tree=null; + var SEMICOLON69_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:311:9: (k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON ) + // XQueryParser.g:311:13: k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_ContextItemDecl2739); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONTEXT,XQueryParser.FOLLOW_CONTEXT_in_pm_ContextItemDecl2743); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ITEM,XQueryParser.FOLLOW_ITEM_in_pm_ContextItemDecl2747); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:311:43: (k+= AS p_ItemType )? + var alt29=2; + var LA29_0 = this.input.LA(1); + + if ( (LA29_0==AS) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // XQueryParser.g:311:44: k+= AS p_ItemType + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_pm_ContextItemDecl2752); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ItemType_in_pm_ContextItemDecl2754); + p_ItemType64=this.p_ItemType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ItemType64.getTree()); + + + break; + + } + + // XQueryParser.g:311:63: ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) + var alt31=2; + var LA31_0 = this.input.LA(1); + + if ( (LA31_0==BIND) ) { + alt31=1; + } + else if ( (LA31_0==EXTERNAL) ) { + alt31=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 31, 0, this.input); + + throw nvae; + } + switch (alt31) { + case 1 : + // XQueryParser.g:311:64: ( BIND p_ExprSingle ) + // XQueryParser.g:311:64: ( BIND p_ExprSingle ) + // XQueryParser.g:311:65: BIND p_ExprSingle + BIND65=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_ContextItemDecl2760); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND65_tree = this.adaptor.create(BIND65); + this.adaptor.addChild(root_0, BIND65_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2762); + p_ExprSingle66=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle66.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:311:86: (k+= EXTERNAL ( BIND p_ExprSingle )? ) + // XQueryParser.g:311:86: (k+= EXTERNAL ( BIND p_ExprSingle )? ) + // XQueryParser.g:311:87: k+= EXTERNAL ( BIND p_ExprSingle )? + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_ContextItemDecl2770); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:311:99: ( BIND p_ExprSingle )? + var alt30=2; + var LA30_0 = this.input.LA(1); + + if ( (LA30_0==BIND) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // XQueryParser.g:311:100: BIND p_ExprSingle + BIND67=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_ContextItemDecl2773); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND67_tree = this.adaptor.create(BIND67); + this.adaptor.addChild(root_0, BIND67_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2775); + p_ExprSingle68=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle68.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON69=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ContextItemDecl2781); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON69_tree = this.adaptor.create(SEMICOLON69); + this.adaptor.addChild(root_0, SEMICOLON69_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ConstructionDecl_return: (function() { + XQueryParser.pm_ConstructionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ConstructionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:318:1: pm_ConstructionDecl : k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON ; + // $ANTLR start "pm_ConstructionDecl" + pm_ConstructionDecl: function() { + var retval = new XQueryParser.pm_ConstructionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON70 = null; + var k = null; + var list_k=null; + + var SEMICOLON70_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:319:9: (k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON ) + // XQueryParser.g:319:13: k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_ConstructionDecl2815); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONSTRUCTION,XQueryParser.FOLLOW_CONSTRUCTION_in_pm_ConstructionDecl2819); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:319:40: (k+= STRIP | k+= PRESERVE ) + var alt32=2; + var LA32_0 = this.input.LA(1); + + if ( (LA32_0==STRIP) ) { + alt32=1; + } + else if ( (LA32_0==PRESERVE) ) { + alt32=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 32, 0, this.input); + + throw nvae; + } + switch (alt32) { + case 1 : + // XQueryParser.g:319:41: k+= STRIP + k=this.match(this.input,STRIP,XQueryParser.FOLLOW_STRIP_in_pm_ConstructionDecl2824); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:319:52: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_pm_ConstructionDecl2830); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON70=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ConstructionDecl2833); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON70_tree = this.adaptor.create(SEMICOLON70); + this.adaptor.addChild(root_0, SEMICOLON70_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_FunctionDecl_return: (function() { + XQueryParser.pm_FunctionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_FunctionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:325:1: pm_FunctionDecl : ({...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) | k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) ); + // $ANTLR start "pm_FunctionDecl" + pm_FunctionDecl: function() { + var retval = new XQueryParser.pm_FunctionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN71 = null; + var RPAREN72 = null; + var SEMICOLON73 = null; + var LPAREN76 = null; + var RPAREN77 = null; + var SEMICOLON78 = null; + var k = null; + var list_k=null; + var qn = null; + var pl = null; + var td = null; + var b = null; + var ee = null; + var p_PrivateOption74 = null; + var p_FunctionType75 = null; + + var LPAREN71_tree=null; + var RPAREN72_tree=null; + var SEMICOLON73_tree=null; + var LPAREN76_tree=null; + var RPAREN77_tree=null; + var SEMICOLON78_tree=null; + var k_tree=null; + var stream_FUNCTION=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token FUNCTION"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_EXTERNAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EXTERNAL"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_SEQUENTIAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEQUENTIAL"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_Block=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Block"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + var stream_p_ParamList=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ParamList"); + var stream_p_PrivateOption=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_PrivateOption"); + var stream_p_FunctionType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_FunctionType"); + var stream_p_EnclosedExpr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_EnclosedExpr"); + try { + // XQueryParser.g:326:9: ({...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) | k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) ) + var alt39=2; + var LA39_0 = this.input.LA(1); + + if ( (LA39_0==DECLARE) ) { + var LA39_1 = this.input.LA(2); + + if ( (LA39_1==SEQUENTIAL) && ((true))) { + alt39=1; + } + else if ( (LA39_1==FUNCTION||LA39_1==UPDATING||LA39_1==SIMPLE||LA39_1==PRIVATE) ) { + alt39=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 39, 1, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 39, 0, this.input); + + throw nvae; + } + switch (alt39) { + case 1 : + // XQueryParser.g:326:13: {...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_FunctionDecl", "true"); + } + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_FunctionDecl2869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,SEQUENTIAL,XQueryParser.FOLLOW_SEQUENTIAL_in_pm_FunctionDecl2873); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEQUENTIAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_FunctionDecl2877); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_FUNCTION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_FunctionDecl2881); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + LPAREN71=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_pm_FunctionDecl2883); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN71); + + // XQueryParser.g:326:80: (pl= p_ParamList )? + var alt33=2; + var LA33_0 = this.input.LA(1); + + if ( (LA33_0==DOLLAR) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // XQueryParser.g:326:80: pl= p_ParamList + this.pushFollow(XQueryParser.FOLLOW_p_ParamList_in_pm_FunctionDecl2887); + pl=this.p_ParamList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ParamList.add(pl.getTree()); + + + break; + + } + + RPAREN72=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_pm_FunctionDecl2890); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN72); + + // XQueryParser.g:326:103: (td= p_TypeDeclaration )? + var alt34=2; + var LA34_0 = this.input.LA(1); + + if ( (LA34_0==AS) ) { + alt34=1; + } + switch (alt34) { + case 1 : + // XQueryParser.g:326:103: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2894); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:326:123: (b= p_Block | k+= EXTERNAL ) + var alt35=2; + var LA35_0 = this.input.LA(1); + + if ( (LA35_0==LBRACKET) ) { + alt35=1; + } + else if ( (LA35_0==EXTERNAL) ) { + alt35=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 35, 0, this.input); + + throw nvae; + } + switch (alt35) { + case 1 : + // XQueryParser.g:326:124: b= p_Block + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_pm_FunctionDecl2900); + b=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Block.add(b.getTree()); + + + break; + case 2 : + // XQueryParser.g:326:136: k+= EXTERNAL + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_FunctionDecl2906); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON73=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_FunctionDecl2909); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON73); + + + + // AST REWRITE + // elements: b, qn, td, pl + // token labels: + // rule labels: qn, retval, b, pl, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_b=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token b",b!=null?b.tree:null); + var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 327:17: -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) + { + // XQueryParser.g:327:20: ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(FunctionDecl, "FunctionDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:327:39: ^( ParamList ( $pl)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ParamList, "ParamList"), root_2); + + // XQueryParser.g:327:51: ( $pl)? + if ( stream_pl.hasNext() ) { + this.adaptor.addChild(root_2, stream_pl.nextTree()); + + } + stream_pl.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:327:57: ^( ReturnType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ReturnType, "ReturnType"), root_2); + + // XQueryParser.g:327:70: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:327:76: ( $b)? + if ( stream_b.hasNext() ) { + this.adaptor.addChild(root_1, stream_b.nextTree()); + + } + stream_b.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:328:13: k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_FunctionDecl2971); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PrivateOption_in_pm_FunctionDecl2973); + p_PrivateOption74=this.p_PrivateOption(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_PrivateOption.add(p_PrivateOption74.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_FunctionType_in_pm_FunctionDecl2975); + p_FunctionType75=this.p_FunctionType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_FunctionType.add(p_FunctionType75.getTree()); + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_FunctionDecl2979); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_FUNCTION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_FunctionDecl2983); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + LPAREN76=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_pm_FunctionDecl2985); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN76); + + // XQueryParser.g:328:87: (pl= p_ParamList )? + var alt36=2; + var LA36_0 = this.input.LA(1); + + if ( (LA36_0==DOLLAR) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // XQueryParser.g:328:87: pl= p_ParamList + this.pushFollow(XQueryParser.FOLLOW_p_ParamList_in_pm_FunctionDecl2989); + pl=this.p_ParamList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ParamList.add(pl.getTree()); + + + break; + + } + + RPAREN77=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_pm_FunctionDecl2992); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN77); + + // XQueryParser.g:328:110: (td= p_TypeDeclaration )? + var alt37=2; + var LA37_0 = this.input.LA(1); + + if ( (LA37_0==AS) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // XQueryParser.g:328:110: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2996); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:328:130: (ee= p_EnclosedExpr | k+= EXTERNAL ) + var alt38=2; + var LA38_0 = this.input.LA(1); + + if ( (LA38_0==LBRACKET) ) { + alt38=1; + } + else if ( (LA38_0==EXTERNAL) ) { + alt38=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 38, 0, this.input); + + throw nvae; + } + switch (alt38) { + case 1 : + // XQueryParser.g:328:131: ee= p_EnclosedExpr + this.pushFollow(XQueryParser.FOLLOW_p_EnclosedExpr_in_pm_FunctionDecl3002); + ee=this.p_EnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_EnclosedExpr.add(ee.getTree()); + + + break; + case 2 : + // XQueryParser.g:328:151: k+= EXTERNAL + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_FunctionDecl3008); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON78=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_FunctionDecl3011); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON78); + + + + // AST REWRITE + // elements: qn, td, ee, pl + // token labels: + // rule labels: qn, retval, ee, pl, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_ee=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ee",ee!=null?ee.tree:null); + var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 329:17: -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) + { + // XQueryParser.g:329:20: ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(FunctionDecl, "FunctionDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:329:39: ^( ParamList ( $pl)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ParamList, "ParamList"), root_2); + + // XQueryParser.g:329:51: ( $pl)? + if ( stream_pl.hasNext() ) { + this.adaptor.addChild(root_2, stream_pl.nextTree()); + + } + stream_pl.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:329:57: ^( ReturnType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ReturnType, "ReturnType"), root_2); + + // XQueryParser.g:329:70: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:329:76: ( $ee)? + if ( stream_ee.hasNext() ) { + this.adaptor.addChild(root_1, stream_ee.nextTree()); + + } + stream_ee.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FunctionType_return: (function() { + XQueryParser.p_FunctionType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FunctionType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:336:1: p_FunctionType : ({...}? =>ku= UPDATING | {...}? =>ks= SIMPLE | ); + // $ANTLR start "p_FunctionType" + p_FunctionType: function() { + var retval = new XQueryParser.p_FunctionType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var ks = null; + + var ku_tree=null; + var ks_tree=null; + + try { + // XQueryParser.g:337:9: ({...}? =>ku= UPDATING | {...}? =>ks= SIMPLE | ) + var alt40=3; + var LA40_0 = this.input.LA(1); + + if ( (LA40_0==UPDATING) && ((true))) { + alt40=1; + } + else if ( (LA40_0==SIMPLE) && ((true))) { + alt40=2; + } + else if ( (LA40_0==FUNCTION) ) { + alt40=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 40, 0, this.input); + + throw nvae; + } + switch (alt40) { + case 1 : + // XQueryParser.g:337:11: {...}? =>ku= UPDATING + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_FunctionType", "true"); + } + ku=this.match(this.input,UPDATING,XQueryParser.FOLLOW_UPDATING_in_p_FunctionType3091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + + + break; + case 2 : + // XQueryParser.g:338:11: {...}? =>ks= SIMPLE + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_FunctionType", "true"); + } + ks=this.match(this.input,SIMPLE,XQueryParser.FOLLOW_SIMPLE_in_p_FunctionType3108); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ks_tree = this.adaptor.create(ks); + this.adaptor.addChild(root_0, ks_tree); + } + + + break; + case 3 : + // XQueryParser.g:340:9: + root_0 = this.adaptor.nil(); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PrivateOption_return: (function() { + XQueryParser.p_PrivateOption_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PrivateOption_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:342:1: p_PrivateOption : ({...}? =>kv= PRIVATE | ); + // $ANTLR start "p_PrivateOption" + p_PrivateOption: function() { + var retval = new XQueryParser.p_PrivateOption_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kv = null; + + var kv_tree=null; + + try { + // XQueryParser.g:343:9: ({...}? =>kv= PRIVATE | ) + var alt41=2; + var LA41_0 = this.input.LA(1); + + if ( (LA41_0==PRIVATE) && ((false))) { + alt41=1; + } + else if ( (LA41_0==CONSTANT) && ((true))) { + alt41=2; + } + else if ( (LA41_0==VARIABLE) ) { + alt41=2; + } + else if ( (LA41_0==UPDATING||LA41_0==SIMPLE) && ((true))) { + alt41=2; + } + else if ( (LA41_0==FUNCTION) ) { + alt41=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 41, 0, this.input); + + throw nvae; + } + switch (alt41) { + case 1 : + // XQueryParser.g:343:11: {...}? =>kv= PRIVATE + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_PrivateOption", "false"); + } + kv=this.match(this.input,PRIVATE,XQueryParser.FOLLOW_PRIVATE_in_p_PrivateOption3150); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kv_tree = this.adaptor.create(kv); + this.adaptor.addChild(root_0, kv_tree); + } + + + break; + case 2 : + // XQueryParser.g:345:9: + root_0 = this.adaptor.nil(); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ParamList_return: (function() { + XQueryParser.p_ParamList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ParamList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:351:1: p_ParamList : p+= p_Param ( COMMA p+= p_Param )* -> ( $p)+ ; + // $ANTLR start "p_ParamList" + p_ParamList: function() { + var retval = new XQueryParser.p_ParamList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA79 = null; + var list_p=null; + var p = null; + var COMMA79_tree=null; + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_p_Param=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Param"); + try { + // XQueryParser.g:352:9: (p+= p_Param ( COMMA p+= p_Param )* -> ( $p)+ ) + // XQueryParser.g:352:11: p+= p_Param ( COMMA p+= p_Param )* + this.pushFollow(XQueryParser.FOLLOW_p_Param_in_p_ParamList3193); + p=this.p_Param(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Param.add(p.getTree()); + if (org.antlr.lang.isNull(list_p)) list_p = []; + list_p.push(p.getTree()); + + // XQueryParser.g:352:22: ( COMMA p+= p_Param )* + loop42: + do { + var alt42=2; + var LA42_0 = this.input.LA(1); + + if ( (LA42_0==COMMA) ) { + alt42=1; + } + + + switch (alt42) { + case 1 : + // XQueryParser.g:352:23: COMMA p+= p_Param + COMMA79=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ParamList3196); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA79); + + this.pushFollow(XQueryParser.FOLLOW_p_Param_in_p_ParamList3200); + p=this.p_Param(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Param.add(p.getTree()); + if (org.antlr.lang.isNull(list_p)) list_p = []; + list_p.push(p.getTree()); + + + + break; + + default : + break loop42; + } + } while (true); + + + + // AST REWRITE + // elements: p + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: p + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_p=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token p",list_p); + root_0 = this.adaptor.nil(); + // 353:17: -> ( $p)+ + { + if ( !(stream_p.hasNext()) ) { + throw new org.antlr.runtime.tree.RewriteEarlyExitException(); + } + while ( stream_p.hasNext() ) { + this.adaptor.addChild(root_0, stream_p.nextTree()); + + } + stream_p.reset(); + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Param_return: (function() { + XQueryParser.p_Param_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Param_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:357:1: p_Param : DOLLAR qn= p_QName (td= p_TypeDeclaration )? -> ^( Param $qn ( $td)? ) ; + // $ANTLR start "p_Param" + p_Param: function() { + var retval = new XQueryParser.p_Param_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR80 = null; + var qn = null; + var td = null; + + var DOLLAR80_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:358:9: ( DOLLAR qn= p_QName (td= p_TypeDeclaration )? -> ^( Param $qn ( $td)? ) ) + // XQueryParser.g:358:11: DOLLAR qn= p_QName (td= p_TypeDeclaration )? + DOLLAR80=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_Param3258); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR80); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_Param3262); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + // XQueryParser.g:358:31: (td= p_TypeDeclaration )? + var alt43=2; + var LA43_0 = this.input.LA(1); + + if ( (LA43_0==AS) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // XQueryParser.g:358:31: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_Param3266); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + + + // AST REWRITE + // elements: qn, td + // token labels: + // rule labels: qn, retval, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 359:17: -> ^( Param $qn ( $td)? ) + { + // XQueryParser.g:359:20: ^( Param $qn ( $td)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Param, "Param"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:359:32: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_1, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_EnclosedExpr_return: (function() { + XQueryParser.p_EnclosedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_EnclosedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:363:1: p_EnclosedExpr : LBRACKET pm_Expr RBRACKET -> ^( EnclosedExpr pm_Expr ) ; + // $ANTLR start "p_EnclosedExpr" + p_EnclosedExpr: function() { + var retval = new XQueryParser.p_EnclosedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET81 = null; + var RBRACKET83 = null; + var pm_Expr82 = null; + + var LBRACKET81_tree=null; + var RBRACKET83_tree=null; + var stream_LBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LBRACKET"); + var stream_RBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RBRACKET"); + var stream_pm_Expr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Expr"); + try { + // XQueryParser.g:364:9: ( LBRACKET pm_Expr RBRACKET -> ^( EnclosedExpr pm_Expr ) ) + // XQueryParser.g:364:11: LBRACKET pm_Expr RBRACKET + LBRACKET81=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_EnclosedExpr3322); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LBRACKET.add(LBRACKET81); + + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_EnclosedExpr3324); + pm_Expr82=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Expr.add(pm_Expr82.getTree()); + RBRACKET83=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_EnclosedExpr3326); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RBRACKET.add(RBRACKET83); + + + + // AST REWRITE + // elements: pm_Expr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 365:17: -> ^( EnclosedExpr pm_Expr ) + { + // XQueryParser.g:365:20: ^( EnclosedExpr pm_Expr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(EnclosedExpr, "EnclosedExpr"), root_1); + + this.adaptor.addChild(root_1, stream_pm_Expr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QueryBody_return: (function() { + XQueryParser.p_QueryBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QueryBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:369:1: p_QueryBody : pm_Expr -> ^( QueryBody pm_Expr ) ; + // $ANTLR start "p_QueryBody" + p_QueryBody: function() { + var retval = new XQueryParser.p_QueryBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Expr84 = null; + + var stream_pm_Expr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Expr"); + try { + // XQueryParser.g:370:9: ( pm_Expr -> ^( QueryBody pm_Expr ) ) + // XQueryParser.g:370:11: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_QueryBody3376); + pm_Expr84=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Expr.add(pm_Expr84.getTree()); + + + // AST REWRITE + // elements: pm_Expr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 371:17: -> ^( QueryBody pm_Expr ) + { + // XQueryParser.g:371:20: ^( QueryBody pm_Expr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(QueryBody, "QueryBody"), root_1); + + this.adaptor.addChild(root_1, stream_pm_Expr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_Expr_return: (function() { + XQueryParser.pm_Expr_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_Expr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:376:1: pm_Expr : p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) ; + // $ANTLR start "pm_Expr" + pm_Expr: function() { + var retval = new XQueryParser.pm_Expr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON86 = null; + var SEMICOLON88 = null; + var p_ConcatExpr85 = null; + var pm_ApplyExpr87 = null; + var p_ConcatExpr89 = null; + + var SEMICOLON86_tree=null; + var SEMICOLON88_tree=null; + + try { + // XQueryParser.g:377:9: ( p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) ) + // XQueryParser.g:377:11: p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_Expr3427); + p_ConcatExpr85=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr85.getTree()); + // XQueryParser.g:378:11: ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) + var alt46=2; + var LA46_0 = this.input.LA(1); + + if ( (LA46_0==SEMICOLON) && ((((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||(true)||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||(false)||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))))) { + var LA46_1 = this.input.LA(2); + + if ( ((((true)&&(false))||(true))) ) { + alt46=1; + } + else if ( ((false)) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 1, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RBRACKET) ) { + var LA46_2 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 2, this.input); + + throw nvae; + } + } + else if ( (LA46_0==EOF) ) { + var LA46_3 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 3, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RPAREN) ) { + var LA46_4 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 4, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RSQUARE) ) { + var LA46_5 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 5, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 0, this.input); + + throw nvae; + } + switch (alt46) { + case 1 : + // XQueryParser.g:378:12: {...}? => ( SEMICOLON ( pm_ApplyExpr )* )? + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_Expr", "true"); + } + // XQueryParser.g:378:22: ( SEMICOLON ( pm_ApplyExpr )* )? + var alt45=2; + var LA45_0 = this.input.LA(1); + + if ( (LA45_0==SEMICOLON) ) { + var LA45_1 = this.input.LA(2); + + if ( (!(((false)))) ) { + alt45=1; + } + } + switch (alt45) { + case 1 : + // XQueryParser.g:378:23: SEMICOLON ( pm_ApplyExpr )* + SEMICOLON86=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_Expr3444); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON86_tree = this.adaptor.create(SEMICOLON86); + this.adaptor.addChild(root_0, SEMICOLON86_tree); + } + // XQueryParser.g:378:33: ( pm_ApplyExpr )* + loop44: + do { + var alt44=2; + var LA44_0 = this.input.LA(1); + + if ( ((LA44_0>=ANCESTOR && LA44_0<=EXIT)||(LA44_0>=SEQUENTIAL && LA44_0<=MAINTAINED)||(LA44_0>=MUTABLE && LA44_0<=LPAREN)||LA44_0==DOLLAR||(LA44_0>=STAR && LA44_0<=SMALLER)||(LA44_0>=SLASH && LA44_0<=DOT_DOT)||LA44_0==ATTR_SIGN||(LA44_0>=APOS && LA44_0<=QUOT)||LA44_0==L_NCName||(LA44_0>=L_Pragma && LA44_0<=L_DoubleLiteral)||(LA44_0>=LETDOLLAR && LA44_0<=EXPLICITLY)) ) { + alt44=1; + } + + + switch (alt44) { + case 1 : + // XQueryParser.g:378:33: pm_ApplyExpr + this.pushFollow(XQueryParser.FOLLOW_pm_ApplyExpr_in_pm_Expr3446); + pm_ApplyExpr87=this.pm_ApplyExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ApplyExpr87.getTree()); + + + break; + + default : + break loop44; + } + } while (true); + + + + break; + + } + + + + break; + case 2 : + // XQueryParser.g:378:64: + + break; + + } + + // XQueryParser.g:379:11: ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) + var alt48=2; + var LA48_0 = this.input.LA(1); + + if ( (LA48_0==SEMICOLON) && ((false))) { + alt48=1; + } + else if ( (LA48_0==EOF||LA48_0==RPAREN||LA48_0==RBRACKET||LA48_0==RSQUARE) ) { + alt48=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 48, 0, this.input); + + throw nvae; + } + switch (alt48) { + case 1 : + // XQueryParser.g:379:12: {...}? => ( SEMICOLON p_ConcatExpr )+ + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_Expr", "false"); + } + // XQueryParser.g:379:23: ( SEMICOLON p_ConcatExpr )+ + var cnt47=0; + loop47: + do { + var alt47=2; + var LA47_0 = this.input.LA(1); + + if ( (LA47_0==SEMICOLON) ) { + alt47=1; + } + + + switch (alt47) { + case 1 : + // XQueryParser.g:379:24: SEMICOLON p_ConcatExpr + SEMICOLON88=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_Expr3471); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON88_tree = this.adaptor.create(SEMICOLON88); + this.adaptor.addChild(root_0, SEMICOLON88_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_Expr3473); + p_ConcatExpr89=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr89.getTree()); + + + break; + + default : + if ( cnt47 >= 1 ) { + break loop47; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(47, this.input); + throw eee; + } + cnt47++; + } while (true); + + + + break; + case 2 : + // XQueryParser.g:379:64: + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExprSingle_return: (function() { + XQueryParser.p_ExprSingle_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExprSingle_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:384:1: p_ExprSingle : ( p_FLWORExpr | p_QuantifiedExpr | p_TypeswitchExpr | p_IfExpr | p_TryCatchExpr | {...}? => p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr ); + // $ANTLR start "p_ExprSingle" + p_ExprSingle: function() { + var retval = new XQueryParser.p_ExprSingle_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_FLWORExpr90 = null; + var p_QuantifiedExpr91 = null; + var p_TypeswitchExpr92 = null; + var p_IfExpr93 = null; + var p_TryCatchExpr94 = null; + var p_EvalExpr95 = null; + var p_InsertExpr96 = null; + var p_DeleteExpr97 = null; + var p_RenameExpr98 = null; + var p_ReplaceExpr99 = null; + var p_TransformExpr100 = null; + var p_BlockExpr101 = null; + var p_AssignmentExpr102 = null; + var p_ExitExpr103 = null; + var p_WhileExpr104 = null; + var p_OrExpr105 = null; + + + try { + // XQueryParser.g:385:9: ( p_FLWORExpr | p_QuantifiedExpr | p_TypeswitchExpr | p_IfExpr | p_TryCatchExpr | {...}? => p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr ) + var alt49=16; + alt49 = this.dfa49.predict(this.input); + switch (alt49) { + case 1 : + // XQueryParser.g:385:11: p_FLWORExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FLWORExpr_in_p_ExprSingle3507); + p_FLWORExpr90=this.p_FLWORExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FLWORExpr90.getTree()); + + + break; + case 2 : + // XQueryParser.g:386:11: p_QuantifiedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QuantifiedExpr_in_p_ExprSingle3519); + p_QuantifiedExpr91=this.p_QuantifiedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QuantifiedExpr91.getTree()); + + + break; + case 3 : + // XQueryParser.g:387:11: p_TypeswitchExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TypeswitchExpr_in_p_ExprSingle3531); + p_TypeswitchExpr92=this.p_TypeswitchExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeswitchExpr92.getTree()); + + + break; + case 4 : + // XQueryParser.g:388:11: p_IfExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IfExpr_in_p_ExprSingle3543); + p_IfExpr93=this.p_IfExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IfExpr93.getTree()); + + + break; + case 5 : + // XQueryParser.g:389:11: p_TryCatchExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TryCatchExpr_in_p_ExprSingle3555); + p_TryCatchExpr94=this.p_TryCatchExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TryCatchExpr94.getTree()); + + + break; + case 6 : + // XQueryParser.g:390:11: {...}? => p_EvalExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_EvalExpr_in_p_ExprSingle3570); + p_EvalExpr95=this.p_EvalExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_EvalExpr95.getTree()); + + + break; + case 7 : + // XQueryParser.g:391:11: {...}? => p_InsertExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_InsertExpr_in_p_ExprSingle3585); + p_InsertExpr96=this.p_InsertExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InsertExpr96.getTree()); + + + break; + case 8 : + // XQueryParser.g:392:11: {...}? => p_DeleteExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_DeleteExpr_in_p_ExprSingle3600); + p_DeleteExpr97=this.p_DeleteExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DeleteExpr97.getTree()); + + + break; + case 9 : + // XQueryParser.g:393:11: {...}? => p_RenameExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_RenameExpr_in_p_ExprSingle3615); + p_RenameExpr98=this.p_RenameExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RenameExpr98.getTree()); + + + break; + case 10 : + // XQueryParser.g:394:11: {...}? => p_ReplaceExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ReplaceExpr_in_p_ExprSingle3630); + p_ReplaceExpr99=this.p_ReplaceExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReplaceExpr99.getTree()); + + + break; + case 11 : + // XQueryParser.g:395:11: {...}? => p_TransformExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_TransformExpr_in_p_ExprSingle3645); + p_TransformExpr100=this.p_TransformExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TransformExpr100.getTree()); + + + break; + case 12 : + // XQueryParser.g:396:11: {...}? => p_BlockExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_BlockExpr_in_p_ExprSingle3660); + p_BlockExpr101=this.p_BlockExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_BlockExpr101.getTree()); + + + break; + case 13 : + // XQueryParser.g:397:11: {...}? => p_AssignmentExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_AssignmentExpr_in_p_ExprSingle3675); + p_AssignmentExpr102=this.p_AssignmentExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AssignmentExpr102.getTree()); + + + break; + case 14 : + // XQueryParser.g:398:11: {...}? => p_ExitExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExitExpr_in_p_ExprSingle3690); + p_ExitExpr103=this.p_ExitExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExitExpr103.getTree()); + + + break; + case 15 : + // XQueryParser.g:399:11: {...}? => p_WhileExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_WhileExpr_in_p_ExprSingle3705); + p_WhileExpr104=this.p_WhileExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhileExpr104.getTree()); + + + break; + case 16 : + // XQueryParser.g:400:11: p_OrExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrExpr_in_p_ExprSingle3717); + p_OrExpr105=this.p_OrExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrExpr105.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FLWORExpr_return: (function() { + XQueryParser.p_FLWORExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FLWORExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:404:1: p_FLWORExpr : p_InitialClause ( p_IntermediateClause )* p_ReturnClause ; + // $ANTLR start "p_FLWORExpr" + p_FLWORExpr: function() { + var retval = new XQueryParser.p_FLWORExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_InitialClause106 = null; + var p_IntermediateClause107 = null; + var p_ReturnClause108 = null; + + + try { + // XQueryParser.g:405:9: ( p_InitialClause ( p_IntermediateClause )* p_ReturnClause ) + // XQueryParser.g:405:11: p_InitialClause ( p_IntermediateClause )* p_ReturnClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InitialClause_in_p_FLWORExpr3743); + p_InitialClause106=this.p_InitialClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InitialClause106.getTree()); + // XQueryParser.g:405:27: ( p_IntermediateClause )* + loop50: + do { + var alt50=2; + var LA50_0 = this.input.LA(1); + + if ( (LA50_0==FOR||LA50_0==ORDER||LA50_0==STABLE||LA50_0==WHERE||LA50_0==COUNT||LA50_0==GROUP||LA50_0==LETDOLLAR) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // XQueryParser.g:405:27: p_IntermediateClause + this.pushFollow(XQueryParser.FOLLOW_p_IntermediateClause_in_p_FLWORExpr3745); + p_IntermediateClause107=this.p_IntermediateClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntermediateClause107.getTree()); + + + break; + + default : + break loop50; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_p_ReturnClause_in_p_FLWORExpr3748); + p_ReturnClause108=this.p_ReturnClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReturnClause108.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InitialClause_return: (function() { + XQueryParser.p_InitialClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InitialClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:409:1: p_InitialClause : ( p_ForClause | p_LetClause | p_WindowClause ); + // $ANTLR start "p_InitialClause" + p_InitialClause: function() { + var retval = new XQueryParser.p_InitialClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ForClause109 = null; + var p_LetClause110 = null; + var p_WindowClause111 = null; + + + try { + // XQueryParser.g:410:9: ( p_ForClause | p_LetClause | p_WindowClause ) + var alt51=3; + var LA51_0 = this.input.LA(1); + + if ( (LA51_0==FOR) ) { + var LA51_1 = this.input.LA(2); + + if ( (LA51_1==DOLLAR) ) { + alt51=1; + } + else if ( (LA51_1==SLIDING||LA51_1==TUMBLING) ) { + alt51=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 51, 1, this.input); + + throw nvae; + } + } + else if ( (LA51_0==LETDOLLAR) ) { + alt51=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 51, 0, this.input); + + throw nvae; + } + switch (alt51) { + case 1 : + // XQueryParser.g:410:11: p_ForClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ForClause_in_p_InitialClause3774); + p_ForClause109=this.p_ForClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForClause109.getTree()); + + + break; + case 2 : + // XQueryParser.g:410:25: p_LetClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_LetClause_in_p_InitialClause3778); + p_LetClause110=this.p_LetClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_LetClause110.getTree()); + + + break; + case 3 : + // XQueryParser.g:410:39: p_WindowClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowClause_in_p_InitialClause3782); + p_WindowClause111=this.p_WindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowClause111.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IntermediateClause_return: (function() { + XQueryParser.p_IntermediateClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IntermediateClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:414:1: p_IntermediateClause : ( p_InitialClause | p_WhereClause | p_GroupByClause | p_OrderByClause | p_CountClause ); + // $ANTLR start "p_IntermediateClause" + p_IntermediateClause: function() { + var retval = new XQueryParser.p_IntermediateClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_InitialClause112 = null; + var p_WhereClause113 = null; + var p_GroupByClause114 = null; + var p_OrderByClause115 = null; + var p_CountClause116 = null; + + + try { + // XQueryParser.g:415:9: ( p_InitialClause | p_WhereClause | p_GroupByClause | p_OrderByClause | p_CountClause ) + var alt52=5; + switch ( this.input.LA(1) ) { + case FOR: + case LETDOLLAR: + alt52=1; + break; + case WHERE: + alt52=2; + break; + case GROUP: + alt52=3; + break; + case ORDER: + case STABLE: + alt52=4; + break; + case COUNT: + alt52=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 52, 0, this.input); + + throw nvae; + } + + switch (alt52) { + case 1 : + // XQueryParser.g:415:11: p_InitialClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InitialClause_in_p_IntermediateClause3808); + p_InitialClause112=this.p_InitialClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InitialClause112.getTree()); + + + break; + case 2 : + // XQueryParser.g:415:29: p_WhereClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_WhereClause_in_p_IntermediateClause3812); + p_WhereClause113=this.p_WhereClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhereClause113.getTree()); + + + break; + case 3 : + // XQueryParser.g:415:45: p_GroupByClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupByClause_in_p_IntermediateClause3816); + p_GroupByClause114=this.p_GroupByClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupByClause114.getTree()); + + + break; + case 4 : + // XQueryParser.g:415:63: p_OrderByClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderByClause_in_p_IntermediateClause3820); + p_OrderByClause115=this.p_OrderByClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderByClause115.getTree()); + + + break; + case 5 : + // XQueryParser.g:415:81: p_CountClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CountClause_in_p_IntermediateClause3824); + p_CountClause116=this.p_CountClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CountClause116.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForClause_return: (function() { + XQueryParser.p_ForClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:419:1: p_ForClause : k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* ; + // $ANTLR start "p_ForClause" + p_ForClause: function() { + var retval = new XQueryParser.p_ForClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR117 = null; + var COMMA122 = null; + var DOLLAR123 = null; + var k = null; + var list_k=null; + var p_VarName118 = null; + var p_TypeDeclaration119 = null; + var p_PositionalVar120 = null; + var p_ExprSingle121 = null; + var p_VarName124 = null; + var p_TypeDeclaration125 = null; + var p_PositionalVar126 = null; + var p_ExprSingle127 = null; + + var DOLLAR117_tree=null; + var COMMA122_tree=null; + var DOLLAR123_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:420:9: (k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* ) + // XQueryParser.g:420:11: k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOR,XQueryParser.FOLLOW_FOR_in_p_ForClause3852); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR117=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ForClause3854); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR117_tree = this.adaptor.create(DOLLAR117); + this.adaptor.addChild(root_0, DOLLAR117_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_ForClause3856); + p_VarName118=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName118.getTree()); + // XQueryParser.g:420:35: ( p_TypeDeclaration )? + var alt53=2; + var LA53_0 = this.input.LA(1); + + if ( (LA53_0==AS) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // XQueryParser.g:420:35: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_ForClause3858); + p_TypeDeclaration119=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration119.getTree()); + + + break; + + } + + // XQueryParser.g:420:54: ( p_PositionalVar )? + var alt54=2; + var LA54_0 = this.input.LA(1); + + if ( (LA54_0==AT) ) { + alt54=1; + } + switch (alt54) { + case 1 : + // XQueryParser.g:420:54: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_ForClause3861); + p_PositionalVar120=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar120.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_ForClause3866); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ForClause3868); + p_ExprSingle121=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle121.getTree()); + // XQueryParser.g:420:90: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* + loop57: + do { + var alt57=2; + var LA57_0 = this.input.LA(1); + + if ( (LA57_0==COMMA) ) { + alt57=1; + } + + + switch (alt57) { + case 1 : + // XQueryParser.g:420:91: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle + COMMA122=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ForClause3871); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA122_tree = this.adaptor.create(COMMA122); + this.adaptor.addChild(root_0, COMMA122_tree); + } + DOLLAR123=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ForClause3873); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR123_tree = this.adaptor.create(DOLLAR123); + this.adaptor.addChild(root_0, DOLLAR123_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_ForClause3875); + p_VarName124=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName124.getTree()); + // XQueryParser.g:420:114: ( p_TypeDeclaration )? + var alt55=2; + var LA55_0 = this.input.LA(1); + + if ( (LA55_0==AS) ) { + alt55=1; + } + switch (alt55) { + case 1 : + // XQueryParser.g:420:114: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_ForClause3877); + p_TypeDeclaration125=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration125.getTree()); + + + break; + + } + + // XQueryParser.g:420:133: ( p_PositionalVar )? + var alt56=2; + var LA56_0 = this.input.LA(1); + + if ( (LA56_0==AT) ) { + alt56=1; + } + switch (alt56) { + case 1 : + // XQueryParser.g:420:133: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_ForClause3880); + p_PositionalVar126=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar126.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_ForClause3885); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ForClause3887); + p_ExprSingle127=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle127.getTree()); + + + break; + + default : + break loop57; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PositionalVar_return: (function() { + XQueryParser.p_PositionalVar_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PositionalVar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:424:1: p_PositionalVar : ka= AT DOLLAR p_VarName ; + // $ANTLR start "p_PositionalVar" + p_PositionalVar: function() { + var retval = new XQueryParser.p_PositionalVar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var DOLLAR128 = null; + var p_VarName129 = null; + + var ka_tree=null; + var DOLLAR128_tree=null; + + try { + // XQueryParser.g:425:9: (ka= AT DOLLAR p_VarName ) + // XQueryParser.g:425:11: ka= AT DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_p_PositionalVar3918); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + DOLLAR128=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_PositionalVar3920); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR128_tree = this.adaptor.create(DOLLAR128); + this.adaptor.addChild(root_0, DOLLAR128_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_PositionalVar3922); + p_VarName129=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName129.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LetClause_return: (function() { + XQueryParser.p_LetClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LetClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:429:1: p_LetClause : kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* ; + // $ANTLR start "p_LetClause" + p_LetClause: function() { + var retval = new XQueryParser.p_LetClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kl = null; + var BIND132 = null; + var COMMA134 = null; + var DOLLAR135 = null; + var BIND138 = null; + var p_VarName130 = null; + var p_TypeDeclaration131 = null; + var p_ExprSingle133 = null; + var p_VarName136 = null; + var p_TypeDeclaration137 = null; + var p_ExprSingle139 = null; + + var kl_tree=null; + var BIND132_tree=null; + var COMMA134_tree=null; + var DOLLAR135_tree=null; + var BIND138_tree=null; + + try { + // XQueryParser.g:430:9: (kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* ) + // XQueryParser.g:430:11: kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* + root_0 = this.adaptor.nil(); + + kl=this.match(this.input,LETDOLLAR,XQueryParser.FOLLOW_LETDOLLAR_in_p_LetClause3950); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kl_tree = this.adaptor.create(kl); + this.adaptor.addChild(root_0, kl_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_LetClause3952); + p_VarName130=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName130.getTree()); + // XQueryParser.g:430:34: ( p_TypeDeclaration )? + var alt58=2; + var LA58_0 = this.input.LA(1); + + if ( (LA58_0==AS) ) { + alt58=1; + } + switch (alt58) { + case 1 : + // XQueryParser.g:430:34: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_LetClause3954); + p_TypeDeclaration131=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration131.getTree()); + + + break; + + } + + BIND132=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_LetClause3957); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND132_tree = this.adaptor.create(BIND132); + this.adaptor.addChild(root_0, BIND132_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_LetClause3959); + p_ExprSingle133=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle133.getTree()); + // XQueryParser.g:430:71: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* + loop60: + do { + var alt60=2; + var LA60_0 = this.input.LA(1); + + if ( (LA60_0==COMMA) ) { + alt60=1; + } + + + switch (alt60) { + case 1 : + // XQueryParser.g:430:72: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle + COMMA134=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_LetClause3962); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA134_tree = this.adaptor.create(COMMA134); + this.adaptor.addChild(root_0, COMMA134_tree); + } + DOLLAR135=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_LetClause3964); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR135_tree = this.adaptor.create(DOLLAR135); + this.adaptor.addChild(root_0, DOLLAR135_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_LetClause3966); + p_VarName136=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName136.getTree()); + // XQueryParser.g:430:95: ( p_TypeDeclaration )? + var alt59=2; + var LA59_0 = this.input.LA(1); + + if ( (LA59_0==AS) ) { + alt59=1; + } + switch (alt59) { + case 1 : + // XQueryParser.g:430:95: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_LetClause3968); + p_TypeDeclaration137=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration137.getTree()); + + + break; + + } + + BIND138=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_LetClause3971); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND138_tree = this.adaptor.create(BIND138); + this.adaptor.addChild(root_0, BIND138_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_LetClause3973); + p_ExprSingle139=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle139.getTree()); + + + break; + + default : + break loop60; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowClause_return: (function() { + XQueryParser.p_WindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:434:1: p_WindowClause : kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) ; + // $ANTLR start "p_WindowClause" + p_WindowClause: function() { + var retval = new XQueryParser.p_WindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kf = null; + var p_TumblingWindowClause140 = null; + var p_SlidingWindowClause141 = null; + + var kf_tree=null; + + try { + // XQueryParser.g:435:9: (kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) ) + // XQueryParser.g:435:11: kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) + root_0 = this.adaptor.nil(); + + kf=this.match(this.input,FOR,XQueryParser.FOLLOW_FOR_in_p_WindowClause4003); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kf_tree = this.adaptor.create(kf); + this.adaptor.addChild(root_0, kf_tree); + } + // XQueryParser.g:435:18: ( p_TumblingWindowClause | p_SlidingWindowClause ) + var alt61=2; + var LA61_0 = this.input.LA(1); + + if ( (LA61_0==TUMBLING) ) { + alt61=1; + } + else if ( (LA61_0==SLIDING) ) { + alt61=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 61, 0, this.input); + + throw nvae; + } + switch (alt61) { + case 1 : + // XQueryParser.g:435:19: p_TumblingWindowClause + this.pushFollow(XQueryParser.FOLLOW_p_TumblingWindowClause_in_p_WindowClause4006); + p_TumblingWindowClause140=this.p_TumblingWindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TumblingWindowClause140.getTree()); + + + break; + case 2 : + // XQueryParser.g:435:44: p_SlidingWindowClause + this.pushFollow(XQueryParser.FOLLOW_p_SlidingWindowClause_in_p_WindowClause4010); + p_SlidingWindowClause141=this.p_SlidingWindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SlidingWindowClause141.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TumblingWindowClause_return: (function() { + XQueryParser.p_TumblingWindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TumblingWindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:439:1: p_TumblingWindowClause : k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ; + // $ANTLR start "p_TumblingWindowClause" + p_TumblingWindowClause: function() { + var retval = new XQueryParser.p_TumblingWindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR142 = null; + var IN145 = null; + var k = null; + var list_k=null; + var p_VarName143 = null; + var p_TypeDeclaration144 = null; + var p_ExprSingle146 = null; + var p_WindowStartCondition147 = null; + var p_WindowEndCondition148 = null; + + var DOLLAR142_tree=null; + var IN145_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:440:9: (k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ) + // XQueryParser.g:440:11: k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TUMBLING,XQueryParser.FOLLOW_TUMBLING_in_p_TumblingWindowClause4047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,WINDOW,XQueryParser.FOLLOW_WINDOW_in_p_TumblingWindowClause4051); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR142=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TumblingWindowClause4053); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR142_tree = this.adaptor.create(DOLLAR142); + this.adaptor.addChild(root_0, DOLLAR142_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TumblingWindowClause4055); + p_VarName143=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName143.getTree()); + // XQueryParser.g:440:50: ( p_TypeDeclaration )? + var alt62=2; + var LA62_0 = this.input.LA(1); + + if ( (LA62_0==AS) ) { + alt62=1; + } + switch (alt62) { + case 1 : + // XQueryParser.g:440:50: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_TumblingWindowClause4057); + p_TypeDeclaration144=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration144.getTree()); + + + break; + + } + + IN145=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_TumblingWindowClause4060); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + IN145_tree = this.adaptor.create(IN145); + this.adaptor.addChild(root_0, IN145_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TumblingWindowClause4062); + p_ExprSingle146=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle146.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_WindowStartCondition_in_p_TumblingWindowClause4064); + p_WindowStartCondition147=this.p_WindowStartCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowStartCondition147.getTree()); + // XQueryParser.g:440:108: ( p_WindowEndCondition )? + var alt63=2; + var LA63_0 = this.input.LA(1); + + if ( (LA63_0==END||LA63_0==ONLY) ) { + alt63=1; + } + switch (alt63) { + case 1 : + // XQueryParser.g:440:108: p_WindowEndCondition + this.pushFollow(XQueryParser.FOLLOW_p_WindowEndCondition_in_p_TumblingWindowClause4066); + p_WindowEndCondition148=this.p_WindowEndCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowEndCondition148.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SlidingWindowClause_return: (function() { + XQueryParser.p_SlidingWindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SlidingWindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:444:1: p_SlidingWindowClause : k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ; + // $ANTLR start "p_SlidingWindowClause" + p_SlidingWindowClause: function() { + var retval = new XQueryParser.p_SlidingWindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR149 = null; + var IN152 = null; + var k = null; + var list_k=null; + var p_VarName150 = null; + var p_TypeDeclaration151 = null; + var p_ExprSingle153 = null; + var p_WindowStartCondition154 = null; + var p_WindowEndCondition155 = null; + + var DOLLAR149_tree=null; + var IN152_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:445:9: (k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ) + // XQueryParser.g:445:11: k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? + root_0 = this.adaptor.nil(); + + k=this.match(this.input,SLIDING,XQueryParser.FOLLOW_SLIDING_in_p_SlidingWindowClause4096); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,WINDOW,XQueryParser.FOLLOW_WINDOW_in_p_SlidingWindowClause4100); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR149=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_SlidingWindowClause4102); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR149_tree = this.adaptor.create(DOLLAR149); + this.adaptor.addChild(root_0, DOLLAR149_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_SlidingWindowClause4104); + p_VarName150=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName150.getTree()); + // XQueryParser.g:445:49: ( p_TypeDeclaration )? + var alt64=2; + var LA64_0 = this.input.LA(1); + + if ( (LA64_0==AS) ) { + alt64=1; + } + switch (alt64) { + case 1 : + // XQueryParser.g:445:49: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_SlidingWindowClause4106); + p_TypeDeclaration151=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration151.getTree()); + + + break; + + } + + IN152=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_SlidingWindowClause4109); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + IN152_tree = this.adaptor.create(IN152); + this.adaptor.addChild(root_0, IN152_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_SlidingWindowClause4111); + p_ExprSingle153=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle153.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_WindowStartCondition_in_p_SlidingWindowClause4113); + p_WindowStartCondition154=this.p_WindowStartCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowStartCondition154.getTree()); + // XQueryParser.g:445:107: ( p_WindowEndCondition )? + var alt65=2; + var LA65_0 = this.input.LA(1); + + if ( (LA65_0==END||LA65_0==ONLY) ) { + alt65=1; + } + switch (alt65) { + case 1 : + // XQueryParser.g:445:107: p_WindowEndCondition + this.pushFollow(XQueryParser.FOLLOW_p_WindowEndCondition_in_p_SlidingWindowClause4115); + p_WindowEndCondition155=this.p_WindowEndCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowEndCondition155.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowStartCondition_return: (function() { + XQueryParser.p_WindowStartCondition_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowStartCondition_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:449:1: p_WindowStartCondition : k+= START p_WindowVars k+= WHEN p_ExprSingle ; + // $ANTLR start "p_WindowStartCondition" + p_WindowStartCondition: function() { + var retval = new XQueryParser.p_WindowStartCondition_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_WindowVars156 = null; + var p_ExprSingle157 = null; + + var k_tree=null; + + try { + // XQueryParser.g:450:9: (k+= START p_WindowVars k+= WHEN p_ExprSingle ) + // XQueryParser.g:450:11: k+= START p_WindowVars k+= WHEN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,START,XQueryParser.FOLLOW_START_in_p_WindowStartCondition4145); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowVars_in_p_WindowStartCondition4147); + p_WindowVars156=this.p_WindowVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowVars156.getTree()); + k=this.match(this.input,WHEN,XQueryParser.FOLLOW_WHEN_in_p_WindowStartCondition4151); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WindowStartCondition4153); + p_ExprSingle157=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle157.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowEndCondition_return: (function() { + XQueryParser.p_WindowEndCondition_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowEndCondition_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:454:1: p_WindowEndCondition : (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle ; + // $ANTLR start "p_WindowEndCondition" + p_WindowEndCondition: function() { + var retval = new XQueryParser.p_WindowEndCondition_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_WindowVars158 = null; + var p_ExprSingle159 = null; + + var k_tree=null; + + try { + // XQueryParser.g:455:9: ( (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle ) + // XQueryParser.g:455:11: (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle + root_0 = this.adaptor.nil(); + + // XQueryParser.g:455:12: (k+= ONLY )? + var alt66=2; + var LA66_0 = this.input.LA(1); + + if ( (LA66_0==ONLY) ) { + alt66=1; + } + switch (alt66) { + case 1 : + // XQueryParser.g:455:12: k+= ONLY + k=this.match(this.input,ONLY,XQueryParser.FOLLOW_ONLY_in_p_WindowEndCondition4182); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,END,XQueryParser.FOLLOW_END_in_p_WindowEndCondition4187); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowVars_in_p_WindowEndCondition4189); + p_WindowVars158=this.p_WindowVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowVars158.getTree()); + k=this.match(this.input,WHEN,XQueryParser.FOLLOW_WHEN_in_p_WindowEndCondition4193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WindowEndCondition4195); + p_ExprSingle159=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle159.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowVars_return: (function() { + XQueryParser.p_WindowVars_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowVars_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:459:1: p_WindowVars : ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? ; + // $ANTLR start "p_WindowVars" + p_WindowVars: function() { + var retval = new XQueryParser.p_WindowVars_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR160 = null; + var DOLLAR163 = null; + var DOLLAR165 = null; + var k = null; + var list_k=null; + var p_QName161 = null; + var p_PositionalVar162 = null; + var p_QName164 = null; + var p_QName166 = null; + + var DOLLAR160_tree=null; + var DOLLAR163_tree=null; + var DOLLAR165_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:460:9: ( ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? ) + // XQueryParser.g:460:11: ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:460:11: ( DOLLAR p_QName )? + var alt67=2; + var LA67_0 = this.input.LA(1); + + if ( (LA67_0==DOLLAR) ) { + alt67=1; + } + switch (alt67) { + case 1 : + // XQueryParser.g:460:12: DOLLAR p_QName + DOLLAR160=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4223); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR160_tree = this.adaptor.create(DOLLAR160); + this.adaptor.addChild(root_0, DOLLAR160_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4225); + p_QName161=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName161.getTree()); + + + break; + + } + + // XQueryParser.g:460:29: ( p_PositionalVar )? + var alt68=2; + var LA68_0 = this.input.LA(1); + + if ( (LA68_0==AT) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // XQueryParser.g:460:29: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_WindowVars4229); + p_PositionalVar162=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar162.getTree()); + + + break; + + } + + // XQueryParser.g:460:46: (k+= PREVIOUS DOLLAR p_QName )? + var alt69=2; + var LA69_0 = this.input.LA(1); + + if ( (LA69_0==PREVIOUS) ) { + alt69=1; + } + switch (alt69) { + case 1 : + // XQueryParser.g:460:47: k+= PREVIOUS DOLLAR p_QName + k=this.match(this.input,PREVIOUS,XQueryParser.FOLLOW_PREVIOUS_in_p_WindowVars4235); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR163=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4237); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR163_tree = this.adaptor.create(DOLLAR163); + this.adaptor.addChild(root_0, DOLLAR163_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4239); + p_QName164=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName164.getTree()); + + + break; + + } + + // XQueryParser.g:460:76: (k+= NEXT DOLLAR p_QName )? + var alt70=2; + var LA70_0 = this.input.LA(1); + + if ( (LA70_0==NEXT) ) { + alt70=1; + } + switch (alt70) { + case 1 : + // XQueryParser.g:460:77: k+= NEXT DOLLAR p_QName + k=this.match(this.input,NEXT,XQueryParser.FOLLOW_NEXT_in_p_WindowVars4246); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR165=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4248); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR165_tree = this.adaptor.create(DOLLAR165); + this.adaptor.addChild(root_0, DOLLAR165_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4250); + p_QName166=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName166.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CountClause_return: (function() { + XQueryParser.p_CountClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CountClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:473:1: p_CountClause : kc+= COUNT DOLLAR p_VarName ; + // $ANTLR start "p_CountClause" + p_CountClause: function() { + var retval = new XQueryParser.p_CountClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR167 = null; + var kc = null; + var list_kc=null; + var p_VarName168 = null; + + var DOLLAR167_tree=null; + var kc_tree=null; + + try { + // XQueryParser.g:474:9: (kc+= COUNT DOLLAR p_VarName ) + // XQueryParser.g:474:11: kc+= COUNT DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,COUNT,XQueryParser.FOLLOW_COUNT_in_p_CountClause4290); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + if (org.antlr.lang.isNull(list_kc)) list_kc = []; + list_kc.push(kc); + + DOLLAR167=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CountClause4292); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR167_tree = this.adaptor.create(DOLLAR167); + this.adaptor.addChild(root_0, DOLLAR167_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CountClause4294); + p_VarName168=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName168.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhereClause_return: (function() { + XQueryParser.p_WhereClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhereClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:478:1: p_WhereClause : kw+= WHERE p_ExprSingle ; + // $ANTLR start "p_WhereClause" + p_WhereClause: function() { + var retval = new XQueryParser.p_WhereClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kw = null; + var list_kw=null; + var p_ExprSingle169 = null; + + var kw_tree=null; + + try { + // XQueryParser.g:479:9: (kw+= WHERE p_ExprSingle ) + // XQueryParser.g:479:11: kw+= WHERE p_ExprSingle + root_0 = this.adaptor.nil(); + + kw=this.match(this.input,WHERE,XQueryParser.FOLLOW_WHERE_in_p_WhereClause4330); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kw_tree = this.adaptor.create(kw); + this.adaptor.addChild(root_0, kw_tree); + } + if (org.antlr.lang.isNull(list_kw)) list_kw = []; + list_kw.push(kw); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WhereClause4332); + p_ExprSingle169=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle169.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupByClause_return: (function() { + XQueryParser.p_GroupByClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupByClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:483:1: p_GroupByClause : k+= GROUP k+= BY p_GroupingSpecList ; + // $ANTLR start "p_GroupByClause" + p_GroupByClause: function() { + var retval = new XQueryParser.p_GroupByClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_GroupingSpecList170 = null; + + var k_tree=null; + + try { + // XQueryParser.g:484:9: (k+= GROUP k+= BY p_GroupingSpecList ) + // XQueryParser.g:484:13: k+= GROUP k+= BY p_GroupingSpecList + root_0 = this.adaptor.nil(); + + k=this.match(this.input,GROUP,XQueryParser.FOLLOW_GROUP_in_p_GroupByClause4362); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_GroupByClause4366); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpecList_in_p_GroupByClause4368); + p_GroupingSpecList170=this.p_GroupingSpecList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpecList170.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupingSpecList_return: (function() { + XQueryParser.p_GroupingSpecList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupingSpecList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:488:1: p_GroupingSpecList : p_GroupingSpec ( COMMA p_GroupingSpec )* ; + // $ANTLR start "p_GroupingSpecList" + p_GroupingSpecList: function() { + var retval = new XQueryParser.p_GroupingSpecList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA172 = null; + var p_GroupingSpec171 = null; + var p_GroupingSpec173 = null; + + var COMMA172_tree=null; + + try { + // XQueryParser.g:489:9: ( p_GroupingSpec ( COMMA p_GroupingSpec )* ) + // XQueryParser.g:489:13: p_GroupingSpec ( COMMA p_GroupingSpec )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4397); + p_GroupingSpec171=this.p_GroupingSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpec171.getTree()); + // XQueryParser.g:489:28: ( COMMA p_GroupingSpec )* + loop71: + do { + var alt71=2; + var LA71_0 = this.input.LA(1); + + if ( (LA71_0==COMMA) ) { + alt71=1; + } + + + switch (alt71) { + case 1 : + // XQueryParser.g:489:29: COMMA p_GroupingSpec + COMMA172=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_GroupingSpecList4400); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA172_tree = this.adaptor.create(COMMA172); + this.adaptor.addChild(root_0, COMMA172_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4402); + p_GroupingSpec173=this.p_GroupingSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpec173.getTree()); + + + break; + + default : + break loop71; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupingSpec_return: (function() { + XQueryParser.p_GroupingSpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupingSpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:493:1: p_GroupingSpec : DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? ; + // $ANTLR start "p_GroupingSpec" + p_GroupingSpec: function() { + var retval = new XQueryParser.p_GroupingSpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var DOLLAR174 = null; + var p_VarName175 = null; + var p_StringLiteral176 = null; + + var kc_tree=null; + var DOLLAR174_tree=null; + + try { + // XQueryParser.g:494:9: ( DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? ) + // XQueryParser.g:494:13: DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? + root_0 = this.adaptor.nil(); + + DOLLAR174=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_GroupingSpec4432); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR174_tree = this.adaptor.create(DOLLAR174); + this.adaptor.addChild(root_0, DOLLAR174_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_GroupingSpec4434); + p_VarName175=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName175.getTree()); + // XQueryParser.g:494:30: (kc= COLLATION p_StringLiteral )? + var alt72=2; + var LA72_0 = this.input.LA(1); + + if ( (LA72_0==COLLATION) ) { + alt72=1; + } + switch (alt72) { + case 1 : + // XQueryParser.g:494:31: kc= COLLATION p_StringLiteral + kc=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_GroupingSpec4439); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_GroupingSpec4441); + p_StringLiteral176=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral176.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderByClause_return: (function() { + XQueryParser.p_OrderByClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderByClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:498:1: p_OrderByClause : ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList ; + // $ANTLR start "p_OrderByClause" + p_OrderByClause: function() { + var retval = new XQueryParser.p_OrderByClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_OrderSpecList177 = null; + + var k_tree=null; + + try { + // XQueryParser.g:499:9: ( ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList ) + // XQueryParser.g:499:13: ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList + root_0 = this.adaptor.nil(); + + // XQueryParser.g:499:13: ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) + var alt73=2; + var LA73_0 = this.input.LA(1); + + if ( (LA73_0==ORDER) ) { + alt73=1; + } + else if ( (LA73_0==STABLE) ) { + alt73=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 73, 0, this.input); + + throw nvae; + } + switch (alt73) { + case 1 : + // XQueryParser.g:499:14: (k+= ORDER k+= BY ) + // XQueryParser.g:499:14: (k+= ORDER k+= BY ) + // XQueryParser.g:499:15: k+= ORDER k+= BY + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_p_OrderByClause4476); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_OrderByClause4480); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + case 2 : + // XQueryParser.g:499:33: (k+= STABLE k+= ORDER k+= BY ) + // XQueryParser.g:499:33: (k+= STABLE k+= ORDER k+= BY ) + // XQueryParser.g:499:34: k+= STABLE k+= ORDER k+= BY + k=this.match(this.input,STABLE,XQueryParser.FOLLOW_STABLE_in_p_OrderByClause4488); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_p_OrderByClause4492); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_OrderByClause4496); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpecList_in_p_OrderByClause4500); + p_OrderSpecList177=this.p_OrderSpecList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpecList177.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderSpecList_return: (function() { + XQueryParser.p_OrderSpecList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderSpecList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:503:1: p_OrderSpecList : p_OrderSpec ( COMMA p_OrderSpec )* ; + // $ANTLR start "p_OrderSpecList" + p_OrderSpecList: function() { + var retval = new XQueryParser.p_OrderSpecList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA179 = null; + var p_OrderSpec178 = null; + var p_OrderSpec180 = null; + + var COMMA179_tree=null; + + try { + // XQueryParser.g:504:9: ( p_OrderSpec ( COMMA p_OrderSpec )* ) + // XQueryParser.g:504:13: p_OrderSpec ( COMMA p_OrderSpec )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpec_in_p_OrderSpecList4529); + p_OrderSpec178=this.p_OrderSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpec178.getTree()); + // XQueryParser.g:504:25: ( COMMA p_OrderSpec )* + loop74: + do { + var alt74=2; + var LA74_0 = this.input.LA(1); + + if ( (LA74_0==COMMA) ) { + alt74=1; + } + + + switch (alt74) { + case 1 : + // XQueryParser.g:504:26: COMMA p_OrderSpec + COMMA179=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_OrderSpecList4532); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA179_tree = this.adaptor.create(COMMA179); + this.adaptor.addChild(root_0, COMMA179_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpec_in_p_OrderSpecList4534); + p_OrderSpec180=this.p_OrderSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpec180.getTree()); + + + break; + + default : + break loop74; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderSpec_return: (function() { + XQueryParser.p_OrderSpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderSpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:508:1: p_OrderSpec : p_ExprSingle p_OrderModifier ; + // $ANTLR start "p_OrderSpec" + p_OrderSpec: function() { + var retval = new XQueryParser.p_OrderSpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle181 = null; + var p_OrderModifier182 = null; + + + try { + // XQueryParser.g:509:9: ( p_ExprSingle p_OrderModifier ) + // XQueryParser.g:509:13: p_ExprSingle p_OrderModifier + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_OrderSpec4564); + p_ExprSingle181=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle181.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_OrderModifier_in_p_OrderSpec4566); + p_OrderModifier182=this.p_OrderModifier(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderModifier182.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderModifier_return: (function() { + XQueryParser.p_OrderModifier_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderModifier_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:513:1: p_OrderModifier : (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? ; + // $ANTLR start "p_OrderModifier" + p_OrderModifier: function() { + var retval = new XQueryParser.p_OrderModifier_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var k = null; + var list_k=null; + var p_StringLiteral183 = null; + + var ka_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:514:9: ( (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? ) + // XQueryParser.g:514:11: (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:514:11: (ka= ASCENDING | k+= DESCENDING )? + var alt75=3; + var LA75_0 = this.input.LA(1); + + if ( (LA75_0==ASCENDING) ) { + alt75=1; + } + else if ( (LA75_0==DESCENDING) ) { + alt75=2; + } + switch (alt75) { + case 1 : + // XQueryParser.g:514:12: ka= ASCENDING + ka=this.match(this.input,ASCENDING,XQueryParser.FOLLOW_ASCENDING_in_p_OrderModifier4595); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + + + break; + case 2 : + // XQueryParser.g:514:27: k+= DESCENDING + k=this.match(this.input,DESCENDING,XQueryParser.FOLLOW_DESCENDING_in_p_OrderModifier4601); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + // XQueryParser.g:514:43: (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? + var alt77=2; + var LA77_0 = this.input.LA(1); + + if ( (LA77_0==EMPTY) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // XQueryParser.g:514:44: k+= EMPTY (k+= GREATEST | k+= LEAST ) + k=this.match(this.input,EMPTY,XQueryParser.FOLLOW_EMPTY_in_p_OrderModifier4608); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:514:53: (k+= GREATEST | k+= LEAST ) + var alt76=2; + var LA76_0 = this.input.LA(1); + + if ( (LA76_0==GREATEST) ) { + alt76=1; + } + else if ( (LA76_0==LEAST) ) { + alt76=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 76, 0, this.input); + + throw nvae; + } + switch (alt76) { + case 1 : + // XQueryParser.g:514:54: k+= GREATEST + k=this.match(this.input,GREATEST,XQueryParser.FOLLOW_GREATEST_in_p_OrderModifier4613); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:514:68: k+= LEAST + k=this.match(this.input,LEAST,XQueryParser.FOLLOW_LEAST_in_p_OrderModifier4619); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + break; + + } + + // XQueryParser.g:514:80: (k+= COLLATION p_StringLiteral )? + var alt78=2; + var LA78_0 = this.input.LA(1); + + if ( (LA78_0==COLLATION) ) { + alt78=1; + } + switch (alt78) { + case 1 : + // XQueryParser.g:514:81: k+= COLLATION p_StringLiteral + k=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_OrderModifier4627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_OrderModifier4629); + p_StringLiteral183=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral183.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReturnClause_return: (function() { + XQueryParser.p_ReturnClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReturnClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:518:1: p_ReturnClause : kr= RETURN p_ExprSingle ; + // $ANTLR start "p_ReturnClause" + p_ReturnClause: function() { + var retval = new XQueryParser.p_ReturnClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kr = null; + var p_ExprSingle184 = null; + + var kr_tree=null; + + try { + // XQueryParser.g:519:9: (kr= RETURN p_ExprSingle ) + // XQueryParser.g:519:11: kr= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + kr=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_ReturnClause4660); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kr_tree = this.adaptor.create(kr); + this.adaptor.addChild(root_0, kr_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReturnClause4662); + p_ExprSingle184=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle184.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QuantifiedExpr_return: (function() { + XQueryParser.p_QuantifiedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QuantifiedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:523:1: p_QuantifiedExpr : (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle ; + // $ANTLR start "p_QuantifiedExpr" + p_QuantifiedExpr: function() { + var retval = new XQueryParser.p_QuantifiedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR185 = null; + var COMMA189 = null; + var DOLLAR190 = null; + var k = null; + var list_k=null; + var p_VarName186 = null; + var p_TypeDeclaration187 = null; + var p_ExprSingle188 = null; + var p_QName191 = null; + var p_TypeDeclaration192 = null; + var p_ExprSingle193 = null; + var p_ExprSingle194 = null; + + var DOLLAR185_tree=null; + var COMMA189_tree=null; + var DOLLAR190_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:524:9: ( (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle ) + // XQueryParser.g:524:13: (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle + root_0 = this.adaptor.nil(); + + // XQueryParser.g:524:13: (k+= SOME | k+= EVERY ) + var alt79=2; + var LA79_0 = this.input.LA(1); + + if ( (LA79_0==SOME) ) { + alt79=1; + } + else if ( (LA79_0==EVERY) ) { + alt79=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 79, 0, this.input); + + throw nvae; + } + switch (alt79) { + case 1 : + // XQueryParser.g:524:14: k+= SOME + k=this.match(this.input,SOME,XQueryParser.FOLLOW_SOME_in_p_QuantifiedExpr4693); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:524:24: k+= EVERY + k=this.match(this.input,EVERY,XQueryParser.FOLLOW_EVERY_in_p_QuantifiedExpr4699); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + DOLLAR185=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_QuantifiedExpr4702); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR185_tree = this.adaptor.create(DOLLAR185); + this.adaptor.addChild(root_0, DOLLAR185_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_QuantifiedExpr4704); + p_VarName186=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName186.getTree()); + // XQueryParser.g:524:51: ( p_TypeDeclaration )? + var alt80=2; + var LA80_0 = this.input.LA(1); + + if ( (LA80_0==AS) ) { + alt80=1; + } + switch (alt80) { + case 1 : + // XQueryParser.g:524:51: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4706); + p_TypeDeclaration187=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration187.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_QuantifiedExpr4711); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4713); + p_ExprSingle188=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle188.getTree()); + // XQueryParser.g:524:89: ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* + loop82: + do { + var alt82=2; + var LA82_0 = this.input.LA(1); + + if ( (LA82_0==COMMA) ) { + alt82=1; + } + + + switch (alt82) { + case 1 : + // XQueryParser.g:524:90: COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle + COMMA189=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_QuantifiedExpr4716); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA189_tree = this.adaptor.create(COMMA189); + this.adaptor.addChild(root_0, COMMA189_tree); + } + DOLLAR190=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_QuantifiedExpr4718); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR190_tree = this.adaptor.create(DOLLAR190); + this.adaptor.addChild(root_0, DOLLAR190_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_QuantifiedExpr4720); + p_QName191=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName191.getTree()); + // XQueryParser.g:524:111: ( p_TypeDeclaration )? + var alt81=2; + var LA81_0 = this.input.LA(1); + + if ( (LA81_0==AS) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // XQueryParser.g:524:111: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4722); + p_TypeDeclaration192=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration192.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_QuantifiedExpr4727); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4729); + p_ExprSingle193=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle193.getTree()); + + + break; + + default : + break loop82; + } + } while (true); + + k=this.match(this.input,SATISFIES,XQueryParser.FOLLOW_SATISFIES_in_p_QuantifiedExpr4735); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4737); + p_ExprSingle194=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle194.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeswitchExpr_return: (function() { + XQueryParser.p_TypeswitchExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeswitchExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:528:1: p_TypeswitchExpr : k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle ; + // $ANTLR start "p_TypeswitchExpr" + p_TypeswitchExpr: function() { + var retval = new XQueryParser.p_TypeswitchExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN195 = null; + var RPAREN197 = null; + var DOLLAR199 = null; + var k = null; + var list_k=null; + var pm_Expr196 = null; + var p_CaseClause198 = null; + var p_VarName200 = null; + var p_ExprSingle201 = null; + + var LPAREN195_tree=null; + var RPAREN197_tree=null; + var DOLLAR199_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:529:9: (k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle ) + // XQueryParser.g:529:11: k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TYPESWITCH,XQueryParser.FOLLOW_TYPESWITCH_in_p_TypeswitchExpr4766); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + LPAREN195=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_TypeswitchExpr4768); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN195_tree = this.adaptor.create(LPAREN195); + this.adaptor.addChild(root_0, LPAREN195_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_TypeswitchExpr4770); + pm_Expr196=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr196.getTree()); + RPAREN197=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_TypeswitchExpr4772); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN197_tree = this.adaptor.create(RPAREN197); + this.adaptor.addChild(root_0, RPAREN197_tree); + } + // XQueryParser.g:529:47: ( p_CaseClause )+ + var cnt83=0; + loop83: + do { + var alt83=2; + var LA83_0 = this.input.LA(1); + + if ( (LA83_0==CASE) ) { + alt83=1; + } + + + switch (alt83) { + case 1 : + // XQueryParser.g:529:47: p_CaseClause + this.pushFollow(XQueryParser.FOLLOW_p_CaseClause_in_p_TypeswitchExpr4774); + p_CaseClause198=this.p_CaseClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CaseClause198.getTree()); + + + break; + + default : + if ( cnt83 >= 1 ) { + break loop83; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(83, this.input); + throw eee; + } + cnt83++; + } while (true); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_TypeswitchExpr4779); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:529:72: ( DOLLAR p_VarName )? + var alt84=2; + var LA84_0 = this.input.LA(1); + + if ( (LA84_0==DOLLAR) ) { + alt84=1; + } + switch (alt84) { + case 1 : + // XQueryParser.g:529:73: DOLLAR p_VarName + DOLLAR199=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TypeswitchExpr4782); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR199_tree = this.adaptor.create(DOLLAR199); + this.adaptor.addChild(root_0, DOLLAR199_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TypeswitchExpr4784); + p_VarName200=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName200.getTree()); + + + break; + + } + + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_TypeswitchExpr4790); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TypeswitchExpr4792); + p_ExprSingle201=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle201.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CaseClause_return: (function() { + XQueryParser.p_CaseClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CaseClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:533:1: p_CaseClause : k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle ; + // $ANTLR start "p_CaseClause" + p_CaseClause: function() { + var retval = new XQueryParser.p_CaseClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR202 = null; + var k = null; + var list_k=null; + var p_VarName203 = null; + var p_SequenceType204 = null; + var p_ExprSingle205 = null; + + var DOLLAR202_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:534:9: (k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle ) + // XQueryParser.g:534:11: k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,CASE,XQueryParser.FOLLOW_CASE_in_p_CaseClause4821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:534:19: ( DOLLAR p_VarName k+= AS )? + var alt85=2; + var LA85_0 = this.input.LA(1); + + if ( (LA85_0==DOLLAR) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // XQueryParser.g:534:20: DOLLAR p_VarName k+= AS + DOLLAR202=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CaseClause4824); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR202_tree = this.adaptor.create(DOLLAR202); + this.adaptor.addChild(root_0, DOLLAR202_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CaseClause4826); + p_VarName203=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName203.getTree()); + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CaseClause4830); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_CaseClause4834); + p_SequenceType204=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType204.getTree()); + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_CaseClause4838); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_CaseClause4840); + p_ExprSingle205=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle205.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IfExpr_return: (function() { + XQueryParser.p_IfExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IfExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:538:1: p_IfExpr : k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle ; + // $ANTLR start "p_IfExpr" + p_IfExpr: function() { + var retval = new XQueryParser.p_IfExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN206 = null; + var RPAREN208 = null; + var k = null; + var list_k=null; + var pm_Expr207 = null; + var p_ExprSingle209 = null; + var p_ExprSingle210 = null; + + var LPAREN206_tree=null; + var RPAREN208_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:539:9: (k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle ) + // XQueryParser.g:539:11: k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,IF,XQueryParser.FOLLOW_IF_in_p_IfExpr4869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + LPAREN206=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_IfExpr4871); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN206_tree = this.adaptor.create(LPAREN206); + this.adaptor.addChild(root_0, LPAREN206_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_IfExpr4873); + pm_Expr207=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr207.getTree()); + RPAREN208=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_IfExpr4875); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN208_tree = this.adaptor.create(RPAREN208); + this.adaptor.addChild(root_0, RPAREN208_tree); + } + k=this.match(this.input,THEN,XQueryParser.FOLLOW_THEN_in_p_IfExpr4879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_IfExpr4881); + p_ExprSingle209=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle209.getTree()); + k=this.match(this.input,ELSE,XQueryParser.FOLLOW_ELSE_in_p_IfExpr4885); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_IfExpr4887); + p_ExprSingle210=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle210.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrExpr_return: (function() { + XQueryParser.p_OrExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:543:1: p_OrExpr : p_AndExpr (k= OR p_AndExpr )* ; + // $ANTLR start "p_OrExpr" + p_OrExpr: function() { + var retval = new XQueryParser.p_OrExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_AndExpr211 = null; + var p_AndExpr212 = null; + + var k_tree=null; + + try { + // XQueryParser.g:544:9: ( p_AndExpr (k= OR p_AndExpr )* ) + // XQueryParser.g:544:11: p_AndExpr (k= OR p_AndExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AndExpr_in_p_OrExpr4914); + p_AndExpr211=this.p_AndExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AndExpr211.getTree()); + // XQueryParser.g:544:21: (k= OR p_AndExpr )* + loop86: + do { + var alt86=2; + var LA86_0 = this.input.LA(1); + + if ( (LA86_0==OR) ) { + alt86=1; + } + + + switch (alt86) { + case 1 : + // XQueryParser.g:544:23: k= OR p_AndExpr + k=this.match(this.input,OR,XQueryParser.FOLLOW_OR_in_p_OrExpr4920); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AndExpr_in_p_OrExpr4923); + p_AndExpr212=this.p_AndExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AndExpr212.getTree()); + + + break; + + default : + break loop86; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AndExpr_return: (function() { + XQueryParser.p_AndExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AndExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:548:1: p_AndExpr : p_ComparisonExpr (k= AND p_ComparisonExpr )* ; + // $ANTLR start "p_AndExpr" + p_AndExpr: function() { + var retval = new XQueryParser.p_AndExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_ComparisonExpr213 = null; + var p_ComparisonExpr214 = null; + + var k_tree=null; + + try { + // XQueryParser.g:549:9: ( p_ComparisonExpr (k= AND p_ComparisonExpr )* ) + // XQueryParser.g:549:13: p_ComparisonExpr (k= AND p_ComparisonExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ComparisonExpr_in_p_AndExpr4954); + p_ComparisonExpr213=this.p_ComparisonExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComparisonExpr213.getTree()); + // XQueryParser.g:549:30: (k= AND p_ComparisonExpr )* + loop87: + do { + var alt87=2; + var LA87_0 = this.input.LA(1); + + if ( (LA87_0==AND) ) { + alt87=1; + } + + + switch (alt87) { + case 1 : + // XQueryParser.g:549:32: k= AND p_ComparisonExpr + k=this.match(this.input,AND,XQueryParser.FOLLOW_AND_in_p_AndExpr4960); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ComparisonExpr_in_p_AndExpr4963); + p_ComparisonExpr214=this.p_ComparisonExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComparisonExpr214.getTree()); + + + break; + + default : + break loop87; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ComparisonExpr_return: (function() { + XQueryParser.p_ComparisonExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ComparisonExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:553:1: p_ComparisonExpr : p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? ; + // $ANTLR start "p_ComparisonExpr" + p_ComparisonExpr: function() { + var retval = new XQueryParser.p_ComparisonExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_RangeExpr215 = null; + var p_ValueComp216 = null; + var p_GeneralComp217 = null; + var p_NodeComp218 = null; + var p_RangeExpr219 = null; + + + try { + // XQueryParser.g:554:9: ( p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? ) + // XQueryParser.g:554:13: p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_RangeExpr_in_p_ComparisonExpr4994); + p_RangeExpr215=this.p_RangeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RangeExpr215.getTree()); + // XQueryParser.g:554:25: ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? + var alt89=2; + var LA89_0 = this.input.LA(1); + + if ( (LA89_0==EQ||LA89_0==GE||LA89_0==GT||LA89_0==IS||LA89_0==LE||LA89_0==LT||LA89_0==NE||LA89_0==EQUAL||LA89_0==NOTEQUAL||(LA89_0>=SMALLER && LA89_0<=GREATER_GREATER)) ) { + alt89=1; + } + switch (alt89) { + case 1 : + // XQueryParser.g:554:27: ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr + // XQueryParser.g:554:27: ( p_ValueComp | p_GeneralComp | p_NodeComp ) + var alt88=3; + switch ( this.input.LA(1) ) { + case EQ: + case GE: + case GT: + case LE: + case LT: + case NE: + alt88=1; + break; + case EQUAL: + case NOTEQUAL: + case SMALLER: + case GREATER: + case SMALLEREQ: + case GREATEREQ: + alt88=2; + break; + case IS: + case SMALLER_SMALLER: + case GREATER_GREATER: + alt88=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 88, 0, this.input); + + throw nvae; + } + + switch (alt88) { + case 1 : + // XQueryParser.g:554:28: p_ValueComp + this.pushFollow(XQueryParser.FOLLOW_p_ValueComp_in_p_ComparisonExpr4999); + p_ValueComp216=this.p_ValueComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValueComp216.getTree()); + + + break; + case 2 : + // XQueryParser.g:554:42: p_GeneralComp + this.pushFollow(XQueryParser.FOLLOW_p_GeneralComp_in_p_ComparisonExpr5003); + p_GeneralComp217=this.p_GeneralComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GeneralComp217.getTree()); + + + break; + case 3 : + // XQueryParser.g:554:58: p_NodeComp + this.pushFollow(XQueryParser.FOLLOW_p_NodeComp_in_p_ComparisonExpr5007); + p_NodeComp218=this.p_NodeComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeComp218.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_RangeExpr_in_p_ComparisonExpr5010); + p_RangeExpr219=this.p_RangeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RangeExpr219.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RangeExpr_return: (function() { + XQueryParser.p_RangeExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RangeExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:558:1: p_RangeExpr : p_AdditiveExpr (k= TO p_AdditiveExpr )? ; + // $ANTLR start "p_RangeExpr" + p_RangeExpr: function() { + var retval = new XQueryParser.p_RangeExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_AdditiveExpr220 = null; + var p_AdditiveExpr221 = null; + + var k_tree=null; + + try { + // XQueryParser.g:559:9: ( p_AdditiveExpr (k= TO p_AdditiveExpr )? ) + // XQueryParser.g:559:13: p_AdditiveExpr (k= TO p_AdditiveExpr )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AdditiveExpr_in_p_RangeExpr5041); + p_AdditiveExpr220=this.p_AdditiveExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AdditiveExpr220.getTree()); + // XQueryParser.g:559:28: (k= TO p_AdditiveExpr )? + var alt90=2; + var LA90_0 = this.input.LA(1); + + if ( (LA90_0==TO) ) { + alt90=1; + } + switch (alt90) { + case 1 : + // XQueryParser.g:559:30: k= TO p_AdditiveExpr + k=this.match(this.input,TO,XQueryParser.FOLLOW_TO_in_p_RangeExpr5047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AdditiveExpr_in_p_RangeExpr5050); + p_AdditiveExpr221=this.p_AdditiveExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AdditiveExpr221.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AdditiveExpr_return: (function() { + XQueryParser.p_AdditiveExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AdditiveExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:563:1: p_AdditiveExpr : p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* ; + // $ANTLR start "p_AdditiveExpr" + p_AdditiveExpr: function() { + var retval = new XQueryParser.p_AdditiveExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set223 = null; + var p_MultiplicativeExpr222 = null; + var p_MultiplicativeExpr224 = null; + + var set223_tree=null; + + try { + // XQueryParser.g:564:9: ( p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* ) + // XQueryParser.g:564:13: p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5081); + p_MultiplicativeExpr222=this.p_MultiplicativeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_MultiplicativeExpr222.getTree()); + // XQueryParser.g:564:34: ( ( PLUS | MINUS ) p_MultiplicativeExpr )* + loop91: + do { + var alt91=2; + var LA91_0 = this.input.LA(1); + + if ( ((LA91_0>=PLUS && LA91_0<=MINUS)) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // XQueryParser.g:564:36: ( PLUS | MINUS ) p_MultiplicativeExpr + set223=this.input.LT(1); + if ( (this.input.LA(1)>=PLUS && this.input.LA(1)<=MINUS) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set223)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + this.pushFollow(XQueryParser.FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5093); + p_MultiplicativeExpr224=this.p_MultiplicativeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_MultiplicativeExpr224.getTree()); + + + break; + + default : + break loop91; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_MultiplicativeExpr_return: (function() { + XQueryParser.p_MultiplicativeExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_MultiplicativeExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:568:1: p_MultiplicativeExpr : p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* ; + // $ANTLR start "p_MultiplicativeExpr" + p_MultiplicativeExpr: function() { + var retval = new XQueryParser.p_MultiplicativeExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kd = null; + var ki = null; + var km = null; + var STAR226 = null; + var p_UnionExpr225 = null; + var p_UnionExpr227 = null; + + var kd_tree=null; + var ki_tree=null; + var km_tree=null; + var STAR226_tree=null; + + try { + // XQueryParser.g:569:9: ( p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* ) + // XQueryParser.g:569:13: p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5124); + p_UnionExpr225=this.p_UnionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnionExpr225.getTree()); + // XQueryParser.g:569:25: ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* + loop93: + do { + var alt93=2; + var LA93_0 = this.input.LA(1); + + if ( (LA93_0==DIV||LA93_0==IDIV||LA93_0==MOD||LA93_0==STAR) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // XQueryParser.g:569:27: ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr + // XQueryParser.g:569:27: ( STAR | kd= DIV | ki= IDIV | km= MOD ) + var alt92=4; + switch ( this.input.LA(1) ) { + case STAR: + alt92=1; + break; + case DIV: + alt92=2; + break; + case IDIV: + alt92=3; + break; + case MOD: + alt92=4; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 92, 0, this.input); + + throw nvae; + } + + switch (alt92) { + case 1 : + // XQueryParser.g:569:28: STAR + STAR226=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_MultiplicativeExpr5129); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR226_tree = this.adaptor.create(STAR226); + this.adaptor.addChild(root_0, STAR226_tree); + } + + + break; + case 2 : + // XQueryParser.g:569:35: kd= DIV + kd=this.match(this.input,DIV,XQueryParser.FOLLOW_DIV_in_p_MultiplicativeExpr5135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kd_tree = this.adaptor.create(kd); + this.adaptor.addChild(root_0, kd_tree); + } + + + break; + case 3 : + // XQueryParser.g:569:44: ki= IDIV + ki=this.match(this.input,IDIV,XQueryParser.FOLLOW_IDIV_in_p_MultiplicativeExpr5141); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + if ( this.state.backtracking===0 ) { + } + + + break; + case 4 : + // XQueryParser.g:569:57: km= MOD + km=this.match(this.input,MOD,XQueryParser.FOLLOW_MOD_in_p_MultiplicativeExpr5149); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + km_tree = this.adaptor.create(km); + this.adaptor.addChild(root_0, km_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5153); + p_UnionExpr227=this.p_UnionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnionExpr227.getTree()); + + + break; + + default : + break loop93; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnionExpr_return: (function() { + XQueryParser.p_UnionExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnionExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:573:1: p_UnionExpr : p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* ; + // $ANTLR start "p_UnionExpr" + p_UnionExpr: function() { + var retval = new XQueryParser.p_UnionExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var VBAR229 = null; + var p_IntersectExceptExpr228 = null; + var p_IntersectExceptExpr230 = null; + + var ku_tree=null; + var VBAR229_tree=null; + + try { + // XQueryParser.g:574:9: ( p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* ) + // XQueryParser.g:574:13: p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5184); + p_IntersectExceptExpr228=this.p_IntersectExceptExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntersectExceptExpr228.getTree()); + // XQueryParser.g:574:35: ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* + loop95: + do { + var alt95=2; + var LA95_0 = this.input.LA(1); + + if ( (LA95_0==UNION||LA95_0==VBAR) ) { + alt95=1; + } + + + switch (alt95) { + case 1 : + // XQueryParser.g:574:37: (ku= UNION | VBAR ) p_IntersectExceptExpr + // XQueryParser.g:574:37: (ku= UNION | VBAR ) + var alt94=2; + var LA94_0 = this.input.LA(1); + + if ( (LA94_0==UNION) ) { + alt94=1; + } + else if ( (LA94_0==VBAR) ) { + alt94=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 94, 0, this.input); + + throw nvae; + } + switch (alt94) { + case 1 : + // XQueryParser.g:574:38: ku= UNION + ku=this.match(this.input,UNION,XQueryParser.FOLLOW_UNION_in_p_UnionExpr5191); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + + + break; + case 2 : + // XQueryParser.g:574:49: VBAR + VBAR229=this.match(this.input,VBAR,XQueryParser.FOLLOW_VBAR_in_p_UnionExpr5195); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + VBAR229_tree = this.adaptor.create(VBAR229); + this.adaptor.addChild(root_0, VBAR229_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5198); + p_IntersectExceptExpr230=this.p_IntersectExceptExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntersectExceptExpr230.getTree()); + + + break; + + default : + break loop95; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IntersectExceptExpr_return: (function() { + XQueryParser.p_IntersectExceptExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IntersectExceptExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:578:1: p_IntersectExceptExpr : p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* ; + // $ANTLR start "p_IntersectExceptExpr" + p_IntersectExceptExpr: function() { + var retval = new XQueryParser.p_IntersectExceptExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_InstanceofExpr231 = null; + var p_InstanceofExpr232 = null; + + var k_tree=null; + + try { + // XQueryParser.g:579:9: ( p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* ) + // XQueryParser.g:579:13: p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5229); + p_InstanceofExpr231=this.p_InstanceofExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InstanceofExpr231.getTree()); + // XQueryParser.g:579:30: ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* + loop97: + do { + var alt97=2; + var LA97_0 = this.input.LA(1); + + if ( (LA97_0==EXCEPT||LA97_0==INTERSECT) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // XQueryParser.g:579:32: (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr + // XQueryParser.g:579:32: (k= INTERSECT | k= EXCEPT ) + var alt96=2; + var LA96_0 = this.input.LA(1); + + if ( (LA96_0==INTERSECT) ) { + alt96=1; + } + else if ( (LA96_0==EXCEPT) ) { + alt96=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 96, 0, this.input); + + throw nvae; + } + switch (alt96) { + case 1 : + // XQueryParser.g:579:33: k= INTERSECT + k=this.match(this.input,INTERSECT,XQueryParser.FOLLOW_INTERSECT_in_p_IntersectExceptExpr5236); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:579:47: k= EXCEPT + k=this.match(this.input,EXCEPT,XQueryParser.FOLLOW_EXCEPT_in_p_IntersectExceptExpr5242); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5246); + p_InstanceofExpr232=this.p_InstanceofExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InstanceofExpr232.getTree()); + + + break; + + default : + break loop97; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InstanceofExpr_return: (function() { + XQueryParser.p_InstanceofExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InstanceofExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:583:1: p_InstanceofExpr : p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? ; + // $ANTLR start "p_InstanceofExpr" + p_InstanceofExpr: function() { + var retval = new XQueryParser.p_InstanceofExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ki = null; + var ko = null; + var p_TreatExpr233 = null; + var p_SequenceType234 = null; + + var ki_tree=null; + var ko_tree=null; + + try { + // XQueryParser.g:584:9: ( p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? ) + // XQueryParser.g:584:13: p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TreatExpr_in_p_InstanceofExpr5277); + p_TreatExpr233=this.p_TreatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TreatExpr233.getTree()); + // XQueryParser.g:584:25: (ki= INSTANCE ko= OF p_SequenceType )? + var alt98=2; + var LA98_0 = this.input.LA(1); + + if ( (LA98_0==INSTANCE) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // XQueryParser.g:584:27: ki= INSTANCE ko= OF p_SequenceType + ki=this.match(this.input,INSTANCE,XQueryParser.FOLLOW_INSTANCE_in_p_InstanceofExpr5283); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + ko=this.match(this.input,OF,XQueryParser.FOLLOW_OF_in_p_InstanceofExpr5287); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ko_tree = this.adaptor.create(ko); + this.adaptor.addChild(root_0, ko_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_InstanceofExpr5289); + p_SequenceType234=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType234.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TreatExpr_return: (function() { + XQueryParser.p_TreatExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TreatExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:588:1: p_TreatExpr : p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? ; + // $ANTLR start "p_TreatExpr" + p_TreatExpr: function() { + var retval = new XQueryParser.p_TreatExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kt = null; + var ka = null; + var p_CastableExpr235 = null; + var p_SequenceType236 = null; + + var kt_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:589:9: ( p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? ) + // XQueryParser.g:589:13: p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CastableExpr_in_p_TreatExpr5319); + p_CastableExpr235=this.p_CastableExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CastableExpr235.getTree()); + // XQueryParser.g:589:28: (kt= TREAT ka= AS p_SequenceType )? + var alt99=2; + var LA99_0 = this.input.LA(1); + + if ( (LA99_0==TREAT) ) { + alt99=1; + } + switch (alt99) { + case 1 : + // XQueryParser.g:589:30: kt= TREAT ka= AS p_SequenceType + kt=this.match(this.input,TREAT,XQueryParser.FOLLOW_TREAT_in_p_TreatExpr5325); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kt_tree = this.adaptor.create(kt); + this.adaptor.addChild(root_0, kt_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_TreatExpr5329); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_TreatExpr5331); + p_SequenceType236=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType236.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CastableExpr_return: (function() { + XQueryParser.p_CastableExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CastableExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:593:1: p_CastableExpr : p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? ; + // $ANTLR start "p_CastableExpr" + p_CastableExpr: function() { + var retval = new XQueryParser.p_CastableExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var ka = null; + var p_CastExpr237 = null; + var p_SingleType238 = null; + + var kc_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:594:9: ( p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? ) + // XQueryParser.g:594:13: p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CastExpr_in_p_CastableExpr5370); + p_CastExpr237=this.p_CastExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CastExpr237.getTree()); + // XQueryParser.g:594:24: (kc= CASTABLE ka= AS p_SingleType )? + var alt100=2; + var LA100_0 = this.input.LA(1); + + if ( (LA100_0==CASTABLE) ) { + alt100=1; + } + switch (alt100) { + case 1 : + // XQueryParser.g:594:26: kc= CASTABLE ka= AS p_SingleType + kc=this.match(this.input,CASTABLE,XQueryParser.FOLLOW_CASTABLE_in_p_CastableExpr5376); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CastableExpr5380); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SingleType_in_p_CastableExpr5382); + p_SingleType238=this.p_SingleType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SingleType238.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CastExpr_return: (function() { + XQueryParser.p_CastExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CastExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:598:1: p_CastExpr : p_UnaryExpr (kc= CAST ka= AS p_SingleType )? ; + // $ANTLR start "p_CastExpr" + p_CastExpr: function() { + var retval = new XQueryParser.p_CastExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var ka = null; + var p_UnaryExpr239 = null; + var p_SingleType240 = null; + + var kc_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:599:9: ( p_UnaryExpr (kc= CAST ka= AS p_SingleType )? ) + // XQueryParser.g:599:13: p_UnaryExpr (kc= CAST ka= AS p_SingleType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnaryExpr_in_p_CastExpr5421); + p_UnaryExpr239=this.p_UnaryExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnaryExpr239.getTree()); + // XQueryParser.g:599:25: (kc= CAST ka= AS p_SingleType )? + var alt101=2; + var LA101_0 = this.input.LA(1); + + if ( (LA101_0==CAST) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // XQueryParser.g:599:27: kc= CAST ka= AS p_SingleType + kc=this.match(this.input,CAST,XQueryParser.FOLLOW_CAST_in_p_CastExpr5427); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CastExpr5431); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SingleType_in_p_CastExpr5433); + p_SingleType240=this.p_SingleType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SingleType240.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnaryExpr_return: (function() { + XQueryParser.p_UnaryExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnaryExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:603:1: p_UnaryExpr : ( PLUS | MINUS )* p_ValueExpr -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) ; + // $ANTLR start "p_UnaryExpr" + p_UnaryExpr: function() { + var retval = new XQueryParser.p_UnaryExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PLUS241 = null; + var MINUS242 = null; + var p_ValueExpr243 = null; + + var PLUS241_tree=null; + var MINUS242_tree=null; + var stream_PLUS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token PLUS"); + var stream_MINUS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MINUS"); + var stream_p_ValueExpr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ValueExpr"); + try { + // XQueryParser.g:604:9: ( ( PLUS | MINUS )* p_ValueExpr -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) ) + // XQueryParser.g:604:13: ( PLUS | MINUS )* p_ValueExpr + // XQueryParser.g:604:13: ( PLUS | MINUS )* + loop102: + do { + var alt102=3; + var LA102_0 = this.input.LA(1); + + if ( (LA102_0==PLUS) ) { + alt102=1; + } + else if ( (LA102_0==MINUS) ) { + alt102=2; + } + + + switch (alt102) { + case 1 : + // XQueryParser.g:604:14: PLUS + PLUS241=this.match(this.input,PLUS,XQueryParser.FOLLOW_PLUS_in_p_UnaryExpr5465); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_PLUS.add(PLUS241); + + + + break; + case 2 : + // XQueryParser.g:604:21: MINUS + MINUS242=this.match(this.input,MINUS,XQueryParser.FOLLOW_MINUS_in_p_UnaryExpr5469); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MINUS.add(MINUS242); + + + + break; + + default : + break loop102; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_p_ValueExpr_in_p_UnaryExpr5473); + p_ValueExpr243=this.p_ValueExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ValueExpr.add(p_ValueExpr243.getTree()); + + + // AST REWRITE + // elements: PLUS, p_ValueExpr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 605:17: -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) + { + // XQueryParser.g:605:20: ^( UnaryExpr ( PLUS )* p_ValueExpr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(UnaryExpr, "UnaryExpr"), root_1); + + // XQueryParser.g:605:32: ( PLUS )* + while ( stream_PLUS.hasNext() ) { + this.adaptor.addChild(root_1, stream_PLUS.nextNode()); + + } + stream_PLUS.reset(); + this.adaptor.addChild(root_1, stream_p_ValueExpr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValueExpr_return: (function() { + XQueryParser.p_ValueExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValueExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:612:1: p_ValueExpr : ( p_ValidateExpr | p_PathExpr | p_ExtensionExpr ); + // $ANTLR start "p_ValueExpr" + p_ValueExpr: function() { + var retval = new XQueryParser.p_ValueExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ValidateExpr244 = null; + var p_PathExpr245 = null; + var p_ExtensionExpr246 = null; + + + try { + // XQueryParser.g:613:9: ( p_ValidateExpr | p_PathExpr | p_ExtensionExpr ) + var alt103=3; + alt103 = this.dfa103.predict(this.input); + switch (alt103) { + case 1 : + // XQueryParser.g:613:11: p_ValidateExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ValidateExpr_in_p_ValueExpr5529); + p_ValidateExpr244=this.p_ValidateExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValidateExpr244.getTree()); + + + break; + case 2 : + // XQueryParser.g:614:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ValueExpr5541); + p_PathExpr245=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr245.getTree()); + + + break; + case 3 : + // XQueryParser.g:615:11: p_ExtensionExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExtensionExpr_in_p_ValueExpr5553); + p_ExtensionExpr246=this.p_ExtensionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExtensionExpr246.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GeneralComp_return: (function() { + XQueryParser.p_GeneralComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GeneralComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:619:1: p_GeneralComp : ( EQUAL | NOTEQUAL | SMALLER | SMALLEREQ | GREATER | GREATEREQ ); + // $ANTLR start "p_GeneralComp" + p_GeneralComp: function() { + var retval = new XQueryParser.p_GeneralComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set247 = null; + + var set247_tree=null; + + try { + // XQueryParser.g:620:9: ( EQUAL | NOTEQUAL | SMALLER | SMALLEREQ | GREATER | GREATEREQ ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set247=this.input.LT(1); + if ( this.input.LA(1)==EQUAL||this.input.LA(1)==NOTEQUAL||(this.input.LA(1)>=SMALLER && this.input.LA(1)<=GREATEREQ) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set247)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValueComp_return: (function() { + XQueryParser.p_ValueComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValueComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:624:1: p_ValueComp : (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) ; + // $ANTLR start "p_ValueComp" + p_ValueComp: function() { + var retval = new XQueryParser.p_ValueComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + + var k_tree=null; + + try { + // XQueryParser.g:625:9: ( (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) ) + // XQueryParser.g:625:13: (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:625:13: (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) + var alt104=6; + switch ( this.input.LA(1) ) { + case EQ: + alt104=1; + break; + case NE: + alt104=2; + break; + case LT: + alt104=3; + break; + case LE: + alt104=4; + break; + case GT: + alt104=5; + break; + case GE: + alt104=6; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 104, 0, this.input); + + throw nvae; + } + + switch (alt104) { + case 1 : + // XQueryParser.g:625:14: k= EQ + k=this.match(this.input,EQ,XQueryParser.FOLLOW_EQ_in_p_ValueComp5632); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:625:21: k= NE + k=this.match(this.input,NE,XQueryParser.FOLLOW_NE_in_p_ValueComp5638); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:625:28: k= LT + k=this.match(this.input,LT,XQueryParser.FOLLOW_LT_in_p_ValueComp5644); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 4 : + // XQueryParser.g:625:35: k= LE + k=this.match(this.input,LE,XQueryParser.FOLLOW_LE_in_p_ValueComp5650); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 5 : + // XQueryParser.g:625:42: k= GT + k=this.match(this.input,GT,XQueryParser.FOLLOW_GT_in_p_ValueComp5656); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 6 : + // XQueryParser.g:625:49: k= GE + k=this.match(this.input,GE,XQueryParser.FOLLOW_GE_in_p_ValueComp5662); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeComp_return: (function() { + XQueryParser.p_NodeComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:629:1: p_NodeComp : (ki= IS | SMALLER_SMALLER | GREATER_GREATER ); + // $ANTLR start "p_NodeComp" + p_NodeComp: function() { + var retval = new XQueryParser.p_NodeComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ki = null; + var SMALLER_SMALLER248 = null; + var GREATER_GREATER249 = null; + + var ki_tree=null; + var SMALLER_SMALLER248_tree=null; + var GREATER_GREATER249_tree=null; + + try { + // XQueryParser.g:630:9: (ki= IS | SMALLER_SMALLER | GREATER_GREATER ) + var alt105=3; + switch ( this.input.LA(1) ) { + case IS: + alt105=1; + break; + case SMALLER_SMALLER: + alt105=2; + break; + case GREATER_GREATER: + alt105=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 105, 0, this.input); + + throw nvae; + } + + switch (alt105) { + case 1 : + // XQueryParser.g:630:13: ki= IS + root_0 = this.adaptor.nil(); + + ki=this.match(this.input,IS,XQueryParser.FOLLOW_IS_in_p_NodeComp5694); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + + + break; + case 2 : + // XQueryParser.g:630:21: SMALLER_SMALLER + root_0 = this.adaptor.nil(); + + SMALLER_SMALLER248=this.match(this.input,SMALLER_SMALLER,XQueryParser.FOLLOW_SMALLER_SMALLER_in_p_NodeComp5698); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SMALLER_SMALLER248_tree = this.adaptor.create(SMALLER_SMALLER248); + this.adaptor.addChild(root_0, SMALLER_SMALLER248_tree); + } + + + break; + case 3 : + // XQueryParser.g:630:39: GREATER_GREATER + root_0 = this.adaptor.nil(); + + GREATER_GREATER249=this.match(this.input,GREATER_GREATER,XQueryParser.FOLLOW_GREATER_GREATER_in_p_NodeComp5702); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + GREATER_GREATER249_tree = this.adaptor.create(GREATER_GREATER249); + this.adaptor.addChild(root_0, GREATER_GREATER249_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValidateExpr_return: (function() { + XQueryParser.p_ValidateExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValidateExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:634:1: p_ValidateExpr : kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_ValidateExpr" + p_ValidateExpr: function() { + var retval = new XQueryParser.p_ValidateExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kv = null; + var LBRACKET251 = null; + var RBRACKET253 = null; + var p_ValidationMode250 = null; + var pm_Expr252 = null; + + var kv_tree=null; + var LBRACKET251_tree=null; + var RBRACKET253_tree=null; + + try { + // XQueryParser.g:635:9: (kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:635:13: kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kv=this.match(this.input,VALIDATE,XQueryParser.FOLLOW_VALIDATE_in_p_ValidateExpr5732); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kv_tree = this.adaptor.create(kv); + this.adaptor.addChild(root_0, kv_tree); + } + // XQueryParser.g:635:25: ( p_ValidationMode )? + var alt106=2; + var LA106_0 = this.input.LA(1); + + if ( (LA106_0==AS||LA106_0==LAX||LA106_0==STRICT) ) { + alt106=1; + } + switch (alt106) { + case 1 : + // XQueryParser.g:635:25: p_ValidationMode + this.pushFollow(XQueryParser.FOLLOW_p_ValidationMode_in_p_ValidateExpr5734); + p_ValidationMode250=this.p_ValidationMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValidationMode250.getTree()); + + + break; + + } + + LBRACKET251=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ValidateExpr5737); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET251_tree = this.adaptor.create(LBRACKET251); + this.adaptor.addChild(root_0, LBRACKET251_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ValidateExpr5739); + pm_Expr252=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr252.getTree()); + RBRACKET253=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ValidateExpr5741); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET253_tree = this.adaptor.create(RBRACKET253); + this.adaptor.addChild(root_0, RBRACKET253_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValidationMode_return: (function() { + XQueryParser.p_ValidationMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValidationMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:639:1: p_ValidationMode : (k= LAX | k= STRICT | (k= AS p_QName ) ) ; + // $ANTLR start "p_ValidationMode" + p_ValidationMode: function() { + var retval = new XQueryParser.p_ValidationMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_QName254 = null; + + var k_tree=null; + + try { + // XQueryParser.g:640:9: ( (k= LAX | k= STRICT | (k= AS p_QName ) ) ) + // XQueryParser.g:640:13: (k= LAX | k= STRICT | (k= AS p_QName ) ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:640:13: (k= LAX | k= STRICT | (k= AS p_QName ) ) + var alt107=3; + switch ( this.input.LA(1) ) { + case LAX: + alt107=1; + break; + case STRICT: + alt107=2; + break; + case AS: + alt107=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 107, 0, this.input); + + throw nvae; + } + + switch (alt107) { + case 1 : + // XQueryParser.g:640:14: k= LAX + k=this.match(this.input,LAX,XQueryParser.FOLLOW_LAX_in_p_ValidationMode5772); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:640:22: k= STRICT + k=this.match(this.input,STRICT,XQueryParser.FOLLOW_STRICT_in_p_ValidationMode5778); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:640:33: (k= AS p_QName ) + // XQueryParser.g:640:33: (k= AS p_QName ) + // XQueryParser.g:640:34: k= AS p_QName + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_ValidationMode5785); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ValidationMode5787); + p_QName254=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName254.getTree()); + + + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExtensionExpr_return: (function() { + XQueryParser.p_ExtensionExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExtensionExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:644:1: p_ExtensionExpr : ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_ExtensionExpr" + p_ExtensionExpr: function() { + var retval = new XQueryParser.p_ExtensionExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_Pragma255 = null; + var LBRACKET256 = null; + var RBRACKET258 = null; + var pm_Expr257 = null; + + var L_Pragma255_tree=null; + var LBRACKET256_tree=null; + var RBRACKET258_tree=null; + + try { + // XQueryParser.g:645:9: ( ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:645:13: ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + // XQueryParser.g:645:13: ( L_Pragma )+ + var cnt108=0; + loop108: + do { + var alt108=2; + var LA108_0 = this.input.LA(1); + + if ( (LA108_0==L_Pragma) ) { + alt108=1; + } + + + switch (alt108) { + case 1 : + // XQueryParser.g:645:13: L_Pragma + L_Pragma255=this.match(this.input,L_Pragma,XQueryParser.FOLLOW_L_Pragma_in_p_ExtensionExpr5818); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_Pragma255_tree = this.adaptor.create(L_Pragma255); + this.adaptor.addChild(root_0, L_Pragma255_tree); + } + + + break; + + default : + if ( cnt108 >= 1 ) { + break loop108; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(108, this.input); + throw eee; + } + cnt108++; + } while (true); + + LBRACKET256=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ExtensionExpr5821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET256_tree = this.adaptor.create(LBRACKET256); + this.adaptor.addChild(root_0, LBRACKET256_tree); + } + // XQueryParser.g:645:32: ( pm_Expr )? + var alt109=2; + var LA109_0 = this.input.LA(1); + + if ( ((LA109_0>=ANCESTOR && LA109_0<=EXIT)||(LA109_0>=SEQUENTIAL && LA109_0<=MAINTAINED)||(LA109_0>=MUTABLE && LA109_0<=LPAREN)||LA109_0==DOLLAR||(LA109_0>=STAR && LA109_0<=SMALLER)||(LA109_0>=SLASH && LA109_0<=DOT_DOT)||LA109_0==ATTR_SIGN||(LA109_0>=APOS && LA109_0<=QUOT)||LA109_0==L_NCName||(LA109_0>=L_Pragma && LA109_0<=L_DoubleLiteral)||(LA109_0>=LETDOLLAR && LA109_0<=EXPLICITLY)) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // XQueryParser.g:645:32: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ExtensionExpr5823); + pm_Expr257=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr257.getTree()); + + + break; + + } + + RBRACKET258=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ExtensionExpr5826); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET258_tree = this.adaptor.create(RBRACKET258); + this.adaptor.addChild(root_0, RBRACKET258_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PathExpr_return: (function() { + XQueryParser.p_PathExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PathExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:656:1: p_PathExpr : ( ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr ); + // $ANTLR start "p_PathExpr" + p_PathExpr: function() { + var retval = new XQueryParser.p_PathExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SLASH259 = null; + var SLASH261 = null; + var SLASH_SLASH262 = null; + var p_RelativePathExpr260 = null; + var p_RelativePathExpr263 = null; + var p_RelativePathExpr264 = null; + + var SLASH259_tree=null; + var SLASH261_tree=null; + var SLASH_SLASH262_tree=null; + + try { + // XQueryParser.g:657:9: ( ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr ) + var alt110=4; + alt110 = this.dfa110.predict(this.input); + switch (alt110) { + case 1 : + // XQueryParser.g:657:11: ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:657:41: ( SLASH p_RelativePathExpr ) + // XQueryParser.g:657:42: SLASH p_RelativePathExpr + SLASH259=this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_p_PathExpr5868); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH259_tree = this.adaptor.create(SLASH259); + this.adaptor.addChild(root_0, SLASH259_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5870); + p_RelativePathExpr260=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr260.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:658:11: SLASH + root_0 = this.adaptor.nil(); + + SLASH261=this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_p_PathExpr5883); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH261_tree = this.adaptor.create(SLASH261); + this.adaptor.addChild(root_0, SLASH261_tree); + } + + + break; + case 3 : + // XQueryParser.g:659:11: SLASH_SLASH p_RelativePathExpr + root_0 = this.adaptor.nil(); + + SLASH_SLASH262=this.match(this.input,SLASH_SLASH,XQueryParser.FOLLOW_SLASH_SLASH_in_p_PathExpr5895); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH_SLASH262_tree = this.adaptor.create(SLASH_SLASH262); + this.adaptor.addChild(root_0, SLASH_SLASH262_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5897); + p_RelativePathExpr263=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr263.getTree()); + + + break; + case 4 : + // XQueryParser.g:660:11: p_RelativePathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5909); + p_RelativePathExpr264=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr264.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RelativePathExpr_return: (function() { + XQueryParser.p_RelativePathExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RelativePathExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:664:1: p_RelativePathExpr : p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* ; + // $ANTLR start "p_RelativePathExpr" + p_RelativePathExpr: function() { + var retval = new XQueryParser.p_RelativePathExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set266 = null; + var p_StepExpr265 = null; + var p_StepExpr267 = null; + + var set266_tree=null; + + try { + // XQueryParser.g:665:9: ( p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* ) + // XQueryParser.g:665:11: p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_StepExpr_in_p_RelativePathExpr5937); + p_StepExpr265=this.p_StepExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StepExpr265.getTree()); + // XQueryParser.g:665:22: ( ( SLASH | SLASH_SLASH ) p_StepExpr )* + loop111: + do { + var alt111=2; + var LA111_0 = this.input.LA(1); + + if ( ((LA111_0>=SLASH && LA111_0<=SLASH_SLASH)) ) { + alt111=1; + } + + + switch (alt111) { + case 1 : + // XQueryParser.g:665:23: ( SLASH | SLASH_SLASH ) p_StepExpr + set266=this.input.LT(1); + if ( (this.input.LA(1)>=SLASH && this.input.LA(1)<=SLASH_SLASH) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set266)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + this.pushFollow(XQueryParser.FOLLOW_p_StepExpr_in_p_RelativePathExpr5948); + p_StepExpr267=this.p_StepExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StepExpr267.getTree()); + + + break; + + default : + break loop111; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_StepExpr_return: (function() { + XQueryParser.p_StepExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_StepExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:669:1: p_StepExpr : ( p_AxisStep | p_FilterExpr ); + // $ANTLR start "p_StepExpr" + p_StepExpr: function() { + var retval = new XQueryParser.p_StepExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_AxisStep268 = null; + var p_FilterExpr269 = null; + + + try { + // XQueryParser.g:670:9: ( p_AxisStep | p_FilterExpr ) + var alt112=2; + alt112 = this.dfa112.predict(this.input); + switch (alt112) { + case 1 : + // XQueryParser.g:670:11: p_AxisStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AxisStep_in_p_StepExpr5976); + p_AxisStep268=this.p_AxisStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AxisStep268.getTree()); + + + break; + case 2 : + // XQueryParser.g:671:11: p_FilterExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FilterExpr_in_p_StepExpr5988); + p_FilterExpr269=this.p_FilterExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FilterExpr269.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AxisStep_return: (function() { + XQueryParser.p_AxisStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AxisStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:675:1: p_AxisStep : ( p_ReverseStep | p_ForwardStep ) p_PredicateList ; + // $ANTLR start "p_AxisStep" + p_AxisStep: function() { + var retval = new XQueryParser.p_AxisStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ReverseStep270 = null; + var p_ForwardStep271 = null; + var p_PredicateList272 = null; + + + try { + // XQueryParser.g:676:9: ( ( p_ReverseStep | p_ForwardStep ) p_PredicateList ) + // XQueryParser.g:676:11: ( p_ReverseStep | p_ForwardStep ) p_PredicateList + root_0 = this.adaptor.nil(); + + // XQueryParser.g:676:11: ( p_ReverseStep | p_ForwardStep ) + var alt113=2; + switch ( this.input.LA(1) ) { + case PARENT: + var LA113_1 = this.input.LA(2); + + if ( (LA113_1==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_1==EOF||(LA113_1>=AND && LA113_1<=ASCENDING)||(LA113_1>=BY && LA113_1<=CASTABLE)||LA113_1==COLLATION||LA113_1==DEFAULT||(LA113_1>=DESCENDING && LA113_1<=DIV)||(LA113_1>=ELSE && LA113_1<=EMPTY)||LA113_1==EQ||LA113_1==EXCEPT||LA113_1==FOR||LA113_1==GE||(LA113_1>=GT && LA113_1<=IDIV)||(LA113_1>=INSTANCE && LA113_1<=IS)||LA113_1==LE||(LA113_1>=LT && LA113_1<=MOD)||LA113_1==NE||(LA113_1>=OR && LA113_1<=ORDER)||(LA113_1>=RETURN && LA113_1<=SATISFIES)||LA113_1==STABLE||(LA113_1>=TO && LA113_1<=TREAT)||LA113_1==UNION||LA113_1==WHERE||LA113_1==COUNT||(LA113_1>=END && LA113_1<=GROUP)||LA113_1==ONLY||LA113_1==START||(LA113_1>=AFTER && LA113_1<=BEFORE)||LA113_1==INTO||LA113_1==MODIFY||LA113_1==WITH||LA113_1==RPAREN||(LA113_1>=RBRACKET && LA113_1<=EQUAL)||LA113_1==NOTEQUAL||LA113_1==COMMA||(LA113_1>=STAR && LA113_1<=SLASH_SLASH)||LA113_1==COLON||(LA113_1>=SEMICOLON && LA113_1<=VBAR)||LA113_1==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 1, this.input); + + throw nvae; + } + break; + case ANCESTOR: + var LA113_2 = this.input.LA(2); + + if ( (LA113_2==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_2==EOF||(LA113_2>=AND && LA113_2<=ASCENDING)||(LA113_2>=BY && LA113_2<=CASTABLE)||LA113_2==COLLATION||LA113_2==DEFAULT||(LA113_2>=DESCENDING && LA113_2<=DIV)||(LA113_2>=ELSE && LA113_2<=EMPTY)||LA113_2==EQ||LA113_2==EXCEPT||LA113_2==FOR||LA113_2==GE||(LA113_2>=GT && LA113_2<=IDIV)||(LA113_2>=INSTANCE && LA113_2<=IS)||LA113_2==LE||(LA113_2>=LT && LA113_2<=MOD)||LA113_2==NE||(LA113_2>=OR && LA113_2<=ORDER)||(LA113_2>=RETURN && LA113_2<=SATISFIES)||LA113_2==STABLE||(LA113_2>=TO && LA113_2<=TREAT)||LA113_2==UNION||LA113_2==WHERE||LA113_2==COUNT||(LA113_2>=END && LA113_2<=GROUP)||LA113_2==ONLY||LA113_2==START||(LA113_2>=AFTER && LA113_2<=BEFORE)||LA113_2==INTO||LA113_2==MODIFY||LA113_2==WITH||LA113_2==RPAREN||(LA113_2>=RBRACKET && LA113_2<=EQUAL)||LA113_2==NOTEQUAL||LA113_2==COMMA||(LA113_2>=STAR && LA113_2<=SLASH_SLASH)||LA113_2==COLON||(LA113_2>=SEMICOLON && LA113_2<=VBAR)||LA113_2==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 2, this.input); + + throw nvae; + } + break; + case PRECEDING_SIBLING: + var LA113_3 = this.input.LA(2); + + if ( (LA113_3==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_3==EOF||(LA113_3>=AND && LA113_3<=ASCENDING)||(LA113_3>=BY && LA113_3<=CASTABLE)||LA113_3==COLLATION||LA113_3==DEFAULT||(LA113_3>=DESCENDING && LA113_3<=DIV)||(LA113_3>=ELSE && LA113_3<=EMPTY)||LA113_3==EQ||LA113_3==EXCEPT||LA113_3==FOR||LA113_3==GE||(LA113_3>=GT && LA113_3<=IDIV)||(LA113_3>=INSTANCE && LA113_3<=IS)||LA113_3==LE||(LA113_3>=LT && LA113_3<=MOD)||LA113_3==NE||(LA113_3>=OR && LA113_3<=ORDER)||(LA113_3>=RETURN && LA113_3<=SATISFIES)||LA113_3==STABLE||(LA113_3>=TO && LA113_3<=TREAT)||LA113_3==UNION||LA113_3==WHERE||LA113_3==COUNT||(LA113_3>=END && LA113_3<=GROUP)||LA113_3==ONLY||LA113_3==START||(LA113_3>=AFTER && LA113_3<=BEFORE)||LA113_3==INTO||LA113_3==MODIFY||LA113_3==WITH||LA113_3==RPAREN||(LA113_3>=RBRACKET && LA113_3<=EQUAL)||LA113_3==NOTEQUAL||LA113_3==COMMA||(LA113_3>=STAR && LA113_3<=SLASH_SLASH)||LA113_3==COLON||(LA113_3>=SEMICOLON && LA113_3<=VBAR)||LA113_3==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 3, this.input); + + throw nvae; + } + break; + case PRECEDING: + var LA113_4 = this.input.LA(2); + + if ( (LA113_4==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_4==EOF||(LA113_4>=AND && LA113_4<=ASCENDING)||(LA113_4>=BY && LA113_4<=CASTABLE)||LA113_4==COLLATION||LA113_4==DEFAULT||(LA113_4>=DESCENDING && LA113_4<=DIV)||(LA113_4>=ELSE && LA113_4<=EMPTY)||LA113_4==EQ||LA113_4==EXCEPT||LA113_4==FOR||LA113_4==GE||(LA113_4>=GT && LA113_4<=IDIV)||(LA113_4>=INSTANCE && LA113_4<=IS)||LA113_4==LE||(LA113_4>=LT && LA113_4<=MOD)||LA113_4==NE||(LA113_4>=OR && LA113_4<=ORDER)||(LA113_4>=RETURN && LA113_4<=SATISFIES)||LA113_4==STABLE||(LA113_4>=TO && LA113_4<=TREAT)||LA113_4==UNION||LA113_4==WHERE||LA113_4==COUNT||(LA113_4>=END && LA113_4<=GROUP)||LA113_4==ONLY||LA113_4==START||(LA113_4>=AFTER && LA113_4<=BEFORE)||LA113_4==INTO||LA113_4==MODIFY||LA113_4==WITH||LA113_4==RPAREN||(LA113_4>=RBRACKET && LA113_4<=EQUAL)||LA113_4==NOTEQUAL||LA113_4==COMMA||(LA113_4>=STAR && LA113_4<=SLASH_SLASH)||LA113_4==COLON||(LA113_4>=SEMICOLON && LA113_4<=VBAR)||LA113_4==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 4, this.input); + + throw nvae; + } + break; + case ANCESTOR_OR_SELF: + var LA113_5 = this.input.LA(2); + + if ( (LA113_5==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_5==EOF||(LA113_5>=AND && LA113_5<=ASCENDING)||(LA113_5>=BY && LA113_5<=CASTABLE)||LA113_5==COLLATION||LA113_5==DEFAULT||(LA113_5>=DESCENDING && LA113_5<=DIV)||(LA113_5>=ELSE && LA113_5<=EMPTY)||LA113_5==EQ||LA113_5==EXCEPT||LA113_5==FOR||LA113_5==GE||(LA113_5>=GT && LA113_5<=IDIV)||(LA113_5>=INSTANCE && LA113_5<=IS)||LA113_5==LE||(LA113_5>=LT && LA113_5<=MOD)||LA113_5==NE||(LA113_5>=OR && LA113_5<=ORDER)||(LA113_5>=RETURN && LA113_5<=SATISFIES)||LA113_5==STABLE||(LA113_5>=TO && LA113_5<=TREAT)||LA113_5==UNION||LA113_5==WHERE||LA113_5==COUNT||(LA113_5>=END && LA113_5<=GROUP)||LA113_5==ONLY||LA113_5==START||(LA113_5>=AFTER && LA113_5<=BEFORE)||LA113_5==INTO||LA113_5==MODIFY||LA113_5==WITH||LA113_5==RPAREN||(LA113_5>=RBRACKET && LA113_5<=EQUAL)||LA113_5==NOTEQUAL||LA113_5==COMMA||(LA113_5>=STAR && LA113_5<=SLASH_SLASH)||LA113_5==COLON||(LA113_5>=SEMICOLON && LA113_5<=VBAR)||LA113_5==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 5, this.input); + + throw nvae; + } + break; + case DOT_DOT: + alt113=1; + break; + case AND: + case AS: + case ASCENDING: + case AT: + case ATTRIBUTE: + case BASE_URI: + case BOUNDARY_SPACE: + case BY: + case CASE: + case CAST: + case CASTABLE: + case CHILD: + case COLLATION: + case COMMENT: + case CONSTRUCTION: + case COPY_NAMESPACES: + case DECLARE: + case DEFAULT: + case DESCENDANT: + case DESCENDANT_OR_SELF: + case DESCENDING: + case DIV: + case DOCUMENT: + case DOCUMENT_NODE: + case ELEMENT: + case ELSE: + case EMPTY: + case EMPTY_SEQUENCE: + case ENCODING: + case EQ: + case EVERY: + case EXCEPT: + case EXTERNAL: + case FOLLOWING: + case FOLLOWING_SIBLING: + case FOR: + case FUNCTION: + case GE: + case GREATEST: + case GT: + case IDIV: + case IF: + case IMPORT: + case IN: + case INHERIT: + case INSTANCE: + case INTERSECT: + case IS: + case ITEM: + case LAX: + case LE: + case LEAST: + case LET: + case LT: + case MOD: + case MODULE: + case NAMESPACE: + case NE: + case NO_INHERIT: + case NO_PRESERVE: + case NODE: + case OF: + case OPTION: + case OR: + case ORDER: + case ORDERED: + case ORDERING: + case PRESERVE: + case PROCESSING_INSTRUCTION: + case RETURN: + case SATISFIES: + case SCHEMA: + case SCHEMA_ATTRIBUTE: + case SCHEMA_ELEMENT: + case SELF: + case SOME: + case STABLE: + case STRICT: + case STRIP: + case TEXT: + case THEN: + case TO: + case TREAT: + case TYPESWITCH: + case UNION: + case UNORDERED: + case VALIDATE: + case VARIABLE: + case VERSION: + case WHERE: + case XQUERY: + case CATCH: + case CONTEXT: + case COUNT: + case DECIMAL_FORMAT: + case DECIMAL_SEPARATOR: + case DIGIT: + case END: + case GROUP: + case GROUPING_SEPARATOR: + case INFINITY: + case MINUS_SIGN: + case NAMESPACE_NODE: + case NAN: + case NEXT: + case ONLY: + case OUTER: + case PATTERN_SEPARATOR: + case PERCENT: + case PER_MILLE: + case PREVIOUS: + case SLIDING: + case START: + case TRY: + case TUMBLING: + case WHEN: + case WINDOW: + case ZERO_DIGIT: + case AFTER: + case BEFORE: + case COPY: + case DELETE: + case FIRST: + case INSERT: + case INTO: + case LAST: + case MODIFY: + case NODES: + case RENAME: + case REPLACE: + case REVALIDATION: + case SKIP: + case UPDATING: + case VALUE: + case WITH: + case BLOCK: + case CONSTANT: + case EXIT: + case SEQUENTIAL: + case SET: + case SIMPLE: + case WHILE: + case EVAL: + case USING: + case APPEND_ONLY: + case AUTOMATICALLY: + case CHECK: + case COLLECTION: + case CONSTRAINT: + case CONST: + case EQUALITY: + case FOREACH: + case FOREIGN: + case FROM: + case INDEX: + case INTEGRITY: + case KEY: + case MAINTAINED: + case MUTABLE: + case NON: + case ON: + case QUEUE: + case RANGE: + case READ_ONLY: + case UNIQUE: + case BINARY: + case PRIVATE: + case AMP_ER: + case APOS_ER: + case QUOT_ER: + case STAR: + case ATTR_SIGN: + case L_NCName: + case EXPLICITLY: + alt113=2; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 0, this.input); + + throw nvae; + } + + switch (alt113) { + case 1 : + // XQueryParser.g:676:12: p_ReverseStep + this.pushFollow(XQueryParser.FOLLOW_p_ReverseStep_in_p_AxisStep6015); + p_ReverseStep270=this.p_ReverseStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReverseStep270.getTree()); + + + break; + case 2 : + // XQueryParser.g:676:28: p_ForwardStep + this.pushFollow(XQueryParser.FOLLOW_p_ForwardStep_in_p_AxisStep6019); + p_ForwardStep271=this.p_ForwardStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForwardStep271.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_PredicateList_in_p_AxisStep6022); + p_PredicateList272=this.p_PredicateList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PredicateList272.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForwardStep_return: (function() { + XQueryParser.p_ForwardStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForwardStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:680:1: p_ForwardStep : ( ( p_ForwardAxis p_NodeTest ) | p_AbbrevForwardStep ); + // $ANTLR start "p_ForwardStep" + p_ForwardStep: function() { + var retval = new XQueryParser.p_ForwardStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ForwardAxis273 = null; + var p_NodeTest274 = null; + var p_AbbrevForwardStep275 = null; + + + try { + // XQueryParser.g:681:9: ( ( p_ForwardAxis p_NodeTest ) | p_AbbrevForwardStep ) + var alt114=2; + alt114 = this.dfa114.predict(this.input); + switch (alt114) { + case 1 : + // XQueryParser.g:681:11: ( p_ForwardAxis p_NodeTest ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:681:11: ( p_ForwardAxis p_NodeTest ) + // XQueryParser.g:681:12: p_ForwardAxis p_NodeTest + this.pushFollow(XQueryParser.FOLLOW_p_ForwardAxis_in_p_ForwardStep6049); + p_ForwardAxis273=this.p_ForwardAxis(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForwardAxis273.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_ForwardStep6051); + p_NodeTest274=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest274.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:681:40: p_AbbrevForwardStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AbbrevForwardStep_in_p_ForwardStep6056); + p_AbbrevForwardStep275=this.p_AbbrevForwardStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AbbrevForwardStep275.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForwardAxis_return: (function() { + XQueryParser.p_ForwardAxis_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForwardAxis_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:685:1: p_ForwardAxis : ( CHILD COLON_COLON | DESCENDANT COLON_COLON | ATTRIBUTE COLON_COLON | SELF COLON_COLON | DESCENDANT_OR_SELF COLON_COLON | FOLLOWING_SIBLING COLON_COLON | FOLLOWING COLON_COLON ); + // $ANTLR start "p_ForwardAxis" + p_ForwardAxis: function() { + var retval = new XQueryParser.p_ForwardAxis_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var CHILD276 = null; + var COLON_COLON277 = null; + var DESCENDANT278 = null; + var COLON_COLON279 = null; + var ATTRIBUTE280 = null; + var COLON_COLON281 = null; + var SELF282 = null; + var COLON_COLON283 = null; + var DESCENDANT_OR_SELF284 = null; + var COLON_COLON285 = null; + var FOLLOWING_SIBLING286 = null; + var COLON_COLON287 = null; + var FOLLOWING288 = null; + var COLON_COLON289 = null; + + var CHILD276_tree=null; + var COLON_COLON277_tree=null; + var DESCENDANT278_tree=null; + var COLON_COLON279_tree=null; + var ATTRIBUTE280_tree=null; + var COLON_COLON281_tree=null; + var SELF282_tree=null; + var COLON_COLON283_tree=null; + var DESCENDANT_OR_SELF284_tree=null; + var COLON_COLON285_tree=null; + var FOLLOWING_SIBLING286_tree=null; + var COLON_COLON287_tree=null; + var FOLLOWING288_tree=null; + var COLON_COLON289_tree=null; + + try { + // XQueryParser.g:686:9: ( CHILD COLON_COLON | DESCENDANT COLON_COLON | ATTRIBUTE COLON_COLON | SELF COLON_COLON | DESCENDANT_OR_SELF COLON_COLON | FOLLOWING_SIBLING COLON_COLON | FOLLOWING COLON_COLON ) + var alt115=7; + switch ( this.input.LA(1) ) { + case CHILD: + alt115=1; + break; + case DESCENDANT: + alt115=2; + break; + case ATTRIBUTE: + alt115=3; + break; + case SELF: + alt115=4; + break; + case DESCENDANT_OR_SELF: + alt115=5; + break; + case FOLLOWING_SIBLING: + alt115=6; + break; + case FOLLOWING: + alt115=7; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 115, 0, this.input); + + throw nvae; + } + + switch (alt115) { + case 1 : + // XQueryParser.g:686:11: CHILD COLON_COLON + root_0 = this.adaptor.nil(); + + CHILD276=this.match(this.input,CHILD,XQueryParser.FOLLOW_CHILD_in_p_ForwardAxis6082); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + CHILD276_tree = this.adaptor.create(CHILD276); + this.adaptor.addChild(root_0, CHILD276_tree); + } + COLON_COLON277=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6084); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON277_tree = this.adaptor.create(COLON_COLON277); + this.adaptor.addChild(root_0, COLON_COLON277_tree); + } + + + break; + case 2 : + // XQueryParser.g:687:11: DESCENDANT COLON_COLON + root_0 = this.adaptor.nil(); + + DESCENDANT278=this.match(this.input,DESCENDANT,XQueryParser.FOLLOW_DESCENDANT_in_p_ForwardAxis6096); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DESCENDANT278_tree = this.adaptor.create(DESCENDANT278); + this.adaptor.addChild(root_0, DESCENDANT278_tree); + } + COLON_COLON279=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6098); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON279_tree = this.adaptor.create(COLON_COLON279); + this.adaptor.addChild(root_0, COLON_COLON279_tree); + } + + + break; + case 3 : + // XQueryParser.g:688:11: ATTRIBUTE COLON_COLON + root_0 = this.adaptor.nil(); + + ATTRIBUTE280=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_ForwardAxis6110); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTRIBUTE280_tree = this.adaptor.create(ATTRIBUTE280); + this.adaptor.addChild(root_0, ATTRIBUTE280_tree); + } + COLON_COLON281=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6112); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON281_tree = this.adaptor.create(COLON_COLON281); + this.adaptor.addChild(root_0, COLON_COLON281_tree); + } + + + break; + case 4 : + // XQueryParser.g:689:11: SELF COLON_COLON + root_0 = this.adaptor.nil(); + + SELF282=this.match(this.input,SELF,XQueryParser.FOLLOW_SELF_in_p_ForwardAxis6124); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SELF282_tree = this.adaptor.create(SELF282); + this.adaptor.addChild(root_0, SELF282_tree); + } + COLON_COLON283=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6126); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON283_tree = this.adaptor.create(COLON_COLON283); + this.adaptor.addChild(root_0, COLON_COLON283_tree); + } + + + break; + case 5 : + // XQueryParser.g:690:11: DESCENDANT_OR_SELF COLON_COLON + root_0 = this.adaptor.nil(); + + DESCENDANT_OR_SELF284=this.match(this.input,DESCENDANT_OR_SELF,XQueryParser.FOLLOW_DESCENDANT_OR_SELF_in_p_ForwardAxis6138); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DESCENDANT_OR_SELF284_tree = this.adaptor.create(DESCENDANT_OR_SELF284); + this.adaptor.addChild(root_0, DESCENDANT_OR_SELF284_tree); + } + COLON_COLON285=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6140); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON285_tree = this.adaptor.create(COLON_COLON285); + this.adaptor.addChild(root_0, COLON_COLON285_tree); + } + + + break; + case 6 : + // XQueryParser.g:691:11: FOLLOWING_SIBLING COLON_COLON + root_0 = this.adaptor.nil(); + + FOLLOWING_SIBLING286=this.match(this.input,FOLLOWING_SIBLING,XQueryParser.FOLLOW_FOLLOWING_SIBLING_in_p_ForwardAxis6152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + FOLLOWING_SIBLING286_tree = this.adaptor.create(FOLLOWING_SIBLING286); + this.adaptor.addChild(root_0, FOLLOWING_SIBLING286_tree); + } + COLON_COLON287=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6154); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON287_tree = this.adaptor.create(COLON_COLON287); + this.adaptor.addChild(root_0, COLON_COLON287_tree); + } + + + break; + case 7 : + // XQueryParser.g:692:11: FOLLOWING COLON_COLON + root_0 = this.adaptor.nil(); + + FOLLOWING288=this.match(this.input,FOLLOWING,XQueryParser.FOLLOW_FOLLOWING_in_p_ForwardAxis6166); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + FOLLOWING288_tree = this.adaptor.create(FOLLOWING288); + this.adaptor.addChild(root_0, FOLLOWING288_tree); + } + COLON_COLON289=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6168); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON289_tree = this.adaptor.create(COLON_COLON289); + this.adaptor.addChild(root_0, COLON_COLON289_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AbbrevForwardStep_return: (function() { + XQueryParser.p_AbbrevForwardStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AbbrevForwardStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:696:1: p_AbbrevForwardStep : ( ATTR_SIGN )? p_NodeTest ; + // $ANTLR start "p_AbbrevForwardStep" + p_AbbrevForwardStep: function() { + var retval = new XQueryParser.p_AbbrevForwardStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ATTR_SIGN290 = null; + var p_NodeTest291 = null; + + var ATTR_SIGN290_tree=null; + + try { + // XQueryParser.g:697:9: ( ( ATTR_SIGN )? p_NodeTest ) + // XQueryParser.g:697:11: ( ATTR_SIGN )? p_NodeTest + root_0 = this.adaptor.nil(); + + // XQueryParser.g:697:11: ( ATTR_SIGN )? + var alt116=2; + var LA116_0 = this.input.LA(1); + + if ( (LA116_0==ATTR_SIGN) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // XQueryParser.g:697:11: ATTR_SIGN + ATTR_SIGN290=this.match(this.input,ATTR_SIGN,XQueryParser.FOLLOW_ATTR_SIGN_in_p_AbbrevForwardStep6194); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTR_SIGN290_tree = this.adaptor.create(ATTR_SIGN290); + this.adaptor.addChild(root_0, ATTR_SIGN290_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_AbbrevForwardStep6197); + p_NodeTest291=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest291.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReverseStep_return: (function() { + XQueryParser.p_ReverseStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReverseStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:701:1: p_ReverseStep : ( ( p_ReverseAxis p_NodeTest ) | p_AbbrevReverseStep ); + // $ANTLR start "p_ReverseStep" + p_ReverseStep: function() { + var retval = new XQueryParser.p_ReverseStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ReverseAxis292 = null; + var p_NodeTest293 = null; + var p_AbbrevReverseStep294 = null; + + + try { + // XQueryParser.g:702:9: ( ( p_ReverseAxis p_NodeTest ) | p_AbbrevReverseStep ) + var alt117=2; + var LA117_0 = this.input.LA(1); + + if ( ((LA117_0>=ANCESTOR && LA117_0<=ANCESTOR_OR_SELF)||(LA117_0>=PARENT && LA117_0<=PRECEDING_SIBLING)) ) { + alt117=1; + } + else if ( (LA117_0==DOT_DOT) ) { + alt117=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 117, 0, this.input); + + throw nvae; + } + switch (alt117) { + case 1 : + // XQueryParser.g:702:11: ( p_ReverseAxis p_NodeTest ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:702:11: ( p_ReverseAxis p_NodeTest ) + // XQueryParser.g:702:12: p_ReverseAxis p_NodeTest + this.pushFollow(XQueryParser.FOLLOW_p_ReverseAxis_in_p_ReverseStep6224); + p_ReverseAxis292=this.p_ReverseAxis(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReverseAxis292.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_ReverseStep6226); + p_NodeTest293=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest293.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:702:40: p_AbbrevReverseStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AbbrevReverseStep_in_p_ReverseStep6231); + p_AbbrevReverseStep294=this.p_AbbrevReverseStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AbbrevReverseStep294.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReverseAxis_return: (function() { + XQueryParser.p_ReverseAxis_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReverseAxis_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:706:1: p_ReverseAxis : ( PARENT COLON_COLON | ANCESTOR COLON_COLON | PRECEDING_SIBLING COLON_COLON | PRECEDING COLON_COLON | ANCESTOR_OR_SELF COLON_COLON ); + // $ANTLR start "p_ReverseAxis" + p_ReverseAxis: function() { + var retval = new XQueryParser.p_ReverseAxis_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PARENT295 = null; + var COLON_COLON296 = null; + var ANCESTOR297 = null; + var COLON_COLON298 = null; + var PRECEDING_SIBLING299 = null; + var COLON_COLON300 = null; + var PRECEDING301 = null; + var COLON_COLON302 = null; + var ANCESTOR_OR_SELF303 = null; + var COLON_COLON304 = null; + + var PARENT295_tree=null; + var COLON_COLON296_tree=null; + var ANCESTOR297_tree=null; + var COLON_COLON298_tree=null; + var PRECEDING_SIBLING299_tree=null; + var COLON_COLON300_tree=null; + var PRECEDING301_tree=null; + var COLON_COLON302_tree=null; + var ANCESTOR_OR_SELF303_tree=null; + var COLON_COLON304_tree=null; + + try { + // XQueryParser.g:707:9: ( PARENT COLON_COLON | ANCESTOR COLON_COLON | PRECEDING_SIBLING COLON_COLON | PRECEDING COLON_COLON | ANCESTOR_OR_SELF COLON_COLON ) + var alt118=5; + switch ( this.input.LA(1) ) { + case PARENT: + alt118=1; + break; + case ANCESTOR: + alt118=2; + break; + case PRECEDING_SIBLING: + alt118=3; + break; + case PRECEDING: + alt118=4; + break; + case ANCESTOR_OR_SELF: + alt118=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 118, 0, this.input); + + throw nvae; + } + + switch (alt118) { + case 1 : + // XQueryParser.g:707:11: PARENT COLON_COLON + root_0 = this.adaptor.nil(); + + PARENT295=this.match(this.input,PARENT,XQueryParser.FOLLOW_PARENT_in_p_ReverseAxis6257); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PARENT295_tree = this.adaptor.create(PARENT295); + this.adaptor.addChild(root_0, PARENT295_tree); + } + COLON_COLON296=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6259); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON296_tree = this.adaptor.create(COLON_COLON296); + this.adaptor.addChild(root_0, COLON_COLON296_tree); + } + + + break; + case 2 : + // XQueryParser.g:708:11: ANCESTOR COLON_COLON + root_0 = this.adaptor.nil(); + + ANCESTOR297=this.match(this.input,ANCESTOR,XQueryParser.FOLLOW_ANCESTOR_in_p_ReverseAxis6271); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ANCESTOR297_tree = this.adaptor.create(ANCESTOR297); + this.adaptor.addChild(root_0, ANCESTOR297_tree); + } + COLON_COLON298=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6273); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON298_tree = this.adaptor.create(COLON_COLON298); + this.adaptor.addChild(root_0, COLON_COLON298_tree); + } + + + break; + case 3 : + // XQueryParser.g:709:11: PRECEDING_SIBLING COLON_COLON + root_0 = this.adaptor.nil(); + + PRECEDING_SIBLING299=this.match(this.input,PRECEDING_SIBLING,XQueryParser.FOLLOW_PRECEDING_SIBLING_in_p_ReverseAxis6285); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PRECEDING_SIBLING299_tree = this.adaptor.create(PRECEDING_SIBLING299); + this.adaptor.addChild(root_0, PRECEDING_SIBLING299_tree); + } + COLON_COLON300=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6287); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON300_tree = this.adaptor.create(COLON_COLON300); + this.adaptor.addChild(root_0, COLON_COLON300_tree); + } + + + break; + case 4 : + // XQueryParser.g:710:11: PRECEDING COLON_COLON + root_0 = this.adaptor.nil(); + + PRECEDING301=this.match(this.input,PRECEDING,XQueryParser.FOLLOW_PRECEDING_in_p_ReverseAxis6299); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PRECEDING301_tree = this.adaptor.create(PRECEDING301); + this.adaptor.addChild(root_0, PRECEDING301_tree); + } + COLON_COLON302=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6301); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON302_tree = this.adaptor.create(COLON_COLON302); + this.adaptor.addChild(root_0, COLON_COLON302_tree); + } + + + break; + case 5 : + // XQueryParser.g:711:11: ANCESTOR_OR_SELF COLON_COLON + root_0 = this.adaptor.nil(); + + ANCESTOR_OR_SELF303=this.match(this.input,ANCESTOR_OR_SELF,XQueryParser.FOLLOW_ANCESTOR_OR_SELF_in_p_ReverseAxis6313); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ANCESTOR_OR_SELF303_tree = this.adaptor.create(ANCESTOR_OR_SELF303); + this.adaptor.addChild(root_0, ANCESTOR_OR_SELF303_tree); + } + COLON_COLON304=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6315); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON304_tree = this.adaptor.create(COLON_COLON304); + this.adaptor.addChild(root_0, COLON_COLON304_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AbbrevReverseStep_return: (function() { + XQueryParser.p_AbbrevReverseStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AbbrevReverseStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:715:1: p_AbbrevReverseStep : DOT_DOT ; + // $ANTLR start "p_AbbrevReverseStep" + p_AbbrevReverseStep: function() { + var retval = new XQueryParser.p_AbbrevReverseStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOT_DOT305 = null; + + var DOT_DOT305_tree=null; + + try { + // XQueryParser.g:716:9: ( DOT_DOT ) + // XQueryParser.g:716:11: DOT_DOT + root_0 = this.adaptor.nil(); + + DOT_DOT305=this.match(this.input,DOT_DOT,XQueryParser.FOLLOW_DOT_DOT_in_p_AbbrevReverseStep6341); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOT_DOT305_tree = this.adaptor.create(DOT_DOT305); + this.adaptor.addChild(root_0, DOT_DOT305_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeTest_return: (function() { + XQueryParser.p_NodeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:720:1: p_NodeTest : ( p_KindTest | p_NameTest ); + // $ANTLR start "p_NodeTest" + p_NodeTest: function() { + var retval = new XQueryParser.p_NodeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_KindTest306 = null; + var p_NameTest307 = null; + + + try { + // XQueryParser.g:721:9: ( p_KindTest | p_NameTest ) + var alt119=2; + alt119 = this.dfa119.predict(this.input); + switch (alt119) { + case 1 : + // XQueryParser.g:721:11: p_KindTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_NodeTest6367); + p_KindTest306=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_KindTest306.getTree()); + + + break; + case 2 : + // XQueryParser.g:721:24: p_NameTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_NodeTest6371); + p_NameTest307=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest307.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NameTest_return: (function() { + XQueryParser.p_NameTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NameTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:725:1: p_NameTest : ( p_QName | p_Wildcard ); + // $ANTLR start "p_NameTest" + p_NameTest: function() { + var retval = new XQueryParser.p_NameTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName308 = null; + var p_Wildcard309 = null; + + + try { + // XQueryParser.g:726:9: ( p_QName | p_Wildcard ) + var alt120=2; + var LA120_0 = this.input.LA(1); + + if ( ((LA120_0>=ANCESTOR && LA120_0<=EXIT)||(LA120_0>=SEQUENTIAL && LA120_0<=MAINTAINED)||(LA120_0>=MUTABLE && LA120_0<=QUOT_ER)||LA120_0==L_NCName||LA120_0==EXPLICITLY) ) { + var LA120_1 = this.input.LA(2); + + if ( (LA120_1==COLON) ) { + var LA120_3 = this.input.LA(3); + + if ( (LA120_3==STAR) ) { + alt120=2; + } + else if ( ((LA120_3>=ANCESTOR && LA120_3<=EXIT)||(LA120_3>=SEQUENTIAL && LA120_3<=MAINTAINED)||(LA120_3>=MUTABLE && LA120_3<=QUOT_ER)||LA120_3==L_NCName||LA120_3==EXPLICITLY) ) { + alt120=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 3, this.input); + + throw nvae; + } + } + else if ( (LA120_1==EOF||(LA120_1>=AND && LA120_1<=ASCENDING)||(LA120_1>=BY && LA120_1<=CASTABLE)||LA120_1==COLLATION||LA120_1==DEFAULT||(LA120_1>=DESCENDING && LA120_1<=DIV)||(LA120_1>=ELSE && LA120_1<=EMPTY)||LA120_1==EQ||LA120_1==EXCEPT||LA120_1==FOR||LA120_1==GE||(LA120_1>=GT && LA120_1<=IDIV)||(LA120_1>=INSTANCE && LA120_1<=IS)||LA120_1==LE||(LA120_1>=LT && LA120_1<=MOD)||LA120_1==NE||(LA120_1>=OR && LA120_1<=ORDER)||(LA120_1>=RETURN && LA120_1<=SATISFIES)||LA120_1==STABLE||(LA120_1>=TO && LA120_1<=TREAT)||LA120_1==UNION||LA120_1==WHERE||LA120_1==COUNT||(LA120_1>=END && LA120_1<=GROUP)||LA120_1==ONLY||LA120_1==START||(LA120_1>=AFTER && LA120_1<=BEFORE)||LA120_1==INTO||LA120_1==MODIFY||LA120_1==WITH||(LA120_1>=LPAREN && LA120_1<=RPAREN)||(LA120_1>=LBRACKET && LA120_1<=EQUAL)||LA120_1==NOTEQUAL||LA120_1==COMMA||(LA120_1>=STAR && LA120_1<=SLASH_SLASH)||(LA120_1>=SEMICOLON && LA120_1<=VBAR)||LA120_1==LETDOLLAR) ) { + alt120=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 1, this.input); + + throw nvae; + } + } + else if ( (LA120_0==STAR) ) { + alt120=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 0, this.input); + + throw nvae; + } + switch (alt120) { + case 1 : + // XQueryParser.g:726:11: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_NameTest6397); + p_QName308=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName308.getTree()); + + + break; + case 2 : + // XQueryParser.g:726:21: p_Wildcard + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Wildcard_in_p_NameTest6401); + p_Wildcard309=this.p_Wildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Wildcard309.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Wildcard_return: (function() { + XQueryParser.p_Wildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Wildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:730:1: p_Wildcard : ( STAR ( COLON p_NCName )? | ( p_NCName COLON STAR ) ); + // $ANTLR start "p_Wildcard" + p_Wildcard: function() { + var retval = new XQueryParser.p_Wildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR310 = null; + var COLON311 = null; + var COLON314 = null; + var STAR315 = null; + var p_NCName312 = null; + var p_NCName313 = null; + + var STAR310_tree=null; + var COLON311_tree=null; + var COLON314_tree=null; + var STAR315_tree=null; + + try { + // XQueryParser.g:731:9: ( STAR ( COLON p_NCName )? | ( p_NCName COLON STAR ) ) + var alt122=2; + var LA122_0 = this.input.LA(1); + + if ( (LA122_0==STAR) ) { + alt122=1; + } + else if ( ((LA122_0>=ANCESTOR && LA122_0<=EXIT)||(LA122_0>=SEQUENTIAL && LA122_0<=MAINTAINED)||(LA122_0>=MUTABLE && LA122_0<=QUOT_ER)||LA122_0==L_NCName||LA122_0==EXPLICITLY) ) { + alt122=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 122, 0, this.input); + + throw nvae; + } + switch (alt122) { + case 1 : + // XQueryParser.g:731:11: STAR ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + STAR310=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_Wildcard6427); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR310_tree = this.adaptor.create(STAR310); + this.adaptor.addChild(root_0, STAR310_tree); + } + // XQueryParser.g:731:16: ( COLON p_NCName )? + var alt121=2; + var LA121_0 = this.input.LA(1); + + if ( (LA121_0==COLON) ) { + alt121=1; + } + switch (alt121) { + case 1 : + // XQueryParser.g:731:17: COLON p_NCName + COLON311=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_Wildcard6430); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON311_tree = this.adaptor.create(COLON311); + this.adaptor.addChild(root_0, COLON311_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_Wildcard6432); + p_NCName312=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName312.getTree()); + + + break; + + } + + + + break; + case 2 : + // XQueryParser.g:731:36: ( p_NCName COLON STAR ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:731:36: ( p_NCName COLON STAR ) + // XQueryParser.g:731:37: p_NCName COLON STAR + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_Wildcard6439); + p_NCName313=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName313.getTree()); + COLON314=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_Wildcard6441); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON314_tree = this.adaptor.create(COLON314); + this.adaptor.addChild(root_0, COLON314_tree); + } + STAR315=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_Wildcard6443); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR315_tree = this.adaptor.create(STAR315); + this.adaptor.addChild(root_0, STAR315_tree); + } + + + + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FilterExpr_return: (function() { + XQueryParser.p_FilterExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FilterExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:736:1: p_FilterExpr : p_PrimaryExpr p_PredicateList ; + // $ANTLR start "p_FilterExpr" + p_FilterExpr: function() { + var retval = new XQueryParser.p_FilterExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PrimaryExpr316 = null; + var p_PredicateList317 = null; + + + try { + // XQueryParser.g:737:9: ( p_PrimaryExpr p_PredicateList ) + // XQueryParser.g:737:13: p_PrimaryExpr p_PredicateList + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PrimaryExpr_in_p_FilterExpr6479); + p_PrimaryExpr316=this.p_PrimaryExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PrimaryExpr316.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_PredicateList_in_p_FilterExpr6481); + p_PredicateList317=this.p_PredicateList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PredicateList317.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PredicateList_return: (function() { + XQueryParser.p_PredicateList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PredicateList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:741:1: p_PredicateList : ( p_Predicate )* ; + // $ANTLR start "p_PredicateList" + p_PredicateList: function() { + var retval = new XQueryParser.p_PredicateList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Predicate318 = null; + + + try { + // XQueryParser.g:742:9: ( ( p_Predicate )* ) + // XQueryParser.g:742:13: ( p_Predicate )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:742:13: ( p_Predicate )* + loop123: + do { + var alt123=2; + var LA123_0 = this.input.LA(1); + + if ( (LA123_0==LSQUARE) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // XQueryParser.g:742:13: p_Predicate + this.pushFollow(XQueryParser.FOLLOW_p_Predicate_in_p_PredicateList6509); + p_Predicate318=this.p_Predicate(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Predicate318.getTree()); + + + break; + + default : + break loop123; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Predicate_return: (function() { + XQueryParser.p_Predicate_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Predicate_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:746:1: p_Predicate : LSQUARE pm_Expr RSQUARE ; + // $ANTLR start "p_Predicate" + p_Predicate: function() { + var retval = new XQueryParser.p_Predicate_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LSQUARE319 = null; + var RSQUARE321 = null; + var pm_Expr320 = null; + + var LSQUARE319_tree=null; + var RSQUARE321_tree=null; + + try { + // XQueryParser.g:747:9: ( LSQUARE pm_Expr RSQUARE ) + // XQueryParser.g:747:13: LSQUARE pm_Expr RSQUARE + root_0 = this.adaptor.nil(); + + LSQUARE319=this.match(this.input,LSQUARE,XQueryParser.FOLLOW_LSQUARE_in_p_Predicate6538); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LSQUARE319_tree = this.adaptor.create(LSQUARE319); + this.adaptor.addChild(root_0, LSQUARE319_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_Predicate6540); + pm_Expr320=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr320.getTree()); + RSQUARE321=this.match(this.input,RSQUARE,XQueryParser.FOLLOW_RSQUARE_in_p_Predicate6542); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RSQUARE321_tree = this.adaptor.create(RSQUARE321); + this.adaptor.addChild(root_0, RSQUARE321_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PrimaryExpr_return: (function() { + XQueryParser.p_PrimaryExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PrimaryExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:751:1: p_PrimaryExpr : ( p_Literal | p_VarRef | p_ParenthesizedExpr | p_ContextItemExpr | p_FunctionCall | p_OrderedExpr | p_UnorderedExpr | p_Constructor ); + // $ANTLR start "p_PrimaryExpr" + p_PrimaryExpr: function() { + var retval = new XQueryParser.p_PrimaryExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Literal322 = null; + var p_VarRef323 = null; + var p_ParenthesizedExpr324 = null; + var p_ContextItemExpr325 = null; + var p_FunctionCall326 = null; + var p_OrderedExpr327 = null; + var p_UnorderedExpr328 = null; + var p_Constructor329 = null; + + + try { + // XQueryParser.g:752:9: ( p_Literal | p_VarRef | p_ParenthesizedExpr | p_ContextItemExpr | p_FunctionCall | p_OrderedExpr | p_UnorderedExpr | p_Constructor ) + var alt124=8; + alt124 = this.dfa124.predict(this.input); + switch (alt124) { + case 1 : + // XQueryParser.g:752:13: p_Literal + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Literal_in_p_PrimaryExpr6570); + p_Literal322=this.p_Literal(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Literal322.getTree()); + + + break; + case 2 : + // XQueryParser.g:753:11: p_VarRef + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_VarRef_in_p_PrimaryExpr6582); + p_VarRef323=this.p_VarRef(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarRef323.getTree()); + + + break; + case 3 : + // XQueryParser.g:754:11: p_ParenthesizedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ParenthesizedExpr_in_p_PrimaryExpr6594); + p_ParenthesizedExpr324=this.p_ParenthesizedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ParenthesizedExpr324.getTree()); + + + break; + case 4 : + // XQueryParser.g:755:11: p_ContextItemExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ContextItemExpr_in_p_PrimaryExpr6606); + p_ContextItemExpr325=this.p_ContextItemExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ContextItemExpr325.getTree()); + + + break; + case 5 : + // XQueryParser.g:756:11: p_FunctionCall + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FunctionCall_in_p_PrimaryExpr6618); + p_FunctionCall326=this.p_FunctionCall(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FunctionCall326.getTree()); + + + break; + case 6 : + // XQueryParser.g:757:11: p_OrderedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderedExpr_in_p_PrimaryExpr6630); + p_OrderedExpr327=this.p_OrderedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderedExpr327.getTree()); + + + break; + case 7 : + // XQueryParser.g:758:11: p_UnorderedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnorderedExpr_in_p_PrimaryExpr6642); + p_UnorderedExpr328=this.p_UnorderedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnorderedExpr328.getTree()); + + + break; + case 8 : + // XQueryParser.g:759:11: p_Constructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Constructor_in_p_PrimaryExpr6654); + p_Constructor329=this.p_Constructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Constructor329.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Literal_return: (function() { + XQueryParser.p_Literal_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Literal_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:763:1: p_Literal : ( p_NumericLiteral | p_StringLiteral ); + // $ANTLR start "p_Literal" + p_Literal: function() { + var retval = new XQueryParser.p_Literal_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_NumericLiteral330 = null; + var p_StringLiteral331 = null; + + + try { + // XQueryParser.g:764:9: ( p_NumericLiteral | p_StringLiteral ) + var alt125=2; + var LA125_0 = this.input.LA(1); + + if ( ((LA125_0>=L_IntegerLiteral && LA125_0<=L_DoubleLiteral)) ) { + alt125=1; + } + else if ( ((LA125_0>=APOS && LA125_0<=QUOT)) ) { + alt125=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 125, 0, this.input); + + throw nvae; + } + switch (alt125) { + case 1 : + // XQueryParser.g:764:13: p_NumericLiteral + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NumericLiteral_in_p_Literal6682); + p_NumericLiteral330=this.p_NumericLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NumericLiteral330.getTree()); + + + break; + case 2 : + // XQueryParser.g:764:32: p_StringLiteral + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_Literal6686); + p_StringLiteral331=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral331.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NumericLiteral_return: (function() { + XQueryParser.p_NumericLiteral_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NumericLiteral_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:768:1: p_NumericLiteral : ( L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral ); + // $ANTLR start "p_NumericLiteral" + p_NumericLiteral: function() { + var retval = new XQueryParser.p_NumericLiteral_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set332 = null; + + var set332_tree=null; + + try { + // XQueryParser.g:769:9: ( L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set332=this.input.LT(1); + if ( (this.input.LA(1)>=L_IntegerLiteral && this.input.LA(1)<=L_DoubleLiteral) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set332)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VarRef_return: (function() { + XQueryParser.p_VarRef_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VarRef_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:773:1: p_VarRef : DOLLAR p_VarName ; + // $ANTLR start "p_VarRef" + p_VarRef: function() { + var retval = new XQueryParser.p_VarRef_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR333 = null; + var p_VarName334 = null; + + var DOLLAR333_tree=null; + + try { + // XQueryParser.g:774:9: ( DOLLAR p_VarName ) + // XQueryParser.g:774:13: DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + DOLLAR333=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_VarRef6758); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR333_tree = this.adaptor.create(DOLLAR333); + this.adaptor.addChild(root_0, DOLLAR333_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_VarRef6760); + p_VarName334=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName334.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VarName_return: (function() { + XQueryParser.p_VarName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VarName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:778:1: p_VarName : p_QName ; + // $ANTLR start "p_VarName" + p_VarName: function() { + var retval = new XQueryParser.p_VarName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName335 = null; + + + try { + // XQueryParser.g:779:9: ( p_QName ) + // XQueryParser.g:779:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_VarName6788); + p_QName335=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName335.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ParenthesizedExpr_return: (function() { + XQueryParser.p_ParenthesizedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ParenthesizedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:783:1: p_ParenthesizedExpr : LPAREN ( pm_Expr )? RPAREN ; + // $ANTLR start "p_ParenthesizedExpr" + p_ParenthesizedExpr: function() { + var retval = new XQueryParser.p_ParenthesizedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN336 = null; + var RPAREN338 = null; + var pm_Expr337 = null; + + var LPAREN336_tree=null; + var RPAREN338_tree=null; + + try { + // XQueryParser.g:784:9: ( LPAREN ( pm_Expr )? RPAREN ) + // XQueryParser.g:784:13: LPAREN ( pm_Expr )? RPAREN + root_0 = this.adaptor.nil(); + + LPAREN336=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ParenthesizedExpr6816); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN336_tree = this.adaptor.create(LPAREN336); + this.adaptor.addChild(root_0, LPAREN336_tree); + } + // XQueryParser.g:784:20: ( pm_Expr )? + var alt126=2; + var LA126_0 = this.input.LA(1); + + if ( ((LA126_0>=ANCESTOR && LA126_0<=EXIT)||(LA126_0>=SEQUENTIAL && LA126_0<=MAINTAINED)||(LA126_0>=MUTABLE && LA126_0<=LPAREN)||LA126_0==DOLLAR||(LA126_0>=STAR && LA126_0<=SMALLER)||(LA126_0>=SLASH && LA126_0<=DOT_DOT)||LA126_0==ATTR_SIGN||(LA126_0>=APOS && LA126_0<=QUOT)||LA126_0==L_NCName||(LA126_0>=L_Pragma && LA126_0<=L_DoubleLiteral)||(LA126_0>=LETDOLLAR && LA126_0<=EXPLICITLY)) ) { + alt126=1; + } + switch (alt126) { + case 1 : + // XQueryParser.g:784:20: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ParenthesizedExpr6818); + pm_Expr337=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr337.getTree()); + + + break; + + } + + RPAREN338=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ParenthesizedExpr6821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN338_tree = this.adaptor.create(RPAREN338); + this.adaptor.addChild(root_0, RPAREN338_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ContextItemExpr_return: (function() { + XQueryParser.p_ContextItemExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ContextItemExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:788:1: p_ContextItemExpr : DOT ; + // $ANTLR start "p_ContextItemExpr" + p_ContextItemExpr: function() { + var retval = new XQueryParser.p_ContextItemExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOT339 = null; + + var DOT339_tree=null; + + try { + // XQueryParser.g:789:9: ( DOT ) + // XQueryParser.g:789:13: DOT + root_0 = this.adaptor.nil(); + + DOT339=this.match(this.input,DOT,XQueryParser.FOLLOW_DOT_in_p_ContextItemExpr6849); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOT339_tree = this.adaptor.create(DOT339); + this.adaptor.addChild(root_0, DOT339_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderedExpr_return: (function() { + XQueryParser.p_OrderedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:793:1: p_OrderedExpr : k= ORDERED LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_OrderedExpr" + p_OrderedExpr: function() { + var retval = new XQueryParser.p_OrderedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET340 = null; + var RBRACKET342 = null; + var pm_Expr341 = null; + + var k_tree=null; + var LBRACKET340_tree=null; + var RBRACKET342_tree=null; + + try { + // XQueryParser.g:794:9: (k= ORDERED LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:794:13: k= ORDERED LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_p_OrderedExpr6879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET340=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_OrderedExpr6882); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET340_tree = this.adaptor.create(LBRACKET340); + this.adaptor.addChild(root_0, LBRACKET340_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_OrderedExpr6884); + pm_Expr341=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr341.getTree()); + RBRACKET342=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_OrderedExpr6886); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET342_tree = this.adaptor.create(RBRACKET342); + this.adaptor.addChild(root_0, RBRACKET342_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnorderedExpr_return: (function() { + XQueryParser.p_UnorderedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnorderedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:798:1: p_UnorderedExpr : k= UNORDERED LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_UnorderedExpr" + p_UnorderedExpr: function() { + var retval = new XQueryParser.p_UnorderedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET343 = null; + var RBRACKET345 = null; + var pm_Expr344 = null; + + var k_tree=null; + var LBRACKET343_tree=null; + var RBRACKET345_tree=null; + + try { + // XQueryParser.g:799:9: (k= UNORDERED LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:799:13: k= UNORDERED LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_p_UnorderedExpr6916); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET343=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_UnorderedExpr6919); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET343_tree = this.adaptor.create(LBRACKET343); + this.adaptor.addChild(root_0, LBRACKET343_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_UnorderedExpr6921); + pm_Expr344=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr344.getTree()); + RBRACKET345=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_UnorderedExpr6923); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET345_tree = this.adaptor.create(RBRACKET345); + this.adaptor.addChild(root_0, RBRACKET345_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FunctionCall_return: (function() { + XQueryParser.p_FunctionCall_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FunctionCall_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:804:1: p_FunctionCall : p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN ; + // $ANTLR start "p_FunctionCall" + p_FunctionCall: function() { + var retval = new XQueryParser.p_FunctionCall_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN347 = null; + var COMMA349 = null; + var RPAREN351 = null; + var p_FQName346 = null; + var p_ExprSingle348 = null; + var p_ExprSingle350 = null; + + var LPAREN347_tree=null; + var COMMA349_tree=null; + var RPAREN351_tree=null; + + try { + // XQueryParser.g:805:9: ( p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN ) + // XQueryParser.g:805:13: p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FQName_in_p_FunctionCall6952); + p_FQName346=this.p_FQName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FQName346.getTree()); + LPAREN347=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_FunctionCall6954); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN347_tree = this.adaptor.create(LPAREN347); + this.adaptor.addChild(root_0, LPAREN347_tree); + } + // XQueryParser.g:805:29: ( p_ExprSingle ( COMMA p_ExprSingle )* )? + var alt128=2; + var LA128_0 = this.input.LA(1); + + if ( ((LA128_0>=ANCESTOR && LA128_0<=EXIT)||(LA128_0>=SEQUENTIAL && LA128_0<=MAINTAINED)||(LA128_0>=MUTABLE && LA128_0<=LPAREN)||LA128_0==DOLLAR||(LA128_0>=STAR && LA128_0<=SMALLER)||(LA128_0>=SLASH && LA128_0<=DOT_DOT)||LA128_0==ATTR_SIGN||(LA128_0>=APOS && LA128_0<=QUOT)||LA128_0==L_NCName||(LA128_0>=L_Pragma && LA128_0<=L_DoubleLiteral)||(LA128_0>=LETDOLLAR && LA128_0<=EXPLICITLY)) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // XQueryParser.g:805:30: p_ExprSingle ( COMMA p_ExprSingle )* + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_FunctionCall6957); + p_ExprSingle348=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle348.getTree()); + // XQueryParser.g:805:43: ( COMMA p_ExprSingle )* + loop127: + do { + var alt127=2; + var LA127_0 = this.input.LA(1); + + if ( (LA127_0==COMMA) ) { + alt127=1; + } + + + switch (alt127) { + case 1 : + // XQueryParser.g:805:44: COMMA p_ExprSingle + COMMA349=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_FunctionCall6960); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA349_tree = this.adaptor.create(COMMA349); + this.adaptor.addChild(root_0, COMMA349_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_FunctionCall6962); + p_ExprSingle350=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle350.getTree()); + + + break; + + default : + break loop127; + } + } while (true); + + + + break; + + } + + RPAREN351=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_FunctionCall6968); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN351_tree = this.adaptor.create(RPAREN351); + this.adaptor.addChild(root_0, RPAREN351_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Constructor_return: (function() { + XQueryParser.p_Constructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Constructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:809:1: p_Constructor : ( p_DirectConstructor | p_ComputedConstructor ); + // $ANTLR start "p_Constructor" + p_Constructor: function() { + var retval = new XQueryParser.p_Constructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_DirectConstructor352 = null; + var p_ComputedConstructor353 = null; + + + try { + // XQueryParser.g:810:9: ( p_DirectConstructor | p_ComputedConstructor ) + var alt129=2; + var LA129_0 = this.input.LA(1); + + if ( (LA129_0==SMALLER||(LA129_0>=L_DirCommentConstructor && LA129_0<=L_DirPIConstructor)) ) { + alt129=1; + } + else if ( (LA129_0==ATTRIBUTE||LA129_0==COMMENT||LA129_0==DOCUMENT||LA129_0==ELEMENT||LA129_0==NAMESPACE||LA129_0==PROCESSING_INSTRUCTION||LA129_0==TEXT) ) { + alt129=2; + } + else if ( (LA129_0==BINARY) && ((false))) { + alt129=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 129, 0, this.input); + + throw nvae; + } + switch (alt129) { + case 1 : + // XQueryParser.g:810:13: p_DirectConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirectConstructor_in_p_Constructor7000); + p_DirectConstructor352=this.p_DirectConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirectConstructor352.getTree()); + + + break; + case 2 : + // XQueryParser.g:810:35: p_ComputedConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ComputedConstructor_in_p_Constructor7004); + p_ComputedConstructor353=this.p_ComputedConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComputedConstructor353.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirectConstructor_return: (function() { + XQueryParser.p_DirectConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirectConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:814:1: p_DirectConstructor : ( p_DirElemConstructor | L_DirCommentConstructor | L_DirPIConstructor ); + // $ANTLR start "p_DirectConstructor" + p_DirectConstructor: function() { + var retval = new XQueryParser.p_DirectConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_DirCommentConstructor355 = null; + var L_DirPIConstructor356 = null; + var p_DirElemConstructor354 = null; + + var L_DirCommentConstructor355_tree=null; + var L_DirPIConstructor356_tree=null; + + try { + // XQueryParser.g:815:9: ( p_DirElemConstructor | L_DirCommentConstructor | L_DirPIConstructor ) + var alt130=3; + switch ( this.input.LA(1) ) { + case SMALLER: + alt130=1; + break; + case L_DirCommentConstructor: + alt130=2; + break; + case L_DirPIConstructor: + alt130=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 130, 0, this.input); + + throw nvae; + } + + switch (alt130) { + case 1 : + // XQueryParser.g:815:13: p_DirElemConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirElemConstructor_in_p_DirectConstructor7032); + p_DirElemConstructor354=this.p_DirElemConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirElemConstructor354.getTree()); + + + break; + case 2 : + // XQueryParser.g:816:11: L_DirCommentConstructor + root_0 = this.adaptor.nil(); + + L_DirCommentConstructor355=this.match(this.input,L_DirCommentConstructor,XQueryParser.FOLLOW_L_DirCommentConstructor_in_p_DirectConstructor7044); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_DirCommentConstructor355_tree = this.adaptor.create(L_DirCommentConstructor355); + this.adaptor.addChild(root_0, L_DirCommentConstructor355_tree); + } + + + break; + case 3 : + // XQueryParser.g:817:11: L_DirPIConstructor + root_0 = this.adaptor.nil(); + + L_DirPIConstructor356=this.match(this.input,L_DirPIConstructor,XQueryParser.FOLLOW_L_DirPIConstructor_in_p_DirectConstructor7056); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_DirPIConstructor356_tree = this.adaptor.create(L_DirPIConstructor356); + this.adaptor.addChild(root_0, L_DirPIConstructor356_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirElemConstructor_return: (function() { + XQueryParser.p_DirElemConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirElemConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:821:1: p_DirElemConstructor : SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) ; + // $ANTLR start "p_DirElemConstructor" + p_DirElemConstructor: function() { + var retval = new XQueryParser.p_DirElemConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SMALLER357 = null; + var EMPTY_CLOSE_TAG360 = null; + var GREATER361 = null; + var CLOSE_TAG363 = null; + var S365 = null; + var GREATER366 = null; + var p_QName358 = null; + var p_DirAttributeList359 = null; + var pm_DirElemContent362 = null; + var p_QName364 = null; + + var SMALLER357_tree=null; + var EMPTY_CLOSE_TAG360_tree=null; + var GREATER361_tree=null; + var CLOSE_TAG363_tree=null; + var S365_tree=null; + var GREATER366_tree=null; + var stream_CLOSE_TAG=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token CLOSE_TAG"); + var stream_GREATER=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token GREATER"); + var stream_S=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token S"); + var stream_EMPTY_CLOSE_TAG=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EMPTY_CLOSE_TAG"); + var stream_SMALLER=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SMALLER"); + var stream_p_DirAttributeList=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_DirAttributeList"); + var stream_pm_DirElemContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_DirElemContent"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:822:9: ( SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) ) + // XQueryParser.g:822:13: SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) + SMALLER357=this.match(this.input,SMALLER,XQueryParser.FOLLOW_SMALLER_in_p_DirElemConstructor7084); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SMALLER.add(SMALLER357); + + if ( this.state.backtracking===0 ) { + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirElemConstructor7100); + p_QName358=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName358.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_DirAttributeList_in_p_DirElemConstructor7102); + p_DirAttributeList359=this.p_DirAttributeList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_DirAttributeList.add(p_DirAttributeList359.getTree()); + // XQueryParser.g:824:13: ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) + var alt133=2; + var LA133_0 = this.input.LA(1); + + if ( (LA133_0==EMPTY_CLOSE_TAG) ) { + alt133=1; + } + else if ( (LA133_0==GREATER) ) { + alt133=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 133, 0, this.input); + + throw nvae; + } + switch (alt133) { + case 1 : + // XQueryParser.g:824:14: EMPTY_CLOSE_TAG + EMPTY_CLOSE_TAG360=this.match(this.input,EMPTY_CLOSE_TAG,XQueryParser.FOLLOW_EMPTY_CLOSE_TAG_in_p_DirElemConstructor7118); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EMPTY_CLOSE_TAG.add(EMPTY_CLOSE_TAG360); + + + + break; + case 2 : + // XQueryParser.g:824:32: ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) + // XQueryParser.g:824:32: ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) + // XQueryParser.g:824:33: GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER + GREATER361=this.match(this.input,GREATER,XQueryParser.FOLLOW_GREATER_in_p_DirElemConstructor7123); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_GREATER.add(GREATER361); + + // XQueryParser.g:824:41: ( pm_DirElemContent )* + loop131: + do { + var alt131=2; + var LA131_0 = this.input.LA(1); + + if ( ((LA131_0>=L_ElementContentChar && LA131_0<=ESCAPE_RBRACKET)||LA131_0==LBRACKET||LA131_0==SMALLER||(LA131_0>=L_DirCommentConstructor && LA131_0<=L_DirPIConstructor)) ) { + alt131=1; + } + + + switch (alt131) { + case 1 : + // XQueryParser.g:824:41: pm_DirElemContent + this.pushFollow(XQueryParser.FOLLOW_pm_DirElemContent_in_p_DirElemConstructor7125); + pm_DirElemContent362=this.pm_DirElemContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_DirElemContent.add(pm_DirElemContent362.getTree()); + + + break; + + default : + break loop131; + } + } while (true); + + CLOSE_TAG363=this.match(this.input,CLOSE_TAG,XQueryParser.FOLLOW_CLOSE_TAG_in_p_DirElemConstructor7128); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_CLOSE_TAG.add(CLOSE_TAG363); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirElemConstructor7130); + p_QName364=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName364.getTree()); + // XQueryParser.g:824:78: ( S )? + var alt132=2; + var LA132_0 = this.input.LA(1); + + if ( (LA132_0==S) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // XQueryParser.g:824:78: S + S365=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirElemConstructor7132); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_S.add(S365); + + + + break; + + } + + GREATER366=this.match(this.input,GREATER,XQueryParser.FOLLOW_GREATER_in_p_DirElemConstructor7135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_GREATER.add(GREATER366); + + + + + + + break; + + } + + + + // AST REWRITE + // elements: p_DirAttributeList, pm_DirElemContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 825:17: -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) + { + // XQueryParser.g:825:20: ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirElemConstructor, "DirElemConstructor"), root_1); + + // XQueryParser.g:825:41: ^( DirAttributeList ( p_DirAttributeList )* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeList, "DirAttributeList"), root_2); + + // XQueryParser.g:825:60: ( p_DirAttributeList )* + while ( stream_p_DirAttributeList.hasNext() ) { + this.adaptor.addChild(root_2, stream_p_DirAttributeList.nextTree()); + + } + stream_p_DirAttributeList.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:825:81: ^( DirElemContent ( pm_DirElemContent )* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DirElemContent, "DirElemContent"), root_2); + + // XQueryParser.g:825:98: ( pm_DirElemContent )* + while ( stream_pm_DirElemContent.hasNext() ) { + this.adaptor.addChild(root_2, stream_pm_DirElemContent.nextTree()); + + } + stream_pm_DirElemContent.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirAttributeList_return: (function() { + XQueryParser.p_DirAttributeList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirAttributeList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:830:1: p_DirAttributeList : ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* ; + // $ANTLR start "p_DirAttributeList" + p_DirAttributeList: function() { + var retval = new XQueryParser.p_DirAttributeList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var S367 = null; + var S369 = null; + var EQUAL370 = null; + var S371 = null; + var p_QName368 = null; + var p_DirAttributeValue372 = null; + + var S367_tree=null; + var S369_tree=null; + var EQUAL370_tree=null; + var S371_tree=null; + + try { + // XQueryParser.g:831:9: ( ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* ) + // XQueryParser.g:831:11: ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:831:11: ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* + loop137: + do { + var alt137=2; + var LA137_0 = this.input.LA(1); + + if ( (LA137_0==S) ) { + alt137=1; + } + + + switch (alt137) { + case 1 : + // XQueryParser.g:831:12: S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? + S367=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7212); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S367_tree = this.adaptor.create(S367); + this.adaptor.addChild(root_0, S367_tree); + } + // XQueryParser.g:831:14: ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? + var alt136=2; + var LA136_0 = this.input.LA(1); + + if ( ((LA136_0>=ANCESTOR && LA136_0<=EXIT)||(LA136_0>=SEQUENTIAL && LA136_0<=MAINTAINED)||(LA136_0>=MUTABLE && LA136_0<=QUOT_ER)||LA136_0==L_NCName||LA136_0==EXPLICITLY) ) { + alt136=1; + } + switch (alt136) { + case 1 : + // XQueryParser.g:831:15: p_QName ( S )? EQUAL ( S )? p_DirAttributeValue + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirAttributeList7215); + p_QName368=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName368.getTree()); + // XQueryParser.g:831:23: ( S )? + var alt134=2; + var LA134_0 = this.input.LA(1); + + if ( (LA134_0==S) ) { + alt134=1; + } + switch (alt134) { + case 1 : + // XQueryParser.g:831:23: S + S369=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7217); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S369_tree = this.adaptor.create(S369); + this.adaptor.addChild(root_0, S369_tree); + } + + + break; + + } + + EQUAL370=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_DirAttributeList7220); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + EQUAL370_tree = this.adaptor.create(EQUAL370); + this.adaptor.addChild(root_0, EQUAL370_tree); + } + // XQueryParser.g:831:32: ( S )? + var alt135=2; + var LA135_0 = this.input.LA(1); + + if ( (LA135_0==S) ) { + alt135=1; + } + switch (alt135) { + case 1 : + // XQueryParser.g:831:32: S + S371=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7222); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S371_tree = this.adaptor.create(S371); + this.adaptor.addChild(root_0, S371_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_DirAttributeValue_in_p_DirAttributeList7225); + p_DirAttributeValue372=this.p_DirAttributeValue(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirAttributeValue372.getTree()); + + + break; + + } + + + + break; + + default : + break loop137; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirAttributeValue_return: (function() { + XQueryParser.p_DirAttributeValue_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirAttributeValue_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:835:1: p_DirAttributeValue : ( ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) | ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) ); + // $ANTLR start "p_DirAttributeValue" + p_DirAttributeValue: function() { + var retval = new XQueryParser.p_DirAttributeValue_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUOT373 = null; + var ESCAPE_QUOT374 = null; + var QUOT376 = null; + var APOS377 = null; + var ESCAPE_APOS378 = null; + var APOS380 = null; + var pm_QuotAttrValueContent375 = null; + var pm_AposAttrValueContent379 = null; + + var QUOT373_tree=null; + var ESCAPE_QUOT374_tree=null; + var QUOT376_tree=null; + var APOS377_tree=null; + var ESCAPE_APOS378_tree=null; + var APOS380_tree=null; + var stream_ESCAPE_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ESCAPE_QUOT"); + var stream_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token APOS"); + var stream_ESCAPE_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ESCAPE_APOS"); + var stream_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token QUOT"); + var stream_pm_QuotAttrValueContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_QuotAttrValueContent"); + var stream_pm_AposAttrValueContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_AposAttrValueContent"); + try { + // XQueryParser.g:836:9: ( ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) | ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) ) + var alt140=2; + var LA140_0 = this.input.LA(1); + + if ( (LA140_0==QUOT) ) { + alt140=1; + } + else if ( (LA140_0==APOS) ) { + alt140=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 140, 0, this.input); + + throw nvae; + } + switch (alt140) { + case 1 : + // XQueryParser.g:836:11: ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) + // XQueryParser.g:836:11: ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) + // XQueryParser.g:836:12: QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT + QUOT373=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_DirAttributeValue7256); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT373); + + // XQueryParser.g:836:17: ( ESCAPE_QUOT | pm_QuotAttrValueContent )* + loop138: + do { + var alt138=3; + var LA138_0 = this.input.LA(1); + + if ( (LA138_0==ESCAPE_QUOT) ) { + alt138=1; + } + else if ( (LA138_0==L_QuotAttrContentChar||(LA138_0>=L_PredefinedEntityRef && LA138_0<=ESCAPE_RBRACKET)||LA138_0==LBRACKET) ) { + alt138=2; + } + + + switch (alt138) { + case 1 : + // XQueryParser.g:836:18: ESCAPE_QUOT + ESCAPE_QUOT374=this.match(this.input,ESCAPE_QUOT,XQueryParser.FOLLOW_ESCAPE_QUOT_in_p_DirAttributeValue7259); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ESCAPE_QUOT.add(ESCAPE_QUOT374); + + + + break; + case 2 : + // XQueryParser.g:836:32: pm_QuotAttrValueContent + this.pushFollow(XQueryParser.FOLLOW_pm_QuotAttrValueContent_in_p_DirAttributeValue7263); + pm_QuotAttrValueContent375=this.pm_QuotAttrValueContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_QuotAttrValueContent.add(pm_QuotAttrValueContent375.getTree()); + + + break; + + default : + break loop138; + } + } while (true); + + QUOT376=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_DirAttributeValue7267); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT376); + + + + + + + // AST REWRITE + // elements: pm_QuotAttrValueContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 837:17: -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) + { + // XQueryParser.g:837:20: ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeValue, "DirAttributeValue"), root_1); + + // XQueryParser.g:837:40: ( pm_QuotAttrValueContent )* + while ( stream_pm_QuotAttrValueContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_pm_QuotAttrValueContent.nextTree()); + + } + stream_pm_QuotAttrValueContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:838:11: ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) + // XQueryParser.g:838:11: ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) + // XQueryParser.g:838:12: APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS + APOS377=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_DirAttributeValue7306); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS377); + + // XQueryParser.g:838:17: ( ESCAPE_APOS | pm_AposAttrValueContent )* + loop139: + do { + var alt139=3; + var LA139_0 = this.input.LA(1); + + if ( (LA139_0==ESCAPE_APOS) ) { + alt139=1; + } + else if ( (LA139_0==L_AposAttrContentChar||(LA139_0>=L_PredefinedEntityRef && LA139_0<=ESCAPE_RBRACKET)||LA139_0==LBRACKET) ) { + alt139=2; + } + + + switch (alt139) { + case 1 : + // XQueryParser.g:838:18: ESCAPE_APOS + ESCAPE_APOS378=this.match(this.input,ESCAPE_APOS,XQueryParser.FOLLOW_ESCAPE_APOS_in_p_DirAttributeValue7309); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ESCAPE_APOS.add(ESCAPE_APOS378); + + + + break; + case 2 : + // XQueryParser.g:838:32: pm_AposAttrValueContent + this.pushFollow(XQueryParser.FOLLOW_pm_AposAttrValueContent_in_p_DirAttributeValue7313); + pm_AposAttrValueContent379=this.pm_AposAttrValueContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_AposAttrValueContent.add(pm_AposAttrValueContent379.getTree()); + + + break; + + default : + break loop139; + } + } while (true); + + APOS380=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_DirAttributeValue7317); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS380); + + + + + + + // AST REWRITE + // elements: pm_AposAttrValueContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 839:17: -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) + { + // XQueryParser.g:839:20: ^( DirAttributeValue ( pm_AposAttrValueContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeValue, "DirAttributeValue"), root_1); + + // XQueryParser.g:839:40: ( pm_AposAttrValueContent )* + while ( stream_pm_AposAttrValueContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_pm_AposAttrValueContent.nextTree()); + + } + stream_pm_AposAttrValueContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_QuotAttrValueContent_return: (function() { + XQueryParser.pm_QuotAttrValueContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_QuotAttrValueContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:843:1: pm_QuotAttrValueContent : ( pg_QuotAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ); + // $ANTLR start "pm_QuotAttrValueContent" + pm_QuotAttrValueContent: function() { + var retval = new XQueryParser.pm_QuotAttrValueContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pg_QuotAttrContentChar381 = null; + var pg_CommonContent382 = null; + var p_ElemEnclosedExpr383 = null; + + + try { + // XQueryParser.g:844:9: ( pg_QuotAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ) + var alt141=3; + switch ( this.input.LA(1) ) { + case L_QuotAttrContentChar: + alt141=1; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt141=2; + break; + case LBRACKET: + alt141=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 141, 0, this.input); + + throw nvae; + } + + switch (alt141) { + case 1 : + // XQueryParser.g:844:11: pg_QuotAttrContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_QuotAttrContentChar_in_pm_QuotAttrValueContent7369); + pg_QuotAttrContentChar381=this.pg_QuotAttrContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_QuotAttrContentChar381.getTree()); + + + break; + case 2 : + // XQueryParser.g:844:36: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_QuotAttrValueContent7373); + pg_CommonContent382=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent382.getTree()); + + + break; + case 3 : + // XQueryParser.g:844:55: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_QuotAttrValueContent7377); + p_ElemEnclosedExpr383=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr383.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_QuotAttrContentChar_return: (function() { + XQueryParser.pg_QuotAttrContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_QuotAttrContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:851:1: pg_QuotAttrContentChar : L_QuotAttrContentChar -> ^( AttributeValueChar L_QuotAttrContentChar ) ; + // $ANTLR start "pg_QuotAttrContentChar" + pg_QuotAttrContentChar: function() { + var retval = new XQueryParser.pg_QuotAttrContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_QuotAttrContentChar384 = null; + + var L_QuotAttrContentChar384_tree=null; + var stream_L_QuotAttrContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_QuotAttrContentChar"); + + try { + // XQueryParser.g:852:9: ( L_QuotAttrContentChar -> ^( AttributeValueChar L_QuotAttrContentChar ) ) + // XQueryParser.g:852:11: L_QuotAttrContentChar + L_QuotAttrContentChar384=this.match(this.input,L_QuotAttrContentChar,XQueryParser.FOLLOW_L_QuotAttrContentChar_in_pg_QuotAttrContentChar7406); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_QuotAttrContentChar.add(L_QuotAttrContentChar384); + + + + // AST REWRITE + // elements: L_QuotAttrContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 853:17: -> ^( AttributeValueChar L_QuotAttrContentChar ) + { + // XQueryParser.g:853:20: ^( AttributeValueChar L_QuotAttrContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AttributeValueChar, "AttributeValueChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_QuotAttrContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_AposAttrValueContent_return: (function() { + XQueryParser.pm_AposAttrValueContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_AposAttrValueContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:858:1: pm_AposAttrValueContent : ( pg_AposAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ); + // $ANTLR start "pm_AposAttrValueContent" + pm_AposAttrValueContent: function() { + var retval = new XQueryParser.pm_AposAttrValueContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pg_AposAttrContentChar385 = null; + var pg_CommonContent386 = null; + var p_ElemEnclosedExpr387 = null; + + + try { + // XQueryParser.g:859:9: ( pg_AposAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ) + var alt142=3; + switch ( this.input.LA(1) ) { + case L_AposAttrContentChar: + alt142=1; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt142=2; + break; + case LBRACKET: + alt142=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 142, 0, this.input); + + throw nvae; + } + + switch (alt142) { + case 1 : + // XQueryParser.g:859:13: pg_AposAttrContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_AposAttrContentChar_in_pm_AposAttrValueContent7459); + pg_AposAttrContentChar385=this.pg_AposAttrContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_AposAttrContentChar385.getTree()); + + + break; + case 2 : + // XQueryParser.g:859:38: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_AposAttrValueContent7463); + pg_CommonContent386=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent386.getTree()); + + + break; + case 3 : + // XQueryParser.g:859:57: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_AposAttrValueContent7467); + p_ElemEnclosedExpr387=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr387.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_AposAttrContentChar_return: (function() { + XQueryParser.pg_AposAttrContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_AposAttrContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:866:1: pg_AposAttrContentChar : L_AposAttrContentChar -> ^( AttributeValueChar L_AposAttrContentChar ) ; + // $ANTLR start "pg_AposAttrContentChar" + pg_AposAttrContentChar: function() { + var retval = new XQueryParser.pg_AposAttrContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_AposAttrContentChar388 = null; + + var L_AposAttrContentChar388_tree=null; + var stream_L_AposAttrContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_AposAttrContentChar"); + + try { + // XQueryParser.g:867:9: ( L_AposAttrContentChar -> ^( AttributeValueChar L_AposAttrContentChar ) ) + // XQueryParser.g:867:11: L_AposAttrContentChar + L_AposAttrContentChar388=this.match(this.input,L_AposAttrContentChar,XQueryParser.FOLLOW_L_AposAttrContentChar_in_pg_AposAttrContentChar7496); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_AposAttrContentChar.add(L_AposAttrContentChar388); + + + + // AST REWRITE + // elements: L_AposAttrContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 868:17: -> ^( AttributeValueChar L_AposAttrContentChar ) + { + // XQueryParser.g:868:20: ^( AttributeValueChar L_AposAttrContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AttributeValueChar, "AttributeValueChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_AposAttrContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DirElemContent_return: (function() { + XQueryParser.pm_DirElemContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DirElemContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:873:1: pm_DirElemContent : ( p_DirectConstructor | L_CDataSection | p_ElemEnclosedExpr | pg_CommonContent | pg_ElementContentChar ); + // $ANTLR start "pm_DirElemContent" + pm_DirElemContent: function() { + var retval = new XQueryParser.pm_DirElemContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_CDataSection390 = null; + var p_DirectConstructor389 = null; + var p_ElemEnclosedExpr391 = null; + var pg_CommonContent392 = null; + var pg_ElementContentChar393 = null; + + var L_CDataSection390_tree=null; + + try { + // XQueryParser.g:874:9: ( p_DirectConstructor | L_CDataSection | p_ElemEnclosedExpr | pg_CommonContent | pg_ElementContentChar ) + var alt143=5; + switch ( this.input.LA(1) ) { + case SMALLER: + case L_DirCommentConstructor: + case L_DirPIConstructor: + alt143=1; + break; + case L_CDataSection: + alt143=2; + break; + case LBRACKET: + alt143=3; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt143=4; + break; + case L_ElementContentChar: + alt143=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 143, 0, this.input); + + throw nvae; + } + + switch (alt143) { + case 1 : + // XQueryParser.g:874:11: p_DirectConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirectConstructor_in_pm_DirElemContent7547); + p_DirectConstructor389=this.p_DirectConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirectConstructor389.getTree()); + + + break; + case 2 : + // XQueryParser.g:875:11: L_CDataSection + root_0 = this.adaptor.nil(); + + L_CDataSection390=this.match(this.input,L_CDataSection,XQueryParser.FOLLOW_L_CDataSection_in_pm_DirElemContent7559); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_CDataSection390_tree = this.adaptor.create(L_CDataSection390); + this.adaptor.addChild(root_0, L_CDataSection390_tree); + } + + + break; + case 3 : + // XQueryParser.g:876:11: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_DirElemContent7571); + p_ElemEnclosedExpr391=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr391.getTree()); + + + break; + case 4 : + // XQueryParser.g:877:11: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_DirElemContent7583); + pg_CommonContent392=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent392.getTree()); + + + break; + case 5 : + // XQueryParser.g:878:11: pg_ElementContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_ElementContentChar_in_pm_DirElemContent7595); + pg_ElementContentChar393=this.pg_ElementContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_ElementContentChar393.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_ElementContentChar_return: (function() { + XQueryParser.pg_ElementContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_ElementContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:885:1: pg_ElementContentChar : L_ElementContentChar -> ^( ElementContentChar L_ElementContentChar ) ; + // $ANTLR start "pg_ElementContentChar" + pg_ElementContentChar: function() { + var retval = new XQueryParser.pg_ElementContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_ElementContentChar394 = null; + + var L_ElementContentChar394_tree=null; + var stream_L_ElementContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_ElementContentChar"); + + try { + // XQueryParser.g:886:9: ( L_ElementContentChar -> ^( ElementContentChar L_ElementContentChar ) ) + // XQueryParser.g:886:11: L_ElementContentChar + L_ElementContentChar394=this.match(this.input,L_ElementContentChar,XQueryParser.FOLLOW_L_ElementContentChar_in_pg_ElementContentChar7624); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_ElementContentChar.add(L_ElementContentChar394); + + + + // AST REWRITE + // elements: L_ElementContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 887:17: -> ^( ElementContentChar L_ElementContentChar ) + { + // XQueryParser.g:887:20: ^( ElementContentChar L_ElementContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ElementContentChar, "ElementContentChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_ElementContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_CommonContent_return: (function() { + XQueryParser.pg_CommonContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_CommonContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:895:1: pg_CommonContent : pm_CommonContent -> ^( CommonContent pm_CommonContent ) ; + // $ANTLR start "pg_CommonContent" + pg_CommonContent: function() { + var retval = new XQueryParser.pg_CommonContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_CommonContent395 = null; + + var stream_pm_CommonContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_CommonContent"); + try { + // XQueryParser.g:896:9: ( pm_CommonContent -> ^( CommonContent pm_CommonContent ) ) + // XQueryParser.g:896:13: pm_CommonContent + this.pushFollow(XQueryParser.FOLLOW_pm_CommonContent_in_pg_CommonContent7680); + pm_CommonContent395=this.pm_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_CommonContent.add(pm_CommonContent395.getTree()); + + + // AST REWRITE + // elements: pm_CommonContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 897:17: -> ^( CommonContent pm_CommonContent ) + { + // XQueryParser.g:897:20: ^( CommonContent pm_CommonContent ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(CommonContent, "CommonContent"), root_1); + + this.adaptor.addChild(root_1, stream_pm_CommonContent.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_CommonContent_return: (function() { + XQueryParser.pm_CommonContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_CommonContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:902:1: pm_CommonContent : ( L_PredefinedEntityRef | L_CharRef | ESCAPE_LBRACKET | ESCAPE_RBRACKET ); + // $ANTLR start "pm_CommonContent" + pm_CommonContent: function() { + var retval = new XQueryParser.pm_CommonContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set396 = null; + + var set396_tree=null; + + try { + // XQueryParser.g:903:9: ( L_PredefinedEntityRef | L_CharRef | ESCAPE_LBRACKET | ESCAPE_RBRACKET ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set396=this.input.LT(1); + if ( (this.input.LA(1)>=L_PredefinedEntityRef && this.input.LA(1)<=ESCAPE_RBRACKET) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set396)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElemEnclosedExpr_return: (function() { + XQueryParser.p_ElemEnclosedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElemEnclosedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:910:1: p_ElemEnclosedExpr : LBRACKET ( pm_Expr ) RBRACKET ; + // $ANTLR start "p_ElemEnclosedExpr" + p_ElemEnclosedExpr: function() { + var retval = new XQueryParser.p_ElemEnclosedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET397 = null; + var RBRACKET399 = null; + var pm_Expr398 = null; + + var LBRACKET397_tree=null; + var RBRACKET399_tree=null; + + try { + // XQueryParser.g:911:9: ( LBRACKET ( pm_Expr ) RBRACKET ) + // XQueryParser.g:911:13: LBRACKET ( pm_Expr ) RBRACKET + root_0 = this.adaptor.nil(); + + LBRACKET397=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ElemEnclosedExpr7776); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET397_tree = this.adaptor.create(LBRACKET397); + this.adaptor.addChild(root_0, LBRACKET397_tree); + } + // XQueryParser.g:912:13: ( pm_Expr ) + // XQueryParser.g:912:14: pm_Expr + if ( this.state.backtracking===0 ) { + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ElemEnclosedExpr7793); + pm_Expr398=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr398.getTree()); + if ( this.state.backtracking===0 ) { + } + + + + RBRACKET399=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ElemEnclosedExpr7810); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET399_tree = this.adaptor.create(RBRACKET399); + this.adaptor.addChild(root_0, RBRACKET399_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ComputedConstructor_return: (function() { + XQueryParser.p_ComputedConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ComputedConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:936:1: p_ComputedConstructor : ( p_CompDocConstructor | p_CompElemConstructor | p_CompAttrConstructor | p_CompNamespaceConstructor | p_CompTextConstructor | p_CompCommentConstructor | p_CompPIConstructor | {...}? => p_CompBinaryConstructor ); + // $ANTLR start "p_ComputedConstructor" + p_ComputedConstructor: function() { + var retval = new XQueryParser.p_ComputedConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_CompDocConstructor400 = null; + var p_CompElemConstructor401 = null; + var p_CompAttrConstructor402 = null; + var p_CompNamespaceConstructor403 = null; + var p_CompTextConstructor404 = null; + var p_CompCommentConstructor405 = null; + var p_CompPIConstructor406 = null; + var p_CompBinaryConstructor407 = null; + + + try { + // XQueryParser.g:937:9: ( p_CompDocConstructor | p_CompElemConstructor | p_CompAttrConstructor | p_CompNamespaceConstructor | p_CompTextConstructor | p_CompCommentConstructor | p_CompPIConstructor | {...}? => p_CompBinaryConstructor ) + var alt144=8; + var LA144_0 = this.input.LA(1); + + if ( (LA144_0==DOCUMENT) ) { + alt144=1; + } + else if ( (LA144_0==ELEMENT) ) { + alt144=2; + } + else if ( (LA144_0==ATTRIBUTE) ) { + alt144=3; + } + else if ( (LA144_0==NAMESPACE) ) { + alt144=4; + } + else if ( (LA144_0==TEXT) ) { + alt144=5; + } + else if ( (LA144_0==COMMENT) ) { + alt144=6; + } + else if ( (LA144_0==PROCESSING_INSTRUCTION) ) { + alt144=7; + } + else if ( (LA144_0==BINARY) && ((false))) { + alt144=8; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 144, 0, this.input); + + throw nvae; + } + switch (alt144) { + case 1 : + // XQueryParser.g:937:13: p_CompDocConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompDocConstructor_in_p_ComputedConstructor7861); + p_CompDocConstructor400=this.p_CompDocConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompDocConstructor400.getTree()); + + + break; + case 2 : + // XQueryParser.g:938:11: p_CompElemConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompElemConstructor_in_p_ComputedConstructor7873); + p_CompElemConstructor401=this.p_CompElemConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompElemConstructor401.getTree()); + + + break; + case 3 : + // XQueryParser.g:939:11: p_CompAttrConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompAttrConstructor_in_p_ComputedConstructor7885); + p_CompAttrConstructor402=this.p_CompAttrConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompAttrConstructor402.getTree()); + + + break; + case 4 : + // XQueryParser.g:940:11: p_CompNamespaceConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompNamespaceConstructor_in_p_ComputedConstructor7897); + p_CompNamespaceConstructor403=this.p_CompNamespaceConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompNamespaceConstructor403.getTree()); + + + break; + case 5 : + // XQueryParser.g:941:11: p_CompTextConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompTextConstructor_in_p_ComputedConstructor7909); + p_CompTextConstructor404=this.p_CompTextConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompTextConstructor404.getTree()); + + + break; + case 6 : + // XQueryParser.g:942:11: p_CompCommentConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompCommentConstructor_in_p_ComputedConstructor7921); + p_CompCommentConstructor405=this.p_CompCommentConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompCommentConstructor405.getTree()); + + + break; + case 7 : + // XQueryParser.g:943:11: p_CompPIConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompPIConstructor_in_p_ComputedConstructor7933); + p_CompPIConstructor406=this.p_CompPIConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompPIConstructor406.getTree()); + + + break; + case 8 : + // XQueryParser.g:944:11: {...}? => p_CompBinaryConstructor + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ComputedConstructor", "false"); + } + this.pushFollow(XQueryParser.FOLLOW_p_CompBinaryConstructor_in_p_ComputedConstructor7948); + p_CompBinaryConstructor407=this.p_CompBinaryConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompBinaryConstructor407.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompDocConstructor_return: (function() { + XQueryParser.p_CompDocConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompDocConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:948:1: p_CompDocConstructor : k= DOCUMENT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompDocConstructor" + p_CompDocConstructor: function() { + var retval = new XQueryParser.p_CompDocConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET408 = null; + var RBRACKET410 = null; + var pm_Expr409 = null; + + var k_tree=null; + var LBRACKET408_tree=null; + var RBRACKET410_tree=null; + + try { + // XQueryParser.g:949:9: (k= DOCUMENT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:949:13: k= DOCUMENT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DOCUMENT,XQueryParser.FOLLOW_DOCUMENT_in_p_CompDocConstructor7982); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET408=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompDocConstructor7985); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET408_tree = this.adaptor.create(LBRACKET408); + this.adaptor.addChild(root_0, LBRACKET408_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompDocConstructor7987); + pm_Expr409=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr409.getTree()); + RBRACKET410=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompDocConstructor7989); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET410_tree = this.adaptor.create(RBRACKET410); + this.adaptor.addChild(root_0, RBRACKET410_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompElemConstructor_return: (function() { + XQueryParser.p_CompElemConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompElemConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:953:1: p_CompElemConstructor : k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompElemConstructor" + p_CompElemConstructor: function() { + var retval = new XQueryParser.p_CompElemConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET412 = null; + var RBRACKET414 = null; + var LBRACKET415 = null; + var RBRACKET417 = null; + var p_QName411 = null; + var pm_Expr413 = null; + var pm_Expr416 = null; + + var k_tree=null; + var LBRACKET412_tree=null; + var RBRACKET414_tree=null; + var LBRACKET415_tree=null; + var RBRACKET417_tree=null; + + try { + // XQueryParser.g:954:9: (k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:954:13: k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_CompElemConstructor8030); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:954:24: ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt145=2; + var LA145_0 = this.input.LA(1); + + if ( ((LA145_0>=ANCESTOR && LA145_0<=EXIT)||(LA145_0>=SEQUENTIAL && LA145_0<=MAINTAINED)||(LA145_0>=MUTABLE && LA145_0<=QUOT_ER)||LA145_0==L_NCName||LA145_0==EXPLICITLY) ) { + alt145=1; + } + else if ( (LA145_0==LBRACKET) ) { + alt145=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 145, 0, this.input); + + throw nvae; + } + switch (alt145) { + case 1 : + // XQueryParser.g:954:25: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CompElemConstructor8034); + p_QName411=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName411.getTree()); + + + break; + case 2 : + // XQueryParser.g:954:35: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:954:35: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:954:36: LBRACKET pm_Expr RBRACKET + LBRACKET412=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompElemConstructor8039); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET412_tree = this.adaptor.create(LBRACKET412); + this.adaptor.addChild(root_0, LBRACKET412_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompElemConstructor8041); + pm_Expr413=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr413.getTree()); + RBRACKET414=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompElemConstructor8043); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET414_tree = this.adaptor.create(RBRACKET414); + this.adaptor.addChild(root_0, RBRACKET414_tree); + } + + + + + + break; + + } + + LBRACKET415=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompElemConstructor8047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET415_tree = this.adaptor.create(LBRACKET415); + this.adaptor.addChild(root_0, LBRACKET415_tree); + } + // XQueryParser.g:954:73: ( pm_Expr )? + var alt146=2; + var LA146_0 = this.input.LA(1); + + if ( ((LA146_0>=ANCESTOR && LA146_0<=EXIT)||(LA146_0>=SEQUENTIAL && LA146_0<=MAINTAINED)||(LA146_0>=MUTABLE && LA146_0<=LPAREN)||LA146_0==DOLLAR||(LA146_0>=STAR && LA146_0<=SMALLER)||(LA146_0>=SLASH && LA146_0<=DOT_DOT)||LA146_0==ATTR_SIGN||(LA146_0>=APOS && LA146_0<=QUOT)||LA146_0==L_NCName||(LA146_0>=L_Pragma && LA146_0<=L_DoubleLiteral)||(LA146_0>=LETDOLLAR && LA146_0<=EXPLICITLY)) ) { + alt146=1; + } + switch (alt146) { + case 1 : + // XQueryParser.g:954:73: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompElemConstructor8049); + pm_Expr416=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr416.getTree()); + + + break; + + } + + RBRACKET417=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompElemConstructor8052); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET417_tree = this.adaptor.create(RBRACKET417); + this.adaptor.addChild(root_0, RBRACKET417_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompAttrConstructor_return: (function() { + XQueryParser.p_CompAttrConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompAttrConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:961:1: p_CompAttrConstructor : k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompAttrConstructor" + p_CompAttrConstructor: function() { + var retval = new XQueryParser.p_CompAttrConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET419 = null; + var RBRACKET421 = null; + var LBRACKET422 = null; + var RBRACKET424 = null; + var p_QName418 = null; + var pm_Expr420 = null; + var pm_Expr423 = null; + + var k_tree=null; + var LBRACKET419_tree=null; + var RBRACKET421_tree=null; + var LBRACKET422_tree=null; + var RBRACKET424_tree=null; + + try { + // XQueryParser.g:962:9: (k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:962:13: k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_CompAttrConstructor8085); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:962:26: ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt147=2; + var LA147_0 = this.input.LA(1); + + if ( ((LA147_0>=ANCESTOR && LA147_0<=EXIT)||(LA147_0>=SEQUENTIAL && LA147_0<=MAINTAINED)||(LA147_0>=MUTABLE && LA147_0<=QUOT_ER)||LA147_0==L_NCName||LA147_0==EXPLICITLY) ) { + alt147=1; + } + else if ( (LA147_0==LBRACKET) ) { + alt147=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 147, 0, this.input); + + throw nvae; + } + switch (alt147) { + case 1 : + // XQueryParser.g:962:27: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CompAttrConstructor8089); + p_QName418=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName418.getTree()); + + + break; + case 2 : + // XQueryParser.g:962:37: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:962:37: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:962:38: LBRACKET pm_Expr RBRACKET + LBRACKET419=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompAttrConstructor8094); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET419_tree = this.adaptor.create(LBRACKET419); + this.adaptor.addChild(root_0, LBRACKET419_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompAttrConstructor8096); + pm_Expr420=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr420.getTree()); + RBRACKET421=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompAttrConstructor8098); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET421_tree = this.adaptor.create(RBRACKET421); + this.adaptor.addChild(root_0, RBRACKET421_tree); + } + + + + + + break; + + } + + LBRACKET422=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompAttrConstructor8102); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET422_tree = this.adaptor.create(LBRACKET422); + this.adaptor.addChild(root_0, LBRACKET422_tree); + } + // XQueryParser.g:962:75: ( pm_Expr )? + var alt148=2; + var LA148_0 = this.input.LA(1); + + if ( ((LA148_0>=ANCESTOR && LA148_0<=EXIT)||(LA148_0>=SEQUENTIAL && LA148_0<=MAINTAINED)||(LA148_0>=MUTABLE && LA148_0<=LPAREN)||LA148_0==DOLLAR||(LA148_0>=STAR && LA148_0<=SMALLER)||(LA148_0>=SLASH && LA148_0<=DOT_DOT)||LA148_0==ATTR_SIGN||(LA148_0>=APOS && LA148_0<=QUOT)||LA148_0==L_NCName||(LA148_0>=L_Pragma && LA148_0<=L_DoubleLiteral)||(LA148_0>=LETDOLLAR && LA148_0<=EXPLICITLY)) ) { + alt148=1; + } + switch (alt148) { + case 1 : + // XQueryParser.g:962:75: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompAttrConstructor8104); + pm_Expr423=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr423.getTree()); + + + break; + + } + + RBRACKET424=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompAttrConstructor8107); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET424_tree = this.adaptor.create(RBRACKET424); + this.adaptor.addChild(root_0, RBRACKET424_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompNamespaceConstructor_return: (function() { + XQueryParser.p_CompNamespaceConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompNamespaceConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:966:1: p_CompNamespaceConstructor : k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompNamespaceConstructor" + p_CompNamespaceConstructor: function() { + var retval = new XQueryParser.p_CompNamespaceConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET426 = null; + var RBRACKET428 = null; + var LBRACKET429 = null; + var RBRACKET431 = null; + var p_NCName425 = null; + var pm_Expr427 = null; + var pm_Expr430 = null; + + var k_tree=null; + var LBRACKET426_tree=null; + var RBRACKET428_tree=null; + var LBRACKET429_tree=null; + var RBRACKET431_tree=null; + + try { + // XQueryParser.g:967:9: (k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:967:11: k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_CompNamespaceConstructor8135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:967:24: ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt149=2; + var LA149_0 = this.input.LA(1); + + if ( ((LA149_0>=ANCESTOR && LA149_0<=EXIT)||(LA149_0>=SEQUENTIAL && LA149_0<=MAINTAINED)||(LA149_0>=MUTABLE && LA149_0<=QUOT_ER)||LA149_0==L_NCName||LA149_0==EXPLICITLY) ) { + alt149=1; + } + else if ( (LA149_0==LBRACKET) ) { + alt149=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 149, 0, this.input); + + throw nvae; + } + switch (alt149) { + case 1 : + // XQueryParser.g:967:25: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_CompNamespaceConstructor8139); + p_NCName425=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName425.getTree()); + + + break; + case 2 : + // XQueryParser.g:967:36: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:967:36: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:967:37: LBRACKET pm_Expr RBRACKET + LBRACKET426=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8144); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET426_tree = this.adaptor.create(LBRACKET426); + this.adaptor.addChild(root_0, LBRACKET426_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8146); + pm_Expr427=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr427.getTree()); + RBRACKET428=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8148); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET428_tree = this.adaptor.create(RBRACKET428); + this.adaptor.addChild(root_0, RBRACKET428_tree); + } + + + + + + break; + + } + + LBRACKET429=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET429_tree = this.adaptor.create(LBRACKET429); + this.adaptor.addChild(root_0, LBRACKET429_tree); + } + // XQueryParser.g:967:74: ( pm_Expr )? + var alt150=2; + var LA150_0 = this.input.LA(1); + + if ( ((LA150_0>=ANCESTOR && LA150_0<=EXIT)||(LA150_0>=SEQUENTIAL && LA150_0<=MAINTAINED)||(LA150_0>=MUTABLE && LA150_0<=LPAREN)||LA150_0==DOLLAR||(LA150_0>=STAR && LA150_0<=SMALLER)||(LA150_0>=SLASH && LA150_0<=DOT_DOT)||LA150_0==ATTR_SIGN||(LA150_0>=APOS && LA150_0<=QUOT)||LA150_0==L_NCName||(LA150_0>=L_Pragma && LA150_0<=L_DoubleLiteral)||(LA150_0>=LETDOLLAR && LA150_0<=EXPLICITLY)) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // XQueryParser.g:967:74: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8154); + pm_Expr430=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr430.getTree()); + + + break; + + } + + RBRACKET431=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8157); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET431_tree = this.adaptor.create(RBRACKET431); + this.adaptor.addChild(root_0, RBRACKET431_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompTextConstructor_return: (function() { + XQueryParser.p_CompTextConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompTextConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:977:1: p_CompTextConstructor : k= TEXT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompTextConstructor" + p_CompTextConstructor: function() { + var retval = new XQueryParser.p_CompTextConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET432 = null; + var RBRACKET434 = null; + var pm_Expr433 = null; + + var k_tree=null; + var LBRACKET432_tree=null; + var RBRACKET434_tree=null; + + try { + // XQueryParser.g:978:9: (k= TEXT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:978:13: k= TEXT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TEXT,XQueryParser.FOLLOW_TEXT_in_p_CompTextConstructor8193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET432=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompTextConstructor8196); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET432_tree = this.adaptor.create(LBRACKET432); + this.adaptor.addChild(root_0, LBRACKET432_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompTextConstructor8198); + pm_Expr433=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr433.getTree()); + RBRACKET434=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompTextConstructor8200); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET434_tree = this.adaptor.create(RBRACKET434); + this.adaptor.addChild(root_0, RBRACKET434_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompBinaryConstructor_return: (function() { + XQueryParser.p_CompBinaryConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompBinaryConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:982:1: p_CompBinaryConstructor : k= BINARY LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompBinaryConstructor" + p_CompBinaryConstructor: function() { + var retval = new XQueryParser.p_CompBinaryConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET435 = null; + var RBRACKET437 = null; + var pm_Expr436 = null; + + var k_tree=null; + var LBRACKET435_tree=null; + var RBRACKET437_tree=null; + + try { + // XQueryParser.g:983:9: (k= BINARY LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:983:13: k= BINARY LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,BINARY,XQueryParser.FOLLOW_BINARY_in_p_CompBinaryConstructor8230); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET435=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompBinaryConstructor8233); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET435_tree = this.adaptor.create(LBRACKET435); + this.adaptor.addChild(root_0, LBRACKET435_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompBinaryConstructor8235); + pm_Expr436=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr436.getTree()); + RBRACKET437=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompBinaryConstructor8237); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET437_tree = this.adaptor.create(RBRACKET437); + this.adaptor.addChild(root_0, RBRACKET437_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompCommentConstructor_return: (function() { + XQueryParser.p_CompCommentConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompCommentConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:987:1: p_CompCommentConstructor : k= COMMENT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompCommentConstructor" + p_CompCommentConstructor: function() { + var retval = new XQueryParser.p_CompCommentConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET438 = null; + var RBRACKET440 = null; + var pm_Expr439 = null; + + var k_tree=null; + var LBRACKET438_tree=null; + var RBRACKET440_tree=null; + + try { + // XQueryParser.g:988:9: (k= COMMENT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:988:13: k= COMMENT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COMMENT,XQueryParser.FOLLOW_COMMENT_in_p_CompCommentConstructor8267); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET438=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompCommentConstructor8270); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET438_tree = this.adaptor.create(LBRACKET438); + this.adaptor.addChild(root_0, LBRACKET438_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompCommentConstructor8272); + pm_Expr439=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr439.getTree()); + RBRACKET440=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompCommentConstructor8274); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET440_tree = this.adaptor.create(RBRACKET440); + this.adaptor.addChild(root_0, RBRACKET440_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompPIConstructor_return: (function() { + XQueryParser.p_CompPIConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompPIConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:992:1: p_CompPIConstructor : k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompPIConstructor" + p_CompPIConstructor: function() { + var retval = new XQueryParser.p_CompPIConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET442 = null; + var RBRACKET444 = null; + var LBRACKET445 = null; + var RBRACKET447 = null; + var p_NCName441 = null; + var pm_Expr443 = null; + var pm_Expr446 = null; + + var k_tree=null; + var LBRACKET442_tree=null; + var RBRACKET444_tree=null; + var LBRACKET445_tree=null; + var RBRACKET447_tree=null; + + try { + // XQueryParser.g:993:9: (k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:993:13: k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PROCESSING_INSTRUCTION,XQueryParser.FOLLOW_PROCESSING_INSTRUCTION_in_p_CompPIConstructor8305); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:993:39: ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt151=2; + var LA151_0 = this.input.LA(1); + + if ( ((LA151_0>=ANCESTOR && LA151_0<=EXIT)||(LA151_0>=SEQUENTIAL && LA151_0<=MAINTAINED)||(LA151_0>=MUTABLE && LA151_0<=QUOT_ER)||LA151_0==L_NCName||LA151_0==EXPLICITLY) ) { + alt151=1; + } + else if ( (LA151_0==LBRACKET) ) { + alt151=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 151, 0, this.input); + + throw nvae; + } + switch (alt151) { + case 1 : + // XQueryParser.g:993:40: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_CompPIConstructor8309); + p_NCName441=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName441.getTree()); + + + break; + case 2 : + // XQueryParser.g:993:51: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:993:51: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:993:52: LBRACKET pm_Expr RBRACKET + LBRACKET442=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompPIConstructor8314); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET442_tree = this.adaptor.create(LBRACKET442); + this.adaptor.addChild(root_0, LBRACKET442_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompPIConstructor8316); + pm_Expr443=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr443.getTree()); + RBRACKET444=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompPIConstructor8318); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET444_tree = this.adaptor.create(RBRACKET444); + this.adaptor.addChild(root_0, RBRACKET444_tree); + } + + + + + + break; + + } + + LBRACKET445=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompPIConstructor8322); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET445_tree = this.adaptor.create(LBRACKET445); + this.adaptor.addChild(root_0, LBRACKET445_tree); + } + // XQueryParser.g:993:89: ( pm_Expr )? + var alt152=2; + var LA152_0 = this.input.LA(1); + + if ( ((LA152_0>=ANCESTOR && LA152_0<=EXIT)||(LA152_0>=SEQUENTIAL && LA152_0<=MAINTAINED)||(LA152_0>=MUTABLE && LA152_0<=LPAREN)||LA152_0==DOLLAR||(LA152_0>=STAR && LA152_0<=SMALLER)||(LA152_0>=SLASH && LA152_0<=DOT_DOT)||LA152_0==ATTR_SIGN||(LA152_0>=APOS && LA152_0<=QUOT)||LA152_0==L_NCName||(LA152_0>=L_Pragma && LA152_0<=L_DoubleLiteral)||(LA152_0>=LETDOLLAR && LA152_0<=EXPLICITLY)) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // XQueryParser.g:993:89: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompPIConstructor8324); + pm_Expr446=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr446.getTree()); + + + break; + + } + + RBRACKET447=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompPIConstructor8327); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET447_tree = this.adaptor.create(RBRACKET447); + this.adaptor.addChild(root_0, RBRACKET447_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SingleType_return: (function() { + XQueryParser.p_SingleType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SingleType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:997:1: p_SingleType : p_AtomicType ( QUESTION )? ; + // $ANTLR start "p_SingleType" + p_SingleType: function() { + var retval = new XQueryParser.p_SingleType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUESTION449 = null; + var p_AtomicType448 = null; + + var QUESTION449_tree=null; + + try { + // XQueryParser.g:998:9: ( p_AtomicType ( QUESTION )? ) + // XQueryParser.g:998:13: p_AtomicType ( QUESTION )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_SingleType8355); + p_AtomicType448=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType448.getTree()); + // XQueryParser.g:998:26: ( QUESTION )? + var alt153=2; + var LA153_0 = this.input.LA(1); + + if ( (LA153_0==QUESTION) ) { + alt153=1; + } + switch (alt153) { + case 1 : + // XQueryParser.g:998:26: QUESTION + QUESTION449=this.match(this.input,QUESTION,XQueryParser.FOLLOW_QUESTION_in_p_SingleType8357); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + QUESTION449_tree = this.adaptor.create(QUESTION449); + this.adaptor.addChild(root_0, QUESTION449_tree); + } + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeDeclaration_return: (function() { + XQueryParser.p_TypeDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1002:1: p_TypeDeclaration : k= AS st= p_SequenceType -> ^( TypeDeclaration $st) ; + // $ANTLR start "p_TypeDeclaration" + p_TypeDeclaration: function() { + var retval = new XQueryParser.p_TypeDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var st = null; + + var k_tree=null; + var stream_AS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AS"); + var stream_p_SequenceType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_SequenceType"); + try { + // XQueryParser.g:1003:9: (k= AS st= p_SequenceType -> ^( TypeDeclaration $st) ) + // XQueryParser.g:1003:13: k= AS st= p_SequenceType + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_TypeDeclaration8388); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AS.add(k); + + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_TypeDeclaration8393); + st=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_SequenceType.add(st.getTree()); + + + // AST REWRITE + // elements: st + // token labels: + // rule labels: retval, st + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_st=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token st",st!=null?st.tree:null); + + root_0 = this.adaptor.nil(); + // 1004:17: -> ^( TypeDeclaration $st) + { + // XQueryParser.g:1004:20: ^( TypeDeclaration $st) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(TypeDeclaration, "TypeDeclaration"), root_1); + + this.adaptor.addChild(root_1, stream_st.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SequenceType_return: (function() { + XQueryParser.p_SequenceType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SequenceType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1008:1: p_SequenceType : (k= EMPTY_SEQUENCE l= LPAREN r= RPAREN -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) | it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? -> ^( SequenceType $it ( $oi)? ) ); + // $ANTLR start "p_SequenceType" + p_SequenceType: function() { + var retval = new XQueryParser.p_SequenceType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var l = null; + var r = null; + var it = null; + var oi = null; + + var k_tree=null; + var l_tree=null; + var r_tree=null; + var stream_EMPTY_SEQUENCE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EMPTY_SEQUENCE"); + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_ItemType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ItemType"); + var stream_p_OccurrenceIndicator=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_OccurrenceIndicator"); + try { + // XQueryParser.g:1009:9: (k= EMPTY_SEQUENCE l= LPAREN r= RPAREN -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) | it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? -> ^( SequenceType $it ( $oi)? ) ) + var alt155=2; + var LA155_0 = this.input.LA(1); + + if ( (LA155_0==EMPTY_SEQUENCE) ) { + var LA155_1 = this.input.LA(2); + + if ( (LA155_1==LPAREN) ) { + alt155=1; + } + else if ( (LA155_1==EOF||(LA155_1>=AND && LA155_1<=AT)||LA155_1==CASE||LA155_1==COLLATION||LA155_1==DEFAULT||(LA155_1>=DESCENDING && LA155_1<=DIV)||(LA155_1>=ELSE && LA155_1<=EMPTY)||LA155_1==EQ||(LA155_1>=EXCEPT && LA155_1<=EXTERNAL)||LA155_1==FOR||LA155_1==GE||(LA155_1>=GT && LA155_1<=IDIV)||LA155_1==IN||(LA155_1>=INSTANCE && LA155_1<=IS)||LA155_1==LE||(LA155_1>=LT && LA155_1<=MOD)||LA155_1==NE||(LA155_1>=OR && LA155_1<=ORDER)||(LA155_1>=RETURN && LA155_1<=SATISFIES)||LA155_1==STABLE||LA155_1==TO||LA155_1==UNION||LA155_1==WHERE||LA155_1==COUNT||(LA155_1>=END && LA155_1<=GROUP)||LA155_1==ONLY||LA155_1==START||(LA155_1>=AFTER && LA155_1<=BEFORE)||LA155_1==INTO||LA155_1==MODIFY||LA155_1==WITH||LA155_1==RPAREN||(LA155_1>=LBRACKET && LA155_1<=RBRACKET)||(LA155_1>=RSQUARE && LA155_1<=NOTEQUAL)||(LA155_1>=COMMA && LA155_1<=GREATER_GREATER)||LA155_1==COLON||(LA155_1>=SEMICOLON && LA155_1<=VBAR)||LA155_1==LETDOLLAR) ) { + alt155=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 155, 1, this.input); + + throw nvae; + } + } + else if ( ((LA155_0>=ANCESTOR && LA155_0<=EMPTY)||(LA155_0>=ENCODING && LA155_0<=EXIT)||(LA155_0>=SEQUENTIAL && LA155_0<=MAINTAINED)||(LA155_0>=MUTABLE && LA155_0<=QUOT_ER)||LA155_0==L_NCName||LA155_0==EXPLICITLY) ) { + alt155=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 155, 0, this.input); + + throw nvae; + } + switch (alt155) { + case 1 : + // XQueryParser.g:1009:13: k= EMPTY_SEQUENCE l= LPAREN r= RPAREN + k=this.match(this.input,EMPTY_SEQUENCE,XQueryParser.FOLLOW_EMPTY_SEQUENCE_in_p_SequenceType8448); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EMPTY_SEQUENCE.add(k); + + l=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SequenceType8453); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(l); + + r=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SequenceType8457); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(r); + + + + // AST REWRITE + // elements: k, r, l + // token labels: r, l, k + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_r=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token r",r); + var stream_l=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token l",l); + var stream_k=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token k",k); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1010:17: -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) + { + // XQueryParser.g:1010:20: ^( SequenceType ^( EmptySequenceTest $k $l $r) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SequenceType, "SequenceType"), root_1); + + // XQueryParser.g:1010:35: ^( EmptySequenceTest $k $l $r) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(EmptySequenceTest, "EmptySequenceTest"), root_2); + + this.adaptor.addChild(root_2, stream_k.nextNode()); + this.adaptor.addChild(root_2, stream_l.nextNode()); + this.adaptor.addChild(root_2, stream_r.nextNode()); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1011:11: it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? + this.pushFollow(XQueryParser.FOLLOW_p_ItemType_in_p_SequenceType8506); + it=this.p_ItemType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ItemType.add(it.getTree()); + // XQueryParser.g:1011:25: ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? + var alt154=2; + alt154 = this.dfa154.predict(this.input); + switch (alt154) { + case 1 : + // XQueryParser.g:1011:26: ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_p_SequenceType8517); + oi=this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_OccurrenceIndicator.add(oi.getTree()); + + + break; + + } + + + + // AST REWRITE + // elements: oi, it + // token labels: + // rule labels: retval, it, oi + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_it=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token it",it!=null?it.tree:null); + var stream_oi=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token oi",oi!=null?oi.tree:null); + + root_0 = this.adaptor.nil(); + // 1012:17: -> ^( SequenceType $it ( $oi)? ) + { + // XQueryParser.g:1012:20: ^( SequenceType $it ( $oi)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SequenceType, "SequenceType"), root_1); + + this.adaptor.addChild(root_1, stream_it.nextTree()); + // XQueryParser.g:1012:39: ( $oi)? + if ( stream_oi.hasNext() ) { + this.adaptor.addChild(root_1, stream_oi.nextTree()); + + } + stream_oi.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OccurrenceIndicator_return: (function() { + XQueryParser.p_OccurrenceIndicator_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OccurrenceIndicator_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1016:1: p_OccurrenceIndicator : ( QUESTION | STAR | PLUS ); + // $ANTLR start "p_OccurrenceIndicator" + p_OccurrenceIndicator: function() { + var retval = new XQueryParser.p_OccurrenceIndicator_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set450 = null; + + var set450_tree=null; + + try { + // XQueryParser.g:1017:9: ( QUESTION | STAR | PLUS ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set450=this.input.LT(1); + if ( (this.input.LA(1)>=QUESTION && this.input.LA(1)<=PLUS) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set450)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ItemType_return: (function() { + XQueryParser.p_ItemType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ItemType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1021:1: p_ItemType : ( p_KindTest -> ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType ); + // $ANTLR start "p_ItemType" + p_ItemType: function() { + var retval = new XQueryParser.p_ItemType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var BINARY452 = null; + var LPAREN453 = null; + var RPAREN454 = null; + var ITEM455 = null; + var LPAREN456 = null; + var RPAREN457 = null; + var p_KindTest451 = null; + var p_AtomicType458 = null; + + var BINARY452_tree=null; + var LPAREN453_tree=null; + var RPAREN454_tree=null; + var ITEM455_tree=null; + var LPAREN456_tree=null; + var RPAREN457_tree=null; + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_ITEM=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ITEM"); + var stream_BINARY=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BINARY"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_KindTest=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_KindTest"); + try { + // XQueryParser.g:1022:9: ( p_KindTest -> ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType ) + var alt156=4; + alt156 = this.dfa156.predict(this.input); + switch (alt156) { + case 1 : + // XQueryParser.g:1022:11: p_KindTest + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_ItemType8619); + p_KindTest451=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_KindTest.add(p_KindTest451.getTree()); + + + // AST REWRITE + // elements: p_KindTest + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1023:17: -> ^( KindTest p_KindTest ) + { + // XQueryParser.g:1023:20: ^( KindTest p_KindTest ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(KindTest, "KindTest"), root_1); + + this.adaptor.addChild(root_1, stream_p_KindTest.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1024:11: {...}? => ( BINARY LPAREN RPAREN ) + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ItemType", "false"); + } + // XQueryParser.g:1024:22: ( BINARY LPAREN RPAREN ) + // XQueryParser.g:1024:23: BINARY LPAREN RPAREN + BINARY452=this.match(this.input,BINARY,XQueryParser.FOLLOW_BINARY_in_p_ItemType8659); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BINARY.add(BINARY452); + + LPAREN453=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ItemType8661); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN453); + + RPAREN454=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ItemType8663); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN454); + + + + + + + // AST REWRITE + // elements: LPAREN, RPAREN, BINARY + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1025:17: -> ^( BinaryTest BINARY LPAREN RPAREN ) + { + // XQueryParser.g:1025:20: ^( BinaryTest BINARY LPAREN RPAREN ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BinaryTest, "BinaryTest"), root_1); + + this.adaptor.addChild(root_1, stream_BINARY.nextNode()); + this.adaptor.addChild(root_1, stream_LPAREN.nextNode()); + this.adaptor.addChild(root_1, stream_RPAREN.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 3 : + // XQueryParser.g:1026:11: ( ITEM LPAREN RPAREN ) + // XQueryParser.g:1026:11: ( ITEM LPAREN RPAREN ) + // XQueryParser.g:1026:12: ITEM LPAREN RPAREN + ITEM455=this.match(this.input,ITEM,XQueryParser.FOLLOW_ITEM_in_p_ItemType8705); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ITEM.add(ITEM455); + + LPAREN456=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ItemType8707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN456); + + RPAREN457=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ItemType8709); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN457); + + + + + + + // AST REWRITE + // elements: RPAREN, LPAREN, ITEM + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1027:17: -> ^( ItemTest ITEM LPAREN RPAREN ) + { + // XQueryParser.g:1027:20: ^( ItemTest ITEM LPAREN RPAREN ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ItemTest, "ItemTest"), root_1); + + this.adaptor.addChild(root_1, stream_ITEM.nextNode()); + this.adaptor.addChild(root_1, stream_LPAREN.nextNode()); + this.adaptor.addChild(root_1, stream_RPAREN.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 4 : + // XQueryParser.g:1028:11: p_AtomicType + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_ItemType8750); + p_AtomicType458=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType458.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AtomicType_return: (function() { + XQueryParser.p_AtomicType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AtomicType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1032:1: p_AtomicType : p_QName -> ^( AtomicType p_QName ) ; + // $ANTLR start "p_AtomicType" + p_AtomicType: function() { + var retval = new XQueryParser.p_AtomicType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName459 = null; + + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:1033:9: ( p_QName -> ^( AtomicType p_QName ) ) + // XQueryParser.g:1033:11: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AtomicType8776); + p_QName459=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName459.getTree()); + + + // AST REWRITE + // elements: p_QName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1034:17: -> ^( AtomicType p_QName ) + { + // XQueryParser.g:1034:20: ^( AtomicType p_QName ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AtomicType, "AtomicType"), root_1); + + this.adaptor.addChild(root_1, stream_p_QName.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_KindTest_return: (function() { + XQueryParser.p_KindTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_KindTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1038:1: p_KindTest : ( p_DocumentTest | p_ElementTest | p_AttributeTest | p_SchemaElementTest | p_SchemaAttributeTest | p_NamespaceNodeTest | p_PITest | p_CommentTest | p_TextTest | p_AnyKindTest ); + // $ANTLR start "p_KindTest" + p_KindTest: function() { + var retval = new XQueryParser.p_KindTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_DocumentTest460 = null; + var p_ElementTest461 = null; + var p_AttributeTest462 = null; + var p_SchemaElementTest463 = null; + var p_SchemaAttributeTest464 = null; + var p_NamespaceNodeTest465 = null; + var p_PITest466 = null; + var p_CommentTest467 = null; + var p_TextTest468 = null; + var p_AnyKindTest469 = null; + + + try { + // XQueryParser.g:1039:9: ( p_DocumentTest | p_ElementTest | p_AttributeTest | p_SchemaElementTest | p_SchemaAttributeTest | p_NamespaceNodeTest | p_PITest | p_CommentTest | p_TextTest | p_AnyKindTest ) + var alt157=10; + switch ( this.input.LA(1) ) { + case DOCUMENT_NODE: + alt157=1; + break; + case ELEMENT: + alt157=2; + break; + case ATTRIBUTE: + alt157=3; + break; + case SCHEMA_ELEMENT: + alt157=4; + break; + case SCHEMA_ATTRIBUTE: + alt157=5; + break; + case NAMESPACE_NODE: + alt157=6; + break; + case PROCESSING_INSTRUCTION: + alt157=7; + break; + case COMMENT: + alt157=8; + break; + case TEXT: + alt157=9; + break; + case NODE: + alt157=10; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 157, 0, this.input); + + throw nvae; + } + + switch (alt157) { + case 1 : + // XQueryParser.g:1039:11: p_DocumentTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DocumentTest_in_p_KindTest8826); + p_DocumentTest460=this.p_DocumentTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DocumentTest460.getTree()); + + + break; + case 2 : + // XQueryParser.g:1040:11: p_ElementTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElementTest_in_p_KindTest8838); + p_ElementTest461=this.p_ElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementTest461.getTree()); + + + break; + case 3 : + // XQueryParser.g:1041:11: p_AttributeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AttributeTest_in_p_KindTest8850); + p_AttributeTest462=this.p_AttributeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeTest462.getTree()); + + + break; + case 4 : + // XQueryParser.g:1042:11: p_SchemaElementTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_SchemaElementTest_in_p_KindTest8862); + p_SchemaElementTest463=this.p_SchemaElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaElementTest463.getTree()); + + + break; + case 5 : + // XQueryParser.g:1043:11: p_SchemaAttributeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_SchemaAttributeTest_in_p_KindTest8874); + p_SchemaAttributeTest464=this.p_SchemaAttributeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaAttributeTest464.getTree()); + + + break; + case 6 : + // XQueryParser.g:1044:11: p_NamespaceNodeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NamespaceNodeTest_in_p_KindTest8886); + p_NamespaceNodeTest465=this.p_NamespaceNodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NamespaceNodeTest465.getTree()); + + + break; + case 7 : + // XQueryParser.g:1045:11: p_PITest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PITest_in_p_KindTest8898); + p_PITest466=this.p_PITest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PITest466.getTree()); + + + break; + case 8 : + // XQueryParser.g:1046:11: p_CommentTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CommentTest_in_p_KindTest8910); + p_CommentTest467=this.p_CommentTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CommentTest467.getTree()); + + + break; + case 9 : + // XQueryParser.g:1047:11: p_TextTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TextTest_in_p_KindTest8922); + p_TextTest468=this.p_TextTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TextTest468.getTree()); + + + break; + case 10 : + // XQueryParser.g:1048:11: p_AnyKindTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AnyKindTest_in_p_KindTest8934); + p_AnyKindTest469=this.p_AnyKindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AnyKindTest469.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AnyKindTest_return: (function() { + XQueryParser.p_AnyKindTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AnyKindTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1052:1: p_AnyKindTest : NODE LPAREN RPAREN ; + // $ANTLR start "p_AnyKindTest" + p_AnyKindTest: function() { + var retval = new XQueryParser.p_AnyKindTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var NODE470 = null; + var LPAREN471 = null; + var RPAREN472 = null; + + var NODE470_tree=null; + var LPAREN471_tree=null; + var RPAREN472_tree=null; + + try { + // XQueryParser.g:1053:9: ( NODE LPAREN RPAREN ) + // XQueryParser.g:1053:13: NODE LPAREN RPAREN + root_0 = this.adaptor.nil(); + + NODE470=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_AnyKindTest8962); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + NODE470_tree = this.adaptor.create(NODE470); + this.adaptor.addChild(root_0, NODE470_tree); + } + LPAREN471=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_AnyKindTest8964); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN471_tree = this.adaptor.create(LPAREN471); + this.adaptor.addChild(root_0, LPAREN471_tree); + } + RPAREN472=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_AnyKindTest8966); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN472_tree = this.adaptor.create(RPAREN472); + this.adaptor.addChild(root_0, RPAREN472_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DocumentTest_return: (function() { + XQueryParser.p_DocumentTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DocumentTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1057:1: p_DocumentTest : DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN ; + // $ANTLR start "p_DocumentTest" + p_DocumentTest: function() { + var retval = new XQueryParser.p_DocumentTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOCUMENT_NODE473 = null; + var LPAREN474 = null; + var RPAREN477 = null; + var p_ElementTest475 = null; + var p_SchemaElementTest476 = null; + + var DOCUMENT_NODE473_tree=null; + var LPAREN474_tree=null; + var RPAREN477_tree=null; + + try { + // XQueryParser.g:1058:9: ( DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN ) + // XQueryParser.g:1058:13: DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN + root_0 = this.adaptor.nil(); + + DOCUMENT_NODE473=this.match(this.input,DOCUMENT_NODE,XQueryParser.FOLLOW_DOCUMENT_NODE_in_p_DocumentTest8994); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOCUMENT_NODE473_tree = this.adaptor.create(DOCUMENT_NODE473); + this.adaptor.addChild(root_0, DOCUMENT_NODE473_tree); + } + LPAREN474=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_DocumentTest8996); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN474_tree = this.adaptor.create(LPAREN474); + this.adaptor.addChild(root_0, LPAREN474_tree); + } + // XQueryParser.g:1058:34: ( p_ElementTest | p_SchemaElementTest )? + var alt158=3; + var LA158_0 = this.input.LA(1); + + if ( (LA158_0==ELEMENT) ) { + alt158=1; + } + else if ( (LA158_0==SCHEMA_ELEMENT) ) { + alt158=2; + } + switch (alt158) { + case 1 : + // XQueryParser.g:1058:35: p_ElementTest + this.pushFollow(XQueryParser.FOLLOW_p_ElementTest_in_p_DocumentTest8999); + p_ElementTest475=this.p_ElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementTest475.getTree()); + + + break; + case 2 : + // XQueryParser.g:1058:51: p_SchemaElementTest + this.pushFollow(XQueryParser.FOLLOW_p_SchemaElementTest_in_p_DocumentTest9003); + p_SchemaElementTest476=this.p_SchemaElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaElementTest476.getTree()); + + + break; + + } + + RPAREN477=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_DocumentTest9007); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN477_tree = this.adaptor.create(RPAREN477); + this.adaptor.addChild(root_0, RPAREN477_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TextTest_return: (function() { + XQueryParser.p_TextTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TextTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1061:1: p_TextTest : TEXT LPAREN RPAREN ; + // $ANTLR start "p_TextTest" + p_TextTest: function() { + var retval = new XQueryParser.p_TextTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var TEXT478 = null; + var LPAREN479 = null; + var RPAREN480 = null; + + var TEXT478_tree=null; + var LPAREN479_tree=null; + var RPAREN480_tree=null; + + try { + // XQueryParser.g:1062:9: ( TEXT LPAREN RPAREN ) + // XQueryParser.g:1062:13: TEXT LPAREN RPAREN + root_0 = this.adaptor.nil(); + + TEXT478=this.match(this.input,TEXT,XQueryParser.FOLLOW_TEXT_in_p_TextTest9027); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + TEXT478_tree = this.adaptor.create(TEXT478); + this.adaptor.addChild(root_0, TEXT478_tree); + } + LPAREN479=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_TextTest9029); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN479_tree = this.adaptor.create(LPAREN479); + this.adaptor.addChild(root_0, LPAREN479_tree); + } + RPAREN480=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_TextTest9031); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN480_tree = this.adaptor.create(RPAREN480); + this.adaptor.addChild(root_0, RPAREN480_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CommentTest_return: (function() { + XQueryParser.p_CommentTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CommentTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1066:1: p_CommentTest : COMMENT LPAREN RPAREN ; + // $ANTLR start "p_CommentTest" + p_CommentTest: function() { + var retval = new XQueryParser.p_CommentTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMENT481 = null; + var LPAREN482 = null; + var RPAREN483 = null; + + var COMMENT481_tree=null; + var LPAREN482_tree=null; + var RPAREN483_tree=null; + + try { + // XQueryParser.g:1067:9: ( COMMENT LPAREN RPAREN ) + // XQueryParser.g:1067:13: COMMENT LPAREN RPAREN + root_0 = this.adaptor.nil(); + + COMMENT481=this.match(this.input,COMMENT,XQueryParser.FOLLOW_COMMENT_in_p_CommentTest9059); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMENT481_tree = this.adaptor.create(COMMENT481); + this.adaptor.addChild(root_0, COMMENT481_tree); + } + LPAREN482=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_CommentTest9061); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN482_tree = this.adaptor.create(LPAREN482); + this.adaptor.addChild(root_0, LPAREN482_tree); + } + RPAREN483=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_CommentTest9063); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN483_tree = this.adaptor.create(RPAREN483); + this.adaptor.addChild(root_0, RPAREN483_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NamespaceNodeTest_return: (function() { + XQueryParser.p_NamespaceNodeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NamespaceNodeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1071:1: p_NamespaceNodeTest : NAMESPACE_NODE LPAREN RPAREN ; + // $ANTLR start "p_NamespaceNodeTest" + p_NamespaceNodeTest: function() { + var retval = new XQueryParser.p_NamespaceNodeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var NAMESPACE_NODE484 = null; + var LPAREN485 = null; + var RPAREN486 = null; + + var NAMESPACE_NODE484_tree=null; + var LPAREN485_tree=null; + var RPAREN486_tree=null; + + try { + // XQueryParser.g:1072:9: ( NAMESPACE_NODE LPAREN RPAREN ) + // XQueryParser.g:1072:11: NAMESPACE_NODE LPAREN RPAREN + root_0 = this.adaptor.nil(); + + NAMESPACE_NODE484=this.match(this.input,NAMESPACE_NODE,XQueryParser.FOLLOW_NAMESPACE_NODE_in_p_NamespaceNodeTest9089); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + NAMESPACE_NODE484_tree = this.adaptor.create(NAMESPACE_NODE484); + this.adaptor.addChild(root_0, NAMESPACE_NODE484_tree); + } + LPAREN485=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_NamespaceNodeTest9091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN485_tree = this.adaptor.create(LPAREN485); + this.adaptor.addChild(root_0, LPAREN485_tree); + } + RPAREN486=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_NamespaceNodeTest9093); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN486_tree = this.adaptor.create(RPAREN486); + this.adaptor.addChild(root_0, RPAREN486_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PITest_return: (function() { + XQueryParser.p_PITest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PITest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1076:1: p_PITest : PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN ; + // $ANTLR start "p_PITest" + p_PITest: function() { + var retval = new XQueryParser.p_PITest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PROCESSING_INSTRUCTION487 = null; + var LPAREN488 = null; + var RPAREN491 = null; + var p_NCName489 = null; + var p_StringLiteral490 = null; + + var PROCESSING_INSTRUCTION487_tree=null; + var LPAREN488_tree=null; + var RPAREN491_tree=null; + + try { + // XQueryParser.g:1077:9: ( PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN ) + // XQueryParser.g:1077:13: PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN + root_0 = this.adaptor.nil(); + + PROCESSING_INSTRUCTION487=this.match(this.input,PROCESSING_INSTRUCTION,XQueryParser.FOLLOW_PROCESSING_INSTRUCTION_in_p_PITest9121); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PROCESSING_INSTRUCTION487_tree = this.adaptor.create(PROCESSING_INSTRUCTION487); + this.adaptor.addChild(root_0, PROCESSING_INSTRUCTION487_tree); + } + LPAREN488=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_PITest9123); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN488_tree = this.adaptor.create(LPAREN488); + this.adaptor.addChild(root_0, LPAREN488_tree); + } + // XQueryParser.g:1077:43: ( p_NCName | p_StringLiteral )? + var alt159=3; + var LA159_0 = this.input.LA(1); + + if ( ((LA159_0>=ANCESTOR && LA159_0<=EXIT)||(LA159_0>=SEQUENTIAL && LA159_0<=MAINTAINED)||(LA159_0>=MUTABLE && LA159_0<=QUOT_ER)||LA159_0==L_NCName||LA159_0==EXPLICITLY) ) { + alt159=1; + } + else if ( ((LA159_0>=APOS && LA159_0<=QUOT)) ) { + alt159=2; + } + switch (alt159) { + case 1 : + // XQueryParser.g:1077:44: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_PITest9126); + p_NCName489=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName489.getTree()); + + + break; + case 2 : + // XQueryParser.g:1077:55: p_StringLiteral + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_PITest9130); + p_StringLiteral490=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral490.getTree()); + + + break; + + } + + RPAREN491=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_PITest9134); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN491_tree = this.adaptor.create(RPAREN491); + this.adaptor.addChild(root_0, RPAREN491_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeTest_return: (function() { + XQueryParser.p_AttributeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1081:1: p_AttributeTest : ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN ; + // $ANTLR start "p_AttributeTest" + p_AttributeTest: function() { + var retval = new XQueryParser.p_AttributeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ATTRIBUTE492 = null; + var LPAREN493 = null; + var COMMA495 = null; + var RPAREN497 = null; + var p_AttribNameOrWildcard494 = null; + var p_TypeName496 = null; + + var ATTRIBUTE492_tree=null; + var LPAREN493_tree=null; + var COMMA495_tree=null; + var RPAREN497_tree=null; + + try { + // XQueryParser.g:1082:9: ( ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN ) + // XQueryParser.g:1082:13: ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN + root_0 = this.adaptor.nil(); + + ATTRIBUTE492=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_AttributeTest9162); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTRIBUTE492_tree = this.adaptor.create(ATTRIBUTE492); + this.adaptor.addChild(root_0, ATTRIBUTE492_tree); + } + LPAREN493=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_AttributeTest9164); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN493_tree = this.adaptor.create(LPAREN493); + this.adaptor.addChild(root_0, LPAREN493_tree); + } + // XQueryParser.g:1082:30: ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? + var alt161=2; + var LA161_0 = this.input.LA(1); + + if ( ((LA161_0>=ANCESTOR && LA161_0<=EXIT)||(LA161_0>=SEQUENTIAL && LA161_0<=MAINTAINED)||(LA161_0>=MUTABLE && LA161_0<=QUOT_ER)||LA161_0==STAR||LA161_0==L_NCName||LA161_0==EXPLICITLY) ) { + alt161=1; + } + switch (alt161) { + case 1 : + // XQueryParser.g:1082:31: p_AttribNameOrWildcard ( COMMA p_TypeName )? + this.pushFollow(XQueryParser.FOLLOW_p_AttribNameOrWildcard_in_p_AttributeTest9167); + p_AttribNameOrWildcard494=this.p_AttribNameOrWildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttribNameOrWildcard494.getTree()); + // XQueryParser.g:1082:54: ( COMMA p_TypeName )? + var alt160=2; + var LA160_0 = this.input.LA(1); + + if ( (LA160_0==COMMA) ) { + alt160=1; + } + switch (alt160) { + case 1 : + // XQueryParser.g:1082:55: COMMA p_TypeName + COMMA495=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_AttributeTest9170); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA495_tree = this.adaptor.create(COMMA495); + this.adaptor.addChild(root_0, COMMA495_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_TypeName_in_p_AttributeTest9172); + p_TypeName496=this.p_TypeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeName496.getTree()); + + + break; + + } + + + + break; + + } + + RPAREN497=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_AttributeTest9178); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN497_tree = this.adaptor.create(RPAREN497); + this.adaptor.addChild(root_0, RPAREN497_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttribNameOrWildcard_return: (function() { + XQueryParser.p_AttribNameOrWildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttribNameOrWildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1086:1: p_AttribNameOrWildcard : ( p_QName | STAR ); + // $ANTLR start "p_AttribNameOrWildcard" + p_AttribNameOrWildcard: function() { + var retval = new XQueryParser.p_AttribNameOrWildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR499 = null; + var p_QName498 = null; + + var STAR499_tree=null; + + try { + // XQueryParser.g:1087:9: ( p_QName | STAR ) + var alt162=2; + var LA162_0 = this.input.LA(1); + + if ( ((LA162_0>=ANCESTOR && LA162_0<=EXIT)||(LA162_0>=SEQUENTIAL && LA162_0<=MAINTAINED)||(LA162_0>=MUTABLE && LA162_0<=QUOT_ER)||LA162_0==L_NCName||LA162_0==EXPLICITLY) ) { + alt162=1; + } + else if ( (LA162_0==STAR) ) { + alt162=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 162, 0, this.input); + + throw nvae; + } + switch (alt162) { + case 1 : + // XQueryParser.g:1087:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AttribNameOrWildcard9208); + p_QName498=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName498.getTree()); + + + break; + case 2 : + // XQueryParser.g:1087:23: STAR + root_0 = this.adaptor.nil(); + + STAR499=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_AttribNameOrWildcard9212); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR499_tree = this.adaptor.create(STAR499); + this.adaptor.addChild(root_0, STAR499_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaAttributeTest_return: (function() { + XQueryParser.p_SchemaAttributeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaAttributeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1091:1: p_SchemaAttributeTest : SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN ; + // $ANTLR start "p_SchemaAttributeTest" + p_SchemaAttributeTest: function() { + var retval = new XQueryParser.p_SchemaAttributeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SCHEMA_ATTRIBUTE500 = null; + var LPAREN501 = null; + var RPAREN503 = null; + var p_AttributeDeclaration502 = null; + + var SCHEMA_ATTRIBUTE500_tree=null; + var LPAREN501_tree=null; + var RPAREN503_tree=null; + + try { + // XQueryParser.g:1092:9: ( SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN ) + // XQueryParser.g:1092:13: SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN + root_0 = this.adaptor.nil(); + + SCHEMA_ATTRIBUTE500=this.match(this.input,SCHEMA_ATTRIBUTE,XQueryParser.FOLLOW_SCHEMA_ATTRIBUTE_in_p_SchemaAttributeTest9240); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SCHEMA_ATTRIBUTE500_tree = this.adaptor.create(SCHEMA_ATTRIBUTE500); + this.adaptor.addChild(root_0, SCHEMA_ATTRIBUTE500_tree); + } + LPAREN501=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SchemaAttributeTest9242); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN501_tree = this.adaptor.create(LPAREN501); + this.adaptor.addChild(root_0, LPAREN501_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AttributeDeclaration_in_p_SchemaAttributeTest9244); + p_AttributeDeclaration502=this.p_AttributeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeDeclaration502.getTree()); + RPAREN503=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SchemaAttributeTest9246); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN503_tree = this.adaptor.create(RPAREN503); + this.adaptor.addChild(root_0, RPAREN503_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeDeclaration_return: (function() { + XQueryParser.p_AttributeDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1096:1: p_AttributeDeclaration : p_AttributeName ; + // $ANTLR start "p_AttributeDeclaration" + p_AttributeDeclaration: function() { + var retval = new XQueryParser.p_AttributeDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_AttributeName504 = null; + + + try { + // XQueryParser.g:1097:9: ( p_AttributeName ) + // XQueryParser.g:1097:11: p_AttributeName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AttributeName_in_p_AttributeDeclaration9272); + p_AttributeName504=this.p_AttributeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeName504.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementTest_return: (function() { + XQueryParser.p_ElementTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1101:1: p_ElementTest : ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN ; + // $ANTLR start "p_ElementTest" + p_ElementTest: function() { + var retval = new XQueryParser.p_ElementTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ELEMENT505 = null; + var LPAREN506 = null; + var COMMA508 = null; + var QUESTION510 = null; + var RPAREN511 = null; + var p_ElementNameOrWildcard507 = null; + var p_TypeName509 = null; + + var ELEMENT505_tree=null; + var LPAREN506_tree=null; + var COMMA508_tree=null; + var QUESTION510_tree=null; + var RPAREN511_tree=null; + + try { + // XQueryParser.g:1102:9: ( ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN ) + // XQueryParser.g:1102:13: ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN + root_0 = this.adaptor.nil(); + + ELEMENT505=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_ElementTest9300); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ELEMENT505_tree = this.adaptor.create(ELEMENT505); + this.adaptor.addChild(root_0, ELEMENT505_tree); + } + LPAREN506=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ElementTest9302); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN506_tree = this.adaptor.create(LPAREN506); + this.adaptor.addChild(root_0, LPAREN506_tree); + } + // XQueryParser.g:1102:28: ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? + var alt165=2; + var LA165_0 = this.input.LA(1); + + if ( ((LA165_0>=ANCESTOR && LA165_0<=EXIT)||(LA165_0>=SEQUENTIAL && LA165_0<=MAINTAINED)||(LA165_0>=MUTABLE && LA165_0<=QUOT_ER)||LA165_0==STAR||LA165_0==L_NCName||LA165_0==EXPLICITLY) ) { + alt165=1; + } + switch (alt165) { + case 1 : + // XQueryParser.g:1102:29: p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? + this.pushFollow(XQueryParser.FOLLOW_p_ElementNameOrWildcard_in_p_ElementTest9305); + p_ElementNameOrWildcard507=this.p_ElementNameOrWildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementNameOrWildcard507.getTree()); + // XQueryParser.g:1102:53: ( COMMA p_TypeName ( QUESTION )? )? + var alt164=2; + var LA164_0 = this.input.LA(1); + + if ( (LA164_0==COMMA) ) { + alt164=1; + } + switch (alt164) { + case 1 : + // XQueryParser.g:1102:54: COMMA p_TypeName ( QUESTION )? + COMMA508=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ElementTest9308); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA508_tree = this.adaptor.create(COMMA508); + this.adaptor.addChild(root_0, COMMA508_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_TypeName_in_p_ElementTest9310); + p_TypeName509=this.p_TypeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeName509.getTree()); + // XQueryParser.g:1102:71: ( QUESTION )? + var alt163=2; + var LA163_0 = this.input.LA(1); + + if ( (LA163_0==QUESTION) ) { + alt163=1; + } + switch (alt163) { + case 1 : + // XQueryParser.g:1102:71: QUESTION + QUESTION510=this.match(this.input,QUESTION,XQueryParser.FOLLOW_QUESTION_in_p_ElementTest9312); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + QUESTION510_tree = this.adaptor.create(QUESTION510); + this.adaptor.addChild(root_0, QUESTION510_tree); + } + + + break; + + } + + + + break; + + } + + + + break; + + } + + RPAREN511=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ElementTest9319); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN511_tree = this.adaptor.create(RPAREN511); + this.adaptor.addChild(root_0, RPAREN511_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementNameOrWildcard_return: (function() { + XQueryParser.p_ElementNameOrWildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementNameOrWildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1106:1: p_ElementNameOrWildcard : ( p_QName | STAR ); + // $ANTLR start "p_ElementNameOrWildcard" + p_ElementNameOrWildcard: function() { + var retval = new XQueryParser.p_ElementNameOrWildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR513 = null; + var p_QName512 = null; + + var STAR513_tree=null; + + try { + // XQueryParser.g:1107:9: ( p_QName | STAR ) + var alt166=2; + var LA166_0 = this.input.LA(1); + + if ( ((LA166_0>=ANCESTOR && LA166_0<=EXIT)||(LA166_0>=SEQUENTIAL && LA166_0<=MAINTAINED)||(LA166_0>=MUTABLE && LA166_0<=QUOT_ER)||LA166_0==L_NCName||LA166_0==EXPLICITLY) ) { + alt166=1; + } + else if ( (LA166_0==STAR) ) { + alt166=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 166, 0, this.input); + + throw nvae; + } + switch (alt166) { + case 1 : + // XQueryParser.g:1107:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ElementNameOrWildcard9347); + p_QName512=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName512.getTree()); + + + break; + case 2 : + // XQueryParser.g:1107:23: STAR + root_0 = this.adaptor.nil(); + + STAR513=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_ElementNameOrWildcard9351); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR513_tree = this.adaptor.create(STAR513); + this.adaptor.addChild(root_0, STAR513_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaElementTest_return: (function() { + XQueryParser.p_SchemaElementTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaElementTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1110:1: p_SchemaElementTest : SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN ; + // $ANTLR start "p_SchemaElementTest" + p_SchemaElementTest: function() { + var retval = new XQueryParser.p_SchemaElementTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SCHEMA_ELEMENT514 = null; + var LPAREN515 = null; + var RPAREN517 = null; + var p_ElementDeclaration516 = null; + + var SCHEMA_ELEMENT514_tree=null; + var LPAREN515_tree=null; + var RPAREN517_tree=null; + + try { + // XQueryParser.g:1111:9: ( SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN ) + // XQueryParser.g:1111:13: SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN + root_0 = this.adaptor.nil(); + + SCHEMA_ELEMENT514=this.match(this.input,SCHEMA_ELEMENT,XQueryParser.FOLLOW_SCHEMA_ELEMENT_in_p_SchemaElementTest9371); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SCHEMA_ELEMENT514_tree = this.adaptor.create(SCHEMA_ELEMENT514); + this.adaptor.addChild(root_0, SCHEMA_ELEMENT514_tree); + } + LPAREN515=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SchemaElementTest9373); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN515_tree = this.adaptor.create(LPAREN515); + this.adaptor.addChild(root_0, LPAREN515_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ElementDeclaration_in_p_SchemaElementTest9375); + p_ElementDeclaration516=this.p_ElementDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementDeclaration516.getTree()); + RPAREN517=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SchemaElementTest9377); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN517_tree = this.adaptor.create(RPAREN517); + this.adaptor.addChild(root_0, RPAREN517_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementDeclaration_return: (function() { + XQueryParser.p_ElementDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1115:1: p_ElementDeclaration : p_ElementName ; + // $ANTLR start "p_ElementDeclaration" + p_ElementDeclaration: function() { + var retval = new XQueryParser.p_ElementDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ElementName518 = null; + + + try { + // XQueryParser.g:1116:9: ( p_ElementName ) + // XQueryParser.g:1116:11: p_ElementName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElementName_in_p_ElementDeclaration9403); + p_ElementName518=this.p_ElementName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementName518.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeName_return: (function() { + XQueryParser.p_AttributeName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1120:1: p_AttributeName : p_QName ; + // $ANTLR start "p_AttributeName" + p_AttributeName: function() { + var retval = new XQueryParser.p_AttributeName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName519 = null; + + + try { + // XQueryParser.g:1121:9: ( p_QName ) + // XQueryParser.g:1121:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AttributeName9431); + p_QName519=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName519.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementName_return: (function() { + XQueryParser.p_ElementName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1125:1: p_ElementName : p_QName ; + // $ANTLR start "p_ElementName" + p_ElementName: function() { + var retval = new XQueryParser.p_ElementName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName520 = null; + + + try { + // XQueryParser.g:1126:9: ( p_QName ) + // XQueryParser.g:1126:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ElementName9459); + p_QName520=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName520.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeName_return: (function() { + XQueryParser.p_TypeName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1130:1: p_TypeName : p_QName ; + // $ANTLR start "p_TypeName" + p_TypeName: function() { + var retval = new XQueryParser.p_TypeName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName521 = null; + + + try { + // XQueryParser.g:1131:9: ( p_QName ) + // XQueryParser.g:1131:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_TypeName9487); + p_QName521=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName521.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TryCatchExpr_return: (function() { + XQueryParser.p_TryCatchExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TryCatchExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1141:1: p_TryCatchExpr : p_TryClause ( p_CatchClause )+ ; + // $ANTLR start "p_TryCatchExpr" + p_TryCatchExpr: function() { + var retval = new XQueryParser.p_TryCatchExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_TryClause522 = null; + var p_CatchClause523 = null; + + + try { + // XQueryParser.g:1142:9: ( p_TryClause ( p_CatchClause )+ ) + // XQueryParser.g:1142:11: p_TryClause ( p_CatchClause )+ + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TryClause_in_p_TryCatchExpr9519); + p_TryClause522=this.p_TryClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TryClause522.getTree()); + // XQueryParser.g:1142:23: ( p_CatchClause )+ + var cnt167=0; + loop167: + do { + var alt167=2; + var LA167_0 = this.input.LA(1); + + if ( (LA167_0==CATCH) ) { + alt167=1; + } + + + switch (alt167) { + case 1 : + // XQueryParser.g:1142:23: p_CatchClause + this.pushFollow(XQueryParser.FOLLOW_p_CatchClause_in_p_TryCatchExpr9521); + p_CatchClause523=this.p_CatchClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchClause523.getTree()); + + + break; + + default : + if ( cnt167 >= 1 ) { + break loop167; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(167, this.input); + throw eee; + } + cnt167++; + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TryClause_return: (function() { + XQueryParser.p_TryClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TryClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1146:1: p_TryClause : kc= TRY LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_TryClause" + p_TryClause: function() { + var retval = new XQueryParser.p_TryClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var LBRACKET524 = null; + var RBRACKET526 = null; + var pm_Expr525 = null; + + var kc_tree=null; + var LBRACKET524_tree=null; + var RBRACKET526_tree=null; + + try { + // XQueryParser.g:1147:9: (kc= TRY LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:1147:11: kc= TRY LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,TRY,XQueryParser.FOLLOW_TRY_in_p_TryClause9550); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + LBRACKET524=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_TryClause9552); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET524_tree = this.adaptor.create(LBRACKET524); + this.adaptor.addChild(root_0, LBRACKET524_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_TryClause9554); + pm_Expr525=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr525.getTree()); + RBRACKET526=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_TryClause9556); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET526_tree = this.adaptor.create(RBRACKET526); + this.adaptor.addChild(root_0, RBRACKET526_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchClause_return: (function() { + XQueryParser.p_CatchClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1154:1: p_CatchClause : kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CatchClause" + p_CatchClause: function() { + var retval = new XQueryParser.p_CatchClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var LBRACKET529 = null; + var RBRACKET531 = null; + var p_CatchErrorList527 = null; + var p_CatchVars528 = null; + var pm_Expr530 = null; + + var kc_tree=null; + var LBRACKET529_tree=null; + var RBRACKET531_tree=null; + + try { + // XQueryParser.g:1155:9: (kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:1155:11: kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,CATCH,XQueryParser.FOLLOW_CATCH_in_p_CatchClause9587); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_CatchErrorList_in_p_CatchClause9589); + p_CatchErrorList527=this.p_CatchErrorList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchErrorList527.getTree()); + // XQueryParser.g:1155:37: ( p_CatchVars )? + var alt168=2; + var LA168_0 = this.input.LA(1); + + if ( (LA168_0==LPAREN) ) { + alt168=1; + } + switch (alt168) { + case 1 : + // XQueryParser.g:1155:37: p_CatchVars + this.pushFollow(XQueryParser.FOLLOW_p_CatchVars_in_p_CatchClause9591); + p_CatchVars528=this.p_CatchVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchVars528.getTree()); + + + break; + + } + + LBRACKET529=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CatchClause9594); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET529_tree = this.adaptor.create(LBRACKET529); + this.adaptor.addChild(root_0, LBRACKET529_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CatchClause9596); + pm_Expr530=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr530.getTree()); + RBRACKET531=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CatchClause9598); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET531_tree = this.adaptor.create(RBRACKET531); + this.adaptor.addChild(root_0, RBRACKET531_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchErrorList_return: (function() { + XQueryParser.p_CatchErrorList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchErrorList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1159:1: p_CatchErrorList : ( p_NameTest ( VBAR p_NameTest )* | {...}? => () ); + // $ANTLR start "p_CatchErrorList" + p_CatchErrorList: function() { + var retval = new XQueryParser.p_CatchErrorList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var VBAR533 = null; + var p_NameTest532 = null; + var p_NameTest534 = null; + + var VBAR533_tree=null; + + try { + // XQueryParser.g:1160:9: ( p_NameTest ( VBAR p_NameTest )* | {...}? => () ) + var alt170=2; + var LA170_0 = this.input.LA(1); + + if ( ((LA170_0>=ANCESTOR && LA170_0<=EXIT)||(LA170_0>=SEQUENTIAL && LA170_0<=MAINTAINED)||(LA170_0>=MUTABLE && LA170_0<=QUOT_ER)||LA170_0==STAR||LA170_0==L_NCName||LA170_0==EXPLICITLY) ) { + alt170=1; + } + else if ( (LA170_0==LPAREN||LA170_0==LBRACKET) && ((false))) { + alt170=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 170, 0, this.input); + + throw nvae; + } + switch (alt170) { + case 1 : + // XQueryParser.g:1160:11: p_NameTest ( VBAR p_NameTest )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_CatchErrorList9624); + p_NameTest532=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest532.getTree()); + // XQueryParser.g:1160:22: ( VBAR p_NameTest )* + loop169: + do { + var alt169=2; + var LA169_0 = this.input.LA(1); + + if ( (LA169_0==VBAR) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // XQueryParser.g:1160:23: VBAR p_NameTest + VBAR533=this.match(this.input,VBAR,XQueryParser.FOLLOW_VBAR_in_p_CatchErrorList9627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + VBAR533_tree = this.adaptor.create(VBAR533); + this.adaptor.addChild(root_0, VBAR533_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_CatchErrorList9629); + p_NameTest534=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest534.getTree()); + + + break; + + default : + break loop169; + } + } while (true); + + + + break; + case 2 : + // XQueryParser.g:1161:11: {...}? => () + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_CatchErrorList", "false"); + } + // XQueryParser.g:1161:22: () + // XQueryParser.g:1161:36: + + + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchVars_return: (function() { + XQueryParser.p_CatchVars_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchVars_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1165:2: p_CatchVars : LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN ; + // $ANTLR start "p_CatchVars" + p_CatchVars: function() { + var retval = new XQueryParser.p_CatchVars_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN535 = null; + var DOLLAR536 = null; + var COMMA538 = null; + var DOLLAR539 = null; + var COMMA541 = null; + var DOLLAR542 = null; + var RPAREN544 = null; + var p_VarName537 = null; + var p_VarName540 = null; + var p_VarName543 = null; + + var LPAREN535_tree=null; + var DOLLAR536_tree=null; + var COMMA538_tree=null; + var DOLLAR539_tree=null; + var COMMA541_tree=null; + var DOLLAR542_tree=null; + var RPAREN544_tree=null; + + try { + // XQueryParser.g:1166:9: ( LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN ) + // XQueryParser.g:1166:11: LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN + root_0 = this.adaptor.nil(); + + LPAREN535=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_CatchVars9675); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN535_tree = this.adaptor.create(LPAREN535); + this.adaptor.addChild(root_0, LPAREN535_tree); + } + DOLLAR536=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9677); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR536_tree = this.adaptor.create(DOLLAR536); + this.adaptor.addChild(root_0, DOLLAR536_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9679); + p_VarName537=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName537.getTree()); + // XQueryParser.g:1166:35: ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? + var alt172=2; + var LA172_0 = this.input.LA(1); + + if ( (LA172_0==COMMA) ) { + alt172=1; + } + switch (alt172) { + case 1 : + // XQueryParser.g:1166:36: COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? + COMMA538=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_CatchVars9682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA538_tree = this.adaptor.create(COMMA538); + this.adaptor.addChild(root_0, COMMA538_tree); + } + DOLLAR539=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9684); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR539_tree = this.adaptor.create(DOLLAR539); + this.adaptor.addChild(root_0, DOLLAR539_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9686); + p_VarName540=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName540.getTree()); + // XQueryParser.g:1166:59: ( COMMA DOLLAR p_VarName )? + var alt171=2; + var LA171_0 = this.input.LA(1); + + if ( (LA171_0==COMMA) ) { + alt171=1; + } + switch (alt171) { + case 1 : + // XQueryParser.g:1166:60: COMMA DOLLAR p_VarName + COMMA541=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_CatchVars9689); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA541_tree = this.adaptor.create(COMMA541); + this.adaptor.addChild(root_0, COMMA541_tree); + } + DOLLAR542=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9691); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR542_tree = this.adaptor.create(DOLLAR542); + this.adaptor.addChild(root_0, DOLLAR542_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9693); + p_VarName543=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName543.getTree()); + + + break; + + } + + + + break; + + } + + RPAREN544=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_CatchVars9699); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN544_tree = this.adaptor.create(RPAREN544); + this.adaptor.addChild(root_0, RPAREN544_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_StringLiteral_return: (function() { + XQueryParser.p_StringLiteral_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_StringLiteral_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1192:1: p_StringLiteral : ( QUOT p_QuotStringLiteralContent QUOT -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) | APOS p_AposStringLiteralContent APOS -> ^( StringLiteral ( p_AposStringLiteralContent )* ) ); + // $ANTLR start "p_StringLiteral" + p_StringLiteral: function() { + var retval = new XQueryParser.p_StringLiteral_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUOT545 = null; + var QUOT547 = null; + var APOS548 = null; + var APOS550 = null; + var p_QuotStringLiteralContent546 = null; + var p_AposStringLiteralContent549 = null; + + var QUOT545_tree=null; + var QUOT547_tree=null; + var APOS548_tree=null; + var APOS550_tree=null; + var stream_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token APOS"); + var stream_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token QUOT"); + var stream_p_AposStringLiteralContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_AposStringLiteralContent"); + var stream_p_QuotStringLiteralContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QuotStringLiteralContent"); + try { + // XQueryParser.g:1193:9: ( QUOT p_QuotStringLiteralContent QUOT -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) | APOS p_AposStringLiteralContent APOS -> ^( StringLiteral ( p_AposStringLiteralContent )* ) ) + var alt173=2; + var LA173_0 = this.input.LA(1); + + if ( (LA173_0==QUOT) ) { + alt173=1; + } + else if ( (LA173_0==APOS) ) { + alt173=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 173, 0, this.input); + + throw nvae; + } + switch (alt173) { + case 1 : + // XQueryParser.g:1193:11: QUOT p_QuotStringLiteralContent QUOT + QUOT545=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_StringLiteral9748); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT545); + + if ( this.state.backtracking===0 ) { + //pushStringLexer(false); + } + this.pushFollow(XQueryParser.FOLLOW_p_QuotStringLiteralContent_in_p_StringLiteral9752); + p_QuotStringLiteralContent546=this.p_QuotStringLiteralContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QuotStringLiteralContent.add(p_QuotStringLiteralContent546.getTree()); + QUOT547=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_StringLiteral9754); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT547); + + if ( this.state.backtracking===0 ) { + + } + + + // AST REWRITE + // elements: p_QuotStringLiteralContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1194:17: -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) + { + // XQueryParser.g:1194:20: ^( StringLiteral ( p_QuotStringLiteralContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(StringLiteral, "StringLiteral"), root_1); + + // XQueryParser.g:1194:36: ( p_QuotStringLiteralContent )* + while ( stream_p_QuotStringLiteralContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_QuotStringLiteralContent.nextTree()); + + } + stream_p_QuotStringLiteralContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1195:13: APOS p_AposStringLiteralContent APOS + APOS548=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_StringLiteral9795); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS548); + + if ( this.state.backtracking===0 ) { + //pushStringLexer(true); + } + this.pushFollow(XQueryParser.FOLLOW_p_AposStringLiteralContent_in_p_StringLiteral9799); + p_AposStringLiteralContent549=this.p_AposStringLiteralContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_AposStringLiteralContent.add(p_AposStringLiteralContent549.getTree()); + APOS550=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_StringLiteral9801); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS550); + + if ( this.state.backtracking===0 ) { + + } + + + // AST REWRITE + // elements: p_AposStringLiteralContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1196:17: -> ^( StringLiteral ( p_AposStringLiteralContent )* ) + { + // XQueryParser.g:1196:20: ^( StringLiteral ( p_AposStringLiteralContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(StringLiteral, "StringLiteral"), root_1); + + // XQueryParser.g:1196:36: ( p_AposStringLiteralContent )* + while ( stream_p_AposStringLiteralContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_AposStringLiteralContent.nextTree()); + + } + stream_p_AposStringLiteralContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QuotStringLiteralContent_return: (function() { + XQueryParser.p_QuotStringLiteralContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QuotStringLiteralContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1203:1: p_QuotStringLiteralContent : ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* ; + // $ANTLR start "p_QuotStringLiteralContent" + p_QuotStringLiteralContent: function() { + var retval = new XQueryParser.p_QuotStringLiteralContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set551 = null; + + var set551_tree=null; + + try { + // XQueryParser.g:1204:9: ( ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* ) + // XQueryParser.g:1204:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1204:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* + loop174: + do { + var alt174=2; + var LA174_0 = this.input.LA(1); + + if ( ((LA174_0>=L_QuotAttrContentChar && LA174_0<=NOTEQUAL)||(LA174_0>=COMMA && LA174_0<=APOS)||(LA174_0>=NCNameStartChar && LA174_0<=EXPLICITLY)) ) { + alt174=1; + } + + + switch (alt174) { + case 1 : + // XQueryParser.g: + set551=this.input.LT(1); + if ( (this.input.LA(1)>=L_QuotAttrContentChar && this.input.LA(1)<=NOTEQUAL)||(this.input.LA(1)>=COMMA && this.input.LA(1)<=APOS)||(this.input.LA(1)>=NCNameStartChar && this.input.LA(1)<=EXPLICITLY) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set551)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + break; + + default : + break loop174; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AposStringLiteralContent_return: (function() { + XQueryParser.p_AposStringLiteralContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AposStringLiteralContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1212:1: p_AposStringLiteralContent : ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* ; + // $ANTLR start "p_AposStringLiteralContent" + p_AposStringLiteralContent: function() { + var retval = new XQueryParser.p_AposStringLiteralContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set552 = null; + + var set552_tree=null; + + try { + // XQueryParser.g:1213:9: ( ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* ) + // XQueryParser.g:1213:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1213:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* + loop175: + do { + var alt175=2; + var LA175_0 = this.input.LA(1); + + if ( ((LA175_0>=L_QuotAttrContentChar && LA175_0<=NOTEQUAL)||(LA175_0>=COMMA && LA175_0<=CHARREF_HEX)||(LA175_0>=QUOT && LA175_0<=EXPLICITLY)) ) { + alt175=1; + } + + + switch (alt175) { + case 1 : + // XQueryParser.g: + set552=this.input.LT(1); + if ( (this.input.LA(1)>=L_QuotAttrContentChar && this.input.LA(1)<=NOTEQUAL)||(this.input.LA(1)>=COMMA && this.input.LA(1)<=CHARREF_HEX)||(this.input.LA(1)>=QUOT && this.input.LA(1)<=EXPLICITLY) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set552)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + break; + + default : + break loop175; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QName_return: (function() { + XQueryParser.p_QName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1246:1: p_QName : p_NCName p_LocalNCName -> ^( QName p_NCName ( p_LocalNCName )? ) ; + // $ANTLR start "p_QName" + p_QName: function() { + var retval = new XQueryParser.p_QName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_NCName553 = null; + var p_LocalNCName554 = null; + + var stream_p_LocalNCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_LocalNCName"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + try { + // XQueryParser.g:1247:9: ( p_NCName p_LocalNCName -> ^( QName p_NCName ( p_LocalNCName )? ) ) + // XQueryParser.g:1247:11: p_NCName p_LocalNCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_QName9994); + p_NCName553=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(p_NCName553.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_LocalNCName_in_p_QName9996); + p_LocalNCName554=this.p_LocalNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_LocalNCName.add(p_LocalNCName554.getTree()); + + + // AST REWRITE + // elements: p_NCName, p_LocalNCName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1248:17: -> ^( QName p_NCName ( p_LocalNCName )? ) + { + // XQueryParser.g:1248:20: ^( QName p_NCName ( p_LocalNCName )? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(QName, "QName"), root_1); + + this.adaptor.addChild(root_1, stream_p_NCName.nextTree()); + // XQueryParser.g:1248:37: ( p_LocalNCName )? + if ( stream_p_LocalNCName.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_LocalNCName.nextTree()); + + } + stream_p_LocalNCName.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LocalNCName_return: (function() { + XQueryParser.p_LocalNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LocalNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1253:1: p_LocalNCName : ( COLON p_NCName )? ; + // $ANTLR start "p_LocalNCName" + p_LocalNCName: function() { + var retval = new XQueryParser.p_LocalNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COLON555 = null; + var p_NCName556 = null; + + var COLON555_tree=null; + + try { + // XQueryParser.g:1254:9: ( ( COLON p_NCName )? ) + // XQueryParser.g:1254:11: ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1254:11: ( COLON p_NCName )? + var alt176=2; + var LA176_0 = this.input.LA(1); + + if ( (LA176_0==COLON) ) { + alt176=1; + } + switch (alt176) { + case 1 : + // XQueryParser.g:1254:12: COLON p_NCName + COLON555=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_LocalNCName10051); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON555_tree = this.adaptor.create(COLON555); + this.adaptor.addChild(root_0, COLON555_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_LocalNCName10053); + p_NCName556=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName556.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FQName_return: (function() { + XQueryParser.p_FQName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FQName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1260:1: p_FQName : p_FNCName p_LocalFNCName ; + // $ANTLR start "p_FQName" + p_FQName: function() { + var retval = new XQueryParser.p_FQName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_FNCName557 = null; + var p_LocalFNCName558 = null; + + + try { + // XQueryParser.g:1261:9: ( p_FNCName p_LocalFNCName ) + // XQueryParser.g:1261:11: p_FNCName p_LocalFNCName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FNCName_in_p_FQName10083); + p_FNCName557=this.p_FNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FNCName557.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_LocalFNCName_in_p_FQName10085); + p_LocalFNCName558=this.p_LocalFNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_LocalFNCName558.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LocalFNCName_return: (function() { + XQueryParser.p_LocalFNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LocalFNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1266:1: p_LocalFNCName : ( COLON p_NCName )? ; + // $ANTLR start "p_LocalFNCName" + p_LocalFNCName: function() { + var retval = new XQueryParser.p_LocalFNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COLON559 = null; + var p_NCName560 = null; + + var COLON559_tree=null; + + try { + // XQueryParser.g:1267:9: ( ( COLON p_NCName )? ) + // XQueryParser.g:1267:11: ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1267:11: ( COLON p_NCName )? + var alt177=2; + var LA177_0 = this.input.LA(1); + + if ( (LA177_0==COLON) ) { + alt177=1; + } + switch (alt177) { + case 1 : + // XQueryParser.g:1267:12: COLON p_NCName + COLON559=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_LocalFNCName10113); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON559_tree = this.adaptor.create(COLON559); + this.adaptor.addChild(root_0, COLON559_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_LocalFNCName10115); + p_NCName560=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName560.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NCName_return: (function() { + XQueryParser.p_NCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1273:1: p_NCName : ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ); + // $ANTLR start "p_NCName" + p_NCName: function() { + var retval = new XQueryParser.p_NCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set561 = null; + + var set561_tree=null; + + try { + // XQueryParser.g:1274:9: ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set561=this.input.LT(1); + if ( (this.input.LA(1)>=ANCESTOR && this.input.LA(1)<=EXIT)||(this.input.LA(1)>=SEQUENTIAL && this.input.LA(1)<=MAINTAINED)||(this.input.LA(1)>=MUTABLE && this.input.LA(1)<=QUOT_ER)||this.input.LA(1)==L_NCName||this.input.LA(1)==EXPLICITLY ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set561)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FNCName_return: (function() { + XQueryParser.p_FNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1292:1: p_FNCName : ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | ELSE | EMPTY | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | RETURN | SATISFIES | SCHEMA | SELF | SOME | STABLE | STRICT | STRIP | THEN | TO | TREAT | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ); + // $ANTLR start "p_FNCName" + p_FNCName: function() { + var retval = new XQueryParser.p_FNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set562 = null; + + var set562_tree=null; + + try { + // XQueryParser.g:1293:9: ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | ELSE | EMPTY | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | RETURN | SATISFIES | SCHEMA | SELF | SOME | STABLE | STRICT | STRIP | THEN | TO | TREAT | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set562=this.input.LT(1); + if ( (this.input.LA(1)>=ANCESTOR && this.input.LA(1)<=AT)||(this.input.LA(1)>=BASE_URI && this.input.LA(1)<=COLLATION)||(this.input.LA(1)>=CONSTRUCTION && this.input.LA(1)<=DOCUMENT)||(this.input.LA(1)>=ELSE && this.input.LA(1)<=EMPTY)||(this.input.LA(1)>=ENCODING && this.input.LA(1)<=IDIV)||(this.input.LA(1)>=IMPORT && this.input.LA(1)<=IS)||(this.input.LA(1)>=LAX && this.input.LA(1)<=NO_PRESERVE)||(this.input.LA(1)>=OF && this.input.LA(1)<=PRESERVE)||(this.input.LA(1)>=RETURN && this.input.LA(1)<=SCHEMA)||(this.input.LA(1)>=SELF && this.input.LA(1)<=STRIP)||(this.input.LA(1)>=THEN && this.input.LA(1)<=TREAT)||(this.input.LA(1)>=UNION && this.input.LA(1)<=MINUS_SIGN)||(this.input.LA(1)>=NAN && this.input.LA(1)<=EXIT)||(this.input.LA(1)>=SEQUENTIAL && this.input.LA(1)<=SIMPLE)||(this.input.LA(1)>=EVAL && this.input.LA(1)<=MAINTAINED)||(this.input.LA(1)>=MUTABLE && this.input.LA(1)<=QUOT_ER)||this.input.LA(1)==L_NCName||this.input.LA(1)==EXPLICITLY ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set562)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_RevalidationDecl_return: (function() { + XQueryParser.pm_RevalidationDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_RevalidationDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1326:1: pm_RevalidationDecl : k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) ; + // $ANTLR start "pm_RevalidationDecl" + pm_RevalidationDecl: function() { + var retval = new XQueryParser.pm_RevalidationDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1327:9: (k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) ) + // XQueryParser.g:1327:11: k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_RevalidationDecl11839); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,REVALIDATION,XQueryParser.FOLLOW_REVALIDATION_in_pm_RevalidationDecl11843); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1327:38: (k+= STRICT | k+= LAX | k+= SKIP ) + var alt178=3; + switch ( this.input.LA(1) ) { + case STRICT: + alt178=1; + break; + case LAX: + alt178=2; + break; + case SKIP: + alt178=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 178, 0, this.input); + + throw nvae; + } + + switch (alt178) { + case 1 : + // XQueryParser.g:1327:39: k+= STRICT + k=this.match(this.input,STRICT,XQueryParser.FOLLOW_STRICT_in_pm_RevalidationDecl11848); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1327:51: k+= LAX + k=this.match(this.input,LAX,XQueryParser.FOLLOW_LAX_in_pm_RevalidationDecl11854); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1327:60: k+= SKIP + k=this.match(this.input,SKIP,XQueryParser.FOLLOW_SKIP_in_pm_RevalidationDecl11860); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InsertExprTargetChoice_return: (function() { + XQueryParser.p_InsertExprTargetChoice_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InsertExprTargetChoice_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1331:1: p_InsertExprTargetChoice : ( ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) | ka= AFTER | kb= BEFORE ); + // $ANTLR start "p_InsertExprTargetChoice" + p_InsertExprTargetChoice: function() { + var retval = new XQueryParser.p_InsertExprTargetChoice_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var kb = null; + var k = null; + var list_k=null; + + var ka_tree=null; + var kb_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1332:9: ( ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) | ka= AFTER | kb= BEFORE ) + var alt181=3; + switch ( this.input.LA(1) ) { + case AS: + case INTO: + alt181=1; + break; + case AFTER: + alt181=2; + break; + case BEFORE: + alt181=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 181, 0, this.input); + + throw nvae; + } + + switch (alt181) { + case 1 : + // XQueryParser.g:1332:11: ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1332:11: ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) + // XQueryParser.g:1332:12: (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO + // XQueryParser.g:1332:12: (k+= AS (k+= FIRST | k+= LAST ) )? + var alt180=2; + var LA180_0 = this.input.LA(1); + + if ( (LA180_0==AS) ) { + alt180=1; + } + switch (alt180) { + case 1 : + // XQueryParser.g:1332:13: k+= AS (k+= FIRST | k+= LAST ) + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_InsertExprTargetChoice11892); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1332:19: (k+= FIRST | k+= LAST ) + var alt179=2; + var LA179_0 = this.input.LA(1); + + if ( (LA179_0==FIRST) ) { + alt179=1; + } + else if ( (LA179_0==LAST) ) { + alt179=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 179, 0, this.input); + + throw nvae; + } + switch (alt179) { + case 1 : + // XQueryParser.g:1332:20: k+= FIRST + k=this.match(this.input,FIRST,XQueryParser.FOLLOW_FIRST_in_p_InsertExprTargetChoice11897); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1332:31: k+= LAST + k=this.match(this.input,LAST,XQueryParser.FOLLOW_LAST_in_p_InsertExprTargetChoice11903); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + break; + + } + + k=this.match(this.input,INTO,XQueryParser.FOLLOW_INTO_in_p_InsertExprTargetChoice11910); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + case 2 : + // XQueryParser.g:1333:11: ka= AFTER + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AFTER,XQueryParser.FOLLOW_AFTER_in_p_InsertExprTargetChoice11926); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + + + break; + case 3 : + // XQueryParser.g:1334:11: kb= BEFORE + root_0 = this.adaptor.nil(); + + kb=this.match(this.input,BEFORE,XQueryParser.FOLLOW_BEFORE_in_p_InsertExprTargetChoice11940); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kb_tree = this.adaptor.create(kb); + this.adaptor.addChild(root_0, kb_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InsertExpr_return: (function() { + XQueryParser.p_InsertExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InsertExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1338:1: p_InsertExpr : k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr ; + // $ANTLR start "p_InsertExpr" + p_InsertExpr: function() { + var retval = new XQueryParser.p_InsertExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_SourceExpr563 = null; + var p_InsertExprTargetChoice564 = null; + var p_TargetExpr565 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1339:9: (k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr ) + // XQueryParser.g:1339:11: k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,INSERT,XQueryParser.FOLLOW_INSERT_in_p_InsertExpr11968); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1339:21: (k+= NODE | k+= NODES ) + var alt182=2; + var LA182_0 = this.input.LA(1); + + if ( (LA182_0==NODE) ) { + alt182=1; + } + else if ( (LA182_0==NODES) ) { + alt182=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 182, 0, this.input); + + throw nvae; + } + switch (alt182) { + case 1 : + // XQueryParser.g:1339:22: k+= NODE + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_InsertExpr11973); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1339:32: k+= NODES + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_InsertExpr11979); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_SourceExpr_in_p_InsertExpr11982); + p_SourceExpr563=this.p_SourceExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SourceExpr563.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_InsertExprTargetChoice_in_p_InsertExpr11984); + p_InsertExprTargetChoice564=this.p_InsertExprTargetChoice(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InsertExprTargetChoice564.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_InsertExpr11986); + p_TargetExpr565=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr565.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DeleteExpr_return: (function() { + XQueryParser.p_DeleteExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DeleteExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1343:1: p_DeleteExpr : k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr ; + // $ANTLR start "p_DeleteExpr" + p_DeleteExpr: function() { + var retval = new XQueryParser.p_DeleteExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_TargetExpr566 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1344:9: (k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr ) + // XQueryParser.g:1344:11: k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DELETE,XQueryParser.FOLLOW_DELETE_in_p_DeleteExpr12015); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1344:21: (k+= NODE | k+= NODES ) + var alt183=2; + var LA183_0 = this.input.LA(1); + + if ( (LA183_0==NODE) ) { + alt183=1; + } + else if ( (LA183_0==NODES) ) { + alt183=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 183, 0, this.input); + + throw nvae; + } + switch (alt183) { + case 1 : + // XQueryParser.g:1344:22: k+= NODE + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_DeleteExpr12020); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1344:32: k+= NODES + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_DeleteExpr12026); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_DeleteExpr12029); + p_TargetExpr566=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr566.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReplaceExpr_return: (function() { + XQueryParser.p_ReplaceExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReplaceExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1348:1: p_ReplaceExpr : k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle ; + // $ANTLR start "p_ReplaceExpr" + p_ReplaceExpr: function() { + var retval = new XQueryParser.p_ReplaceExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_ExprSingle567 = null; + var p_ExprSingle568 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1349:9: (k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle ) + // XQueryParser.g:1349:11: k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,REPLACE,XQueryParser.FOLLOW_REPLACE_in_p_ReplaceExpr12058); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1349:22: (k+= VALUE k+= OF )? + var alt184=2; + var LA184_0 = this.input.LA(1); + + if ( (LA184_0==VALUE) ) { + alt184=1; + } + switch (alt184) { + case 1 : + // XQueryParser.g:1349:23: k+= VALUE k+= OF + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_ReplaceExpr12063); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,OF,XQueryParser.FOLLOW_OF_in_p_ReplaceExpr12067); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ReplaceExpr12073); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReplaceExpr12075); + p_ExprSingle567=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle567.getTree()); + k=this.match(this.input,WITH,XQueryParser.FOLLOW_WITH_in_p_ReplaceExpr12079); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReplaceExpr12081); + p_ExprSingle568=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle568.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RenameExpr_return: (function() { + XQueryParser.p_RenameExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RenameExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1353:1: p_RenameExpr : k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr ; + // $ANTLR start "p_RenameExpr" + p_RenameExpr: function() { + var retval = new XQueryParser.p_RenameExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var AS570 = null; + var k = null; + var list_k=null; + var p_TargetExpr569 = null; + var p_NewNameExpr571 = null; + + var AS570_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1354:9: (k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr ) + // XQueryParser.g:1354:11: k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,RENAME,XQueryParser.FOLLOW_RENAME_in_p_RenameExpr12110); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_RenameExpr12114); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_RenameExpr12116); + p_TargetExpr569=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr569.getTree()); + AS570=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_RenameExpr12118); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + AS570_tree = this.adaptor.create(AS570); + this.adaptor.addChild(root_0, AS570_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NewNameExpr_in_p_RenameExpr12120); + p_NewNameExpr571=this.p_NewNameExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NewNameExpr571.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SourceExpr_return: (function() { + XQueryParser.p_SourceExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SourceExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1358:1: p_SourceExpr : p_ExprSingle ; + // $ANTLR start "p_SourceExpr" + p_SourceExpr: function() { + var retval = new XQueryParser.p_SourceExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle572 = null; + + + try { + // XQueryParser.g:1359:9: ( p_ExprSingle ) + // XQueryParser.g:1359:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_SourceExpr12147); + p_ExprSingle572=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle572.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TargetExpr_return: (function() { + XQueryParser.p_TargetExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TargetExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1363:1: p_TargetExpr : p_ExprSingle ; + // $ANTLR start "p_TargetExpr" + p_TargetExpr: function() { + var retval = new XQueryParser.p_TargetExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle573 = null; + + + try { + // XQueryParser.g:1364:9: ( p_ExprSingle ) + // XQueryParser.g:1364:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TargetExpr12173); + p_ExprSingle573=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle573.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NewNameExpr_return: (function() { + XQueryParser.p_NewNameExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NewNameExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1368:1: p_NewNameExpr : p_ExprSingle ; + // $ANTLR start "p_NewNameExpr" + p_NewNameExpr: function() { + var retval = new XQueryParser.p_NewNameExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle574 = null; + + + try { + // XQueryParser.g:1369:9: ( p_ExprSingle ) + // XQueryParser.g:1369:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_NewNameExpr12199); + p_ExprSingle574=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle574.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TransformExpr_return: (function() { + XQueryParser.p_TransformExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TransformExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1373:1: p_TransformExpr : k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle ; + // $ANTLR start "p_TransformExpr" + p_TransformExpr: function() { + var retval = new XQueryParser.p_TransformExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR575 = null; + var BIND577 = null; + var COMMA579 = null; + var DOLLAR580 = null; + var BIND582 = null; + var k = null; + var list_k=null; + var p_VarName576 = null; + var p_ExprSingle578 = null; + var p_VarName581 = null; + var p_ExprSingle583 = null; + var p_ExprSingle584 = null; + var p_ExprSingle585 = null; + + var DOLLAR575_tree=null; + var BIND577_tree=null; + var COMMA579_tree=null; + var DOLLAR580_tree=null; + var BIND582_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1374:9: (k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle ) + // XQueryParser.g:1374:11: k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COPY,XQueryParser.FOLLOW_COPY_in_p_TransformExpr12227); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR575=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TransformExpr12229); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR575_tree = this.adaptor.create(DOLLAR575); + this.adaptor.addChild(root_0, DOLLAR575_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TransformExpr12231); + p_VarName576=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName576.getTree()); + BIND577=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_TransformExpr12233); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND577_tree = this.adaptor.create(BIND577); + this.adaptor.addChild(root_0, BIND577_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12235); + p_ExprSingle578=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle578.getTree()); + // XQueryParser.g:1374:54: ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* + loop185: + do { + var alt185=2; + var LA185_0 = this.input.LA(1); + + if ( (LA185_0==COMMA) ) { + alt185=1; + } + + + switch (alt185) { + case 1 : + // XQueryParser.g:1374:55: COMMA DOLLAR p_VarName BIND p_ExprSingle + COMMA579=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_TransformExpr12238); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA579_tree = this.adaptor.create(COMMA579); + this.adaptor.addChild(root_0, COMMA579_tree); + } + DOLLAR580=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TransformExpr12240); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR580_tree = this.adaptor.create(DOLLAR580); + this.adaptor.addChild(root_0, DOLLAR580_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TransformExpr12242); + p_VarName581=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName581.getTree()); + BIND582=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_TransformExpr12244); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND582_tree = this.adaptor.create(BIND582); + this.adaptor.addChild(root_0, BIND582_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12246); + p_ExprSingle583=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle583.getTree()); + + + break; + + default : + break loop185; + } + } while (true); + + k=this.match(this.input,MODIFY,XQueryParser.FOLLOW_MODIFY_in_p_TransformExpr12252); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12254); + p_ExprSingle584=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle584.getTree()); + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_TransformExpr12258); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12260); + p_ExprSingle585=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle585.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ApplyExpr_return: (function() { + XQueryParser.pm_ApplyExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ApplyExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1384:1: pm_ApplyExpr : p_ConcatExpr SEMICOLON ; + // $ANTLR start "pm_ApplyExpr" + pm_ApplyExpr: function() { + var retval = new XQueryParser.pm_ApplyExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON587 = null; + var p_ConcatExpr586 = null; + + var SEMICOLON587_tree=null; + + try { + // XQueryParser.g:1385:9: ( p_ConcatExpr SEMICOLON ) + // XQueryParser.g:1385:11: p_ConcatExpr SEMICOLON + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_ApplyExpr12294); + p_ConcatExpr586=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr586.getTree()); + SEMICOLON587=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ApplyExpr12296); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON587_tree = this.adaptor.create(SEMICOLON587); + this.adaptor.addChild(root_0, SEMICOLON587_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ConcatExpr_return: (function() { + XQueryParser.p_ConcatExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ConcatExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1389:1: p_ConcatExpr : p_ExprSingle ( COMMA p_ExprSingle )* ; + // $ANTLR start "p_ConcatExpr" + p_ConcatExpr: function() { + var retval = new XQueryParser.p_ConcatExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA589 = null; + var p_ExprSingle588 = null; + var p_ExprSingle590 = null; + + var COMMA589_tree=null; + + try { + // XQueryParser.g:1390:9: ( p_ExprSingle ( COMMA p_ExprSingle )* ) + // XQueryParser.g:1390:11: p_ExprSingle ( COMMA p_ExprSingle )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ConcatExpr12322); + p_ExprSingle588=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle588.getTree()); + // XQueryParser.g:1390:24: ( COMMA p_ExprSingle )* + loop186: + do { + var alt186=2; + var LA186_0 = this.input.LA(1); + + if ( (LA186_0==COMMA) ) { + alt186=1; + } + + + switch (alt186) { + case 1 : + // XQueryParser.g:1390:25: COMMA p_ExprSingle + COMMA589=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ConcatExpr12325); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA589_tree = this.adaptor.create(COMMA589); + this.adaptor.addChild(root_0, COMMA589_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ConcatExpr12327); + p_ExprSingle590=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle590.getTree()); + + + break; + + default : + break loop186; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_BlockExpr_return: (function() { + XQueryParser.p_BlockExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_BlockExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1394:1: p_BlockExpr : kb= BLOCK p_Block ; + // $ANTLR start "p_BlockExpr" + p_BlockExpr: function() { + var retval = new XQueryParser.p_BlockExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kb = null; + var p_Block591 = null; + + var kb_tree=null; + + try { + // XQueryParser.g:1395:9: (kb= BLOCK p_Block ) + // XQueryParser.g:1395:11: kb= BLOCK p_Block + root_0 = this.adaptor.nil(); + + kb=this.match(this.input,BLOCK,XQueryParser.FOLLOW_BLOCK_in_p_BlockExpr12357); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kb_tree = this.adaptor.create(kb); + this.adaptor.addChild(root_0, kb_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_p_BlockExpr12359); + p_Block591=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Block591.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Block_return: (function() { + XQueryParser.p_Block_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Block_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1399:1: p_Block : LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET -> ^( Block $bd $bb) ; + // $ANTLR start "p_Block" + p_Block: function() { + var retval = new XQueryParser.p_Block_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET592 = null; + var RBRACKET593 = null; + var bd = null; + var bb = null; + + var LBRACKET592_tree=null; + var RBRACKET593_tree=null; + var stream_LBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LBRACKET"); + var stream_RBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RBRACKET"); + var stream_p_BlockBody=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_BlockBody"); + var stream_pm_BlockDecls=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_BlockDecls"); + try { + // XQueryParser.g:1400:9: ( LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET -> ^( Block $bd $bb) ) + // XQueryParser.g:1400:11: LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET + LBRACKET592=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_Block12385); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LBRACKET.add(LBRACKET592); + + this.pushFollow(XQueryParser.FOLLOW_pm_BlockDecls_in_p_Block12389); + bd=this.pm_BlockDecls(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_BlockDecls.add(bd.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_BlockBody_in_p_Block12393); + bb=this.p_BlockBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_BlockBody.add(bb.getTree()); + RBRACKET593=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_Block12395); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RBRACKET.add(RBRACKET593); + + + + // AST REWRITE + // elements: bd, bb + // token labels: + // rule labels: retval, bb, bd + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_bb=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bb",bb!=null?bb.tree:null); + var stream_bd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bd",bd!=null?bd.tree:null); + + root_0 = this.adaptor.nil(); + // 1401:17: -> ^( Block $bd $bb) + { + // XQueryParser.g:1401:20: ^( Block $bd $bb) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Block, "Block"), root_1); + + this.adaptor.addChild(root_1, stream_bd.nextTree()); + this.adaptor.addChild(root_1, stream_bb.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BlockDecls_return: (function() { + XQueryParser.pm_BlockDecls_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BlockDecls_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1405:1: pm_BlockDecls : (bvd+= pm_BlockVarDecl )* -> ^( BlockDecls ( $bvd)* ) ; + // $ANTLR start "pm_BlockDecls" + pm_BlockDecls: function() { + var retval = new XQueryParser.pm_BlockDecls_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var list_bvd=null; + var bvd = null; + var stream_pm_BlockVarDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_BlockVarDecl"); + try { + // XQueryParser.g:1406:9: ( (bvd+= pm_BlockVarDecl )* -> ^( BlockDecls ( $bvd)* ) ) + // XQueryParser.g:1406:11: (bvd+= pm_BlockVarDecl )* + // XQueryParser.g:1406:14: (bvd+= pm_BlockVarDecl )* + loop187: + do { + var alt187=2; + var LA187_0 = this.input.LA(1); + + if ( (LA187_0==DECLARE) ) { + var LA187_2 = this.input.LA(2); + + if ( (LA187_2==DOLLAR) ) { + alt187=1; + } + + + } + + + switch (alt187) { + case 1 : + // XQueryParser.g:1406:14: bvd+= pm_BlockVarDecl + this.pushFollow(XQueryParser.FOLLOW_pm_BlockVarDecl_in_pm_BlockDecls12451); + bvd=this.pm_BlockVarDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_BlockVarDecl.add(bvd.getTree()); + if (org.antlr.lang.isNull(list_bvd)) list_bvd = []; + list_bvd.push(bvd.getTree()); + + + + break; + + default : + break loop187; + } + } while (true); + + + + // AST REWRITE + // elements: bvd + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: bvd + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_bvd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bvd",list_bvd); + root_0 = this.adaptor.nil(); + // 1407:17: -> ^( BlockDecls ( $bvd)* ) + { + // XQueryParser.g:1407:20: ^( BlockDecls ( $bvd)* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BlockDecls, "BlockDecls"), root_1); + + // XQueryParser.g:1407:33: ( $bvd)* + while ( stream_bvd.hasNext() ) { + this.adaptor.addChild(root_1, stream_bvd.nextTree()); + + } + stream_bvd.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BlockVarDecl_return: (function() { + XQueryParser.pm_BlockVarDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BlockVarDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1411:1: pm_BlockVarDecl : kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) ; + // $ANTLR start "pm_BlockVarDecl" + pm_BlockVarDecl: function() { + var retval = new XQueryParser.pm_BlockVarDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kd = null; + var DOLLAR594 = null; + var BIND595 = null; + var COMMA596 = null; + var DOLLAR597 = null; + var BIND600 = null; + var SEMICOLON602 = null; + var qn = null; + var td = null; + var es = null; + var p_VarName598 = null; + var p_TypeDeclaration599 = null; + var p_ExprSingle601 = null; + + var kd_tree=null; + var DOLLAR594_tree=null; + var BIND595_tree=null; + var COMMA596_tree=null; + var DOLLAR597_tree=null; + var BIND600_tree=null; + var SEMICOLON602_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_BIND=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BIND"); + var stream_p_VarName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_VarName"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_ExprSingle=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ExprSingle"); + try { + // XQueryParser.g:1412:9: (kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) ) + // XQueryParser.g:1412:11: kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON + kd=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BlockVarDecl12506); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(kd); + + DOLLAR594=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_BlockVarDecl12508); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR594); + + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_pm_BlockVarDecl12512); + qn=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VarName.add(qn.getTree()); + // XQueryParser.g:1412:44: (td= p_TypeDeclaration )? + var alt188=2; + var LA188_0 = this.input.LA(1); + + if ( (LA188_0==AS) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // XQueryParser.g:1412:44: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12516); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:1412:64: ( BIND es= p_ExprSingle )? + var alt189=2; + var LA189_0 = this.input.LA(1); + + if ( (LA189_0==BIND) ) { + alt189=1; + } + switch (alt189) { + case 1 : + // XQueryParser.g:1412:65: BIND es= p_ExprSingle + BIND595=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_BlockVarDecl12520); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND595); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12524); + es=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(es.getTree()); + + + break; + + } + + // XQueryParser.g:1412:88: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* + loop192: + do { + var alt192=2; + var LA192_0 = this.input.LA(1); + + if ( (LA192_0==COMMA) ) { + alt192=1; + } + + + switch (alt192) { + case 1 : + // XQueryParser.g:1412:89: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? + COMMA596=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_BlockVarDecl12529); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA596); + + DOLLAR597=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_BlockVarDecl12531); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR597); + + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_pm_BlockVarDecl12533); + p_VarName598=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VarName.add(p_VarName598.getTree()); + // XQueryParser.g:1412:112: ( p_TypeDeclaration )? + var alt190=2; + var LA190_0 = this.input.LA(1); + + if ( (LA190_0==AS) ) { + alt190=1; + } + switch (alt190) { + case 1 : + // XQueryParser.g:1412:112: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12535); + p_TypeDeclaration599=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(p_TypeDeclaration599.getTree()); + + + break; + + } + + // XQueryParser.g:1412:131: ( BIND p_ExprSingle )? + var alt191=2; + var LA191_0 = this.input.LA(1); + + if ( (LA191_0==BIND) ) { + alt191=1; + } + switch (alt191) { + case 1 : + // XQueryParser.g:1412:132: BIND p_ExprSingle + BIND600=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_BlockVarDecl12539); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND600); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12541); + p_ExprSingle601=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(p_ExprSingle601.getTree()); + + + break; + + } + + + + break; + + default : + break loop192; + } + } while (true); + + SEMICOLON602=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BlockVarDecl12547); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON602); + + + + // AST REWRITE + // elements: td, es, qn + // token labels: + // rule labels: qn, retval, td, es + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + var stream_es=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token es",es!=null?es.tree:null); + + root_0 = this.adaptor.nil(); + // 1413:17: -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) + { + // XQueryParser.g:1413:21: ^( BlockVarDecl $qn ( $td)? ( $es)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BlockVarDecl, "BlockVarDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:1413:40: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_1, stream_td.nextTree()); + + } + stream_td.reset(); + // XQueryParser.g:1413:45: ( $es)? + if ( stream_es.hasNext() ) { + this.adaptor.addChild(root_1, stream_es.nextTree()); + + } + stream_es.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_BlockBody_return: (function() { + XQueryParser.p_BlockBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_BlockBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1417:1: p_BlockBody : pm_Expr ; + // $ANTLR start "p_BlockBody" + p_BlockBody: function() { + var retval = new XQueryParser.p_BlockBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Expr603 = null; + + + try { + // XQueryParser.g:1418:9: ( pm_Expr ) + // XQueryParser.g:1418:11: pm_Expr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_BlockBody12607); + pm_Expr603=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr603.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AssignmentExpr_return: (function() { + XQueryParser.p_AssignmentExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AssignmentExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1422:1: p_AssignmentExpr : ks= SET DOLLAR p_VarName BIND p_ExprSingle ; + // $ANTLR start "p_AssignmentExpr" + p_AssignmentExpr: function() { + var retval = new XQueryParser.p_AssignmentExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ks = null; + var DOLLAR604 = null; + var BIND606 = null; + var p_VarName605 = null; + var p_ExprSingle607 = null; + + var ks_tree=null; + var DOLLAR604_tree=null; + var BIND606_tree=null; + + try { + // XQueryParser.g:1423:9: (ks= SET DOLLAR p_VarName BIND p_ExprSingle ) + // XQueryParser.g:1423:11: ks= SET DOLLAR p_VarName BIND p_ExprSingle + root_0 = this.adaptor.nil(); + + ks=this.match(this.input,SET,XQueryParser.FOLLOW_SET_in_p_AssignmentExpr12635); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ks_tree = this.adaptor.create(ks); + this.adaptor.addChild(root_0, ks_tree); + } + DOLLAR604=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_AssignmentExpr12637); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR604_tree = this.adaptor.create(DOLLAR604); + this.adaptor.addChild(root_0, DOLLAR604_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_AssignmentExpr12639); + p_VarName605=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName605.getTree()); + BIND606=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_AssignmentExpr12641); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND606_tree = this.adaptor.create(BIND606); + this.adaptor.addChild(root_0, BIND606_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_AssignmentExpr12643); + p_ExprSingle607=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle607.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExitExpr_return: (function() { + XQueryParser.p_ExitExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExitExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1427:1: p_ExitExpr : ke= EXIT kr= RETURNING p_ExprSingle ; + // $ANTLR start "p_ExitExpr" + p_ExitExpr: function() { + var retval = new XQueryParser.p_ExitExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ke = null; + var kr = null; + var p_ExprSingle608 = null; + + var ke_tree=null; + var kr_tree=null; + + try { + // XQueryParser.g:1428:9: (ke= EXIT kr= RETURNING p_ExprSingle ) + // XQueryParser.g:1428:11: ke= EXIT kr= RETURNING p_ExprSingle + root_0 = this.adaptor.nil(); + + ke=this.match(this.input,EXIT,XQueryParser.FOLLOW_EXIT_in_p_ExitExpr12671); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ke_tree = this.adaptor.create(ke); + this.adaptor.addChild(root_0, ke_tree); + } + kr=this.match(this.input,RETURNING,XQueryParser.FOLLOW_RETURNING_in_p_ExitExpr12675); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kr_tree = this.adaptor.create(kr); + this.adaptor.addChild(root_0, kr_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ExitExpr12677); + p_ExprSingle608=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle608.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhileExpr_return: (function() { + XQueryParser.p_WhileExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhileExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1432:1: p_WhileExpr : kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody ; + // $ANTLR start "p_WhileExpr" + p_WhileExpr: function() { + var retval = new XQueryParser.p_WhileExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kw = null; + var LPAREN609 = null; + var RPAREN611 = null; + var p_ExprSingle610 = null; + var p_WhileBody612 = null; + + var kw_tree=null; + var LPAREN609_tree=null; + var RPAREN611_tree=null; + + try { + // XQueryParser.g:1433:9: (kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody ) + // XQueryParser.g:1433:11: kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody + root_0 = this.adaptor.nil(); + + kw=this.match(this.input,WHILE,XQueryParser.FOLLOW_WHILE_in_p_WhileExpr12705); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kw_tree = this.adaptor.create(kw); + this.adaptor.addChild(root_0, kw_tree); + } + LPAREN609=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_WhileExpr12707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN609_tree = this.adaptor.create(LPAREN609); + this.adaptor.addChild(root_0, LPAREN609_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WhileExpr12709); + p_ExprSingle610=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle610.getTree()); + RPAREN611=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_WhileExpr12711); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN611_tree = this.adaptor.create(RPAREN611); + this.adaptor.addChild(root_0, RPAREN611_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_WhileBody_in_p_WhileExpr12713); + p_WhileBody612=this.p_WhileBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhileBody612.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhileBody_return: (function() { + XQueryParser.p_WhileBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhileBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1437:1: p_WhileBody : p_Block ; + // $ANTLR start "p_WhileBody" + p_WhileBody: function() { + var retval = new XQueryParser.p_WhileBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Block613 = null; + + + try { + // XQueryParser.g:1438:9: ( p_Block ) + // XQueryParser.g:1438:11: p_Block + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_p_WhileBody12739); + p_Block613=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Block613.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_EvalExpr_return: (function() { + XQueryParser.p_EvalExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_EvalExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1446:1: p_EvalExpr : ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET ; + // $ANTLR start "p_EvalExpr" + p_EvalExpr: function() { + var retval = new XQueryParser.p_EvalExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ke = null; + var LBRACKET615 = null; + var RBRACKET617 = null; + var p_UsingClause614 = null; + var p_ExprSingle616 = null; + + var ke_tree=null; + var LBRACKET615_tree=null; + var RBRACKET617_tree=null; + + try { + // XQueryParser.g:1447:9: ( ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET ) + // XQueryParser.g:1447:11: ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1447:11: ( p_UsingClause )? + var alt193=2; + var LA193_0 = this.input.LA(1); + + if ( (LA193_0==USING) ) { + alt193=1; + } + switch (alt193) { + case 1 : + // XQueryParser.g:1447:11: p_UsingClause + this.pushFollow(XQueryParser.FOLLOW_p_UsingClause_in_p_EvalExpr12769); + p_UsingClause614=this.p_UsingClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UsingClause614.getTree()); + + + break; + + } + + ke=this.match(this.input,EVAL,XQueryParser.FOLLOW_EVAL_in_p_EvalExpr12774); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ke_tree = this.adaptor.create(ke); + this.adaptor.addChild(root_0, ke_tree); + } + LBRACKET615=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_EvalExpr12776); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET615_tree = this.adaptor.create(LBRACKET615); + this.adaptor.addChild(root_0, LBRACKET615_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_EvalExpr12778); + p_ExprSingle616=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle616.getTree()); + RBRACKET617=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_EvalExpr12780); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET617_tree = this.adaptor.create(RBRACKET617); + this.adaptor.addChild(root_0, RBRACKET617_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UsingClause_return: (function() { + XQueryParser.p_UsingClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UsingClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1450:1: p_UsingClause : ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* ; + // $ANTLR start "p_UsingClause" + p_UsingClause: function() { + var retval = new XQueryParser.p_UsingClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var DOLLAR618 = null; + var COMMA620 = null; + var DOLLAR621 = null; + var p_VarName619 = null; + var p_VarName622 = null; + + var ku_tree=null; + var DOLLAR618_tree=null; + var COMMA620_tree=null; + var DOLLAR621_tree=null; + + try { + // XQueryParser.g:1451:9: (ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* ) + // XQueryParser.g:1451:11: ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* + root_0 = this.adaptor.nil(); + + ku=this.match(this.input,USING,XQueryParser.FOLLOW_USING_in_p_UsingClause12807); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + DOLLAR618=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_UsingClause12809); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR618_tree = this.adaptor.create(DOLLAR618); + this.adaptor.addChild(root_0, DOLLAR618_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_UsingClause12811); + p_VarName619=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName619.getTree()); + // XQueryParser.g:1451:37: ( COMMA DOLLAR p_VarName )* + loop194: + do { + var alt194=2; + var LA194_0 = this.input.LA(1); + + if ( (LA194_0==COMMA) ) { + alt194=1; + } + + + switch (alt194) { + case 1 : + // XQueryParser.g:1451:38: COMMA DOLLAR p_VarName + COMMA620=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_UsingClause12814); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA620_tree = this.adaptor.create(COMMA620); + this.adaptor.addChild(root_0, COMMA620_tree); + } + DOLLAR621=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_UsingClause12816); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR621_tree = this.adaptor.create(DOLLAR621); + this.adaptor.addChild(root_0, DOLLAR621_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_UsingClause12818); + p_VarName622=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName622.getTree()); + + + break; + + default : + break loop194; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollectionDecl_return: (function() { + XQueryParser.p_CollectionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollectionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1460:1: p_CollectionDecl : k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON ; + // $ANTLR start "p_CollectionDecl" + p_CollectionDecl: function() { + var retval = new XQueryParser.p_CollectionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON627 = null; + var k = null; + var list_k=null; + var p_CollProperties623 = null; + var p_QName624 = null; + var p_CollectionTypeDecl625 = null; + var p_NodeModifier626 = null; + + var SEMICOLON627_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1461:9: (k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON ) + // XQueryParser.g:1461:11: k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_CollectionDecl12853); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_CollProperties_in_p_CollectionDecl12855); + p_CollProperties623=this.p_CollProperties(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollProperties623.getTree()); + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_CollectionDecl12859); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CollectionDecl12861); + p_QName624=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName624.getTree()); + // XQueryParser.g:1461:61: ( p_CollectionTypeDecl )? + var alt195=2; + var LA195_0 = this.input.LA(1); + + if ( (LA195_0==AS) ) { + alt195=1; + } + switch (alt195) { + case 1 : + // XQueryParser.g:1461:61: p_CollectionTypeDecl + this.pushFollow(XQueryParser.FOLLOW_p_CollectionTypeDecl_in_p_CollectionDecl12863); + p_CollectionTypeDecl625=this.p_CollectionTypeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollectionTypeDecl625.getTree()); + + + break; + + } + + // XQueryParser.g:1461:83: (k+= WITH p_NodeModifier k+= NODES )? + var alt196=2; + var LA196_0 = this.input.LA(1); + + if ( (LA196_0==WITH) ) { + alt196=1; + } + switch (alt196) { + case 1 : + // XQueryParser.g:1461:84: k+= WITH p_NodeModifier k+= NODES + k=this.match(this.input,WITH,XQueryParser.FOLLOW_WITH_in_p_CollectionDecl12869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NodeModifier_in_p_CollectionDecl12871); + p_NodeModifier626=this.p_NodeModifier(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeModifier626.getTree()); + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_CollectionDecl12875); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON627=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_CollectionDecl12879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON627_tree = this.adaptor.create(SEMICOLON627); + this.adaptor.addChild(root_0, SEMICOLON627_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollProperties_return: (function() { + XQueryParser.p_CollProperties_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollProperties_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1464:1: p_CollProperties : ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) ; + // $ANTLR start "p_CollProperties" + p_CollProperties: function() { + var retval = new XQueryParser.p_CollProperties_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1465:9: ( ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) ) + // XQueryParser.g:1465:11: ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1465:11: ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) + // XQueryParser.g:1465:12: (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* + // XQueryParser.g:1465:12: (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* + loop197: + do { + var alt197=7; + switch ( this.input.LA(1) ) { + case CONST: + alt197=1; + break; + case MUTABLE: + alt197=2; + break; + case APPEND_ONLY: + alt197=3; + break; + case QUEUE: + alt197=4; + break; + case ORDERED: + alt197=5; + break; + case UNORDERED: + alt197=6; + break; + + } + + switch (alt197) { + case 1 : + // XQueryParser.g:1465:13: k+= CONST + k=this.match(this.input,CONST,XQueryParser.FOLLOW_CONST_in_p_CollProperties12909); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1465:24: k+= MUTABLE + k=this.match(this.input,MUTABLE,XQueryParser.FOLLOW_MUTABLE_in_p_CollProperties12915); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1466:11: k+= APPEND_ONLY + k=this.match(this.input,APPEND_ONLY,XQueryParser.FOLLOW_APPEND_ONLY_in_p_CollProperties12929); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 4 : + // XQueryParser.g:1466:28: k+= QUEUE + k=this.match(this.input,QUEUE,XQueryParser.FOLLOW_QUEUE_in_p_CollProperties12935); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 5 : + // XQueryParser.g:1467:11: k+= ORDERED + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_p_CollProperties12949); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 6 : + // XQueryParser.g:1467:24: k+= UNORDERED + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_p_CollProperties12955); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + default : + break loop197; + } + } while (true); + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollectionTypeDecl_return: (function() { + XQueryParser.p_CollectionTypeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollectionTypeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1470:1: p_CollectionTypeDecl : (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) ; + // $ANTLR start "p_CollectionTypeDecl" + p_CollectionTypeDecl: function() { + var retval = new XQueryParser.p_CollectionTypeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var p_KindTest628 = null; + var p_OccurrenceIndicator629 = null; + + var ka_tree=null; + + try { + // XQueryParser.g:1471:9: ( (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) ) + // XQueryParser.g:1471:11: (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1471:11: (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) + // XQueryParser.g:1471:12: ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CollectionTypeDecl12987); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_CollectionTypeDecl12989); + p_KindTest628=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_KindTest628.getTree()); + // XQueryParser.g:1471:29: ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? + var alt198=2; + var LA198_0 = this.input.LA(1); + + if ( ((LA198_0>=QUESTION && LA198_0<=PLUS)) && (this.synpred3_XQueryParser())) { + alt198=1; + } + switch (alt198) { + case 1 : + // XQueryParser.g:1471:30: ( p_OccurrenceIndicator )=> p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_p_CollectionTypeDecl12998); + p_OccurrenceIndicator629=this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OccurrenceIndicator629.getTree()); + + + break; + + } + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeModifier_return: (function() { + XQueryParser.p_NodeModifier_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeModifier_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1474:1: p_NodeModifier : (k+= READ_ONLY | k+= MUTABLE ) ; + // $ANTLR start "p_NodeModifier" + p_NodeModifier: function() { + var retval = new XQueryParser.p_NodeModifier_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1475:9: ( (k+= READ_ONLY | k+= MUTABLE ) ) + // XQueryParser.g:1475:11: (k+= READ_ONLY | k+= MUTABLE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1475:11: (k+= READ_ONLY | k+= MUTABLE ) + var alt199=2; + var LA199_0 = this.input.LA(1); + + if ( (LA199_0==READ_ONLY) ) { + alt199=1; + } + else if ( (LA199_0==MUTABLE) ) { + alt199=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 199, 0, this.input); + + throw nvae; + } + switch (alt199) { + case 1 : + // XQueryParser.g:1475:12: k+= READ_ONLY + k=this.match(this.input,READ_ONLY,XQueryParser.FOLLOW_READ_ONLY_in_p_NodeModifier13029); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1475:27: k+= MUTABLE + k=this.match(this.input,MUTABLE,XQueryParser.FOLLOW_MUTABLE_in_p_NodeModifier13035); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexDecl_return: (function() { + XQueryParser.p_IndexDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1478:1: p_IndexDecl : k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON ; + // $ANTLR start "p_IndexDecl" + p_IndexDecl: function() { + var retval = new XQueryParser.p_IndexDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA634 = null; + var SEMICOLON636 = null; + var k = null; + var list_k=null; + var p_IndexProperties630 = null; + var p_IndexName631 = null; + var p_IndexDomainExpr632 = null; + var p_IndexKeySpec633 = null; + var p_IndexKeySpec635 = null; + + var COMMA634_tree=null; + var SEMICOLON636_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1479:9: (k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON ) + // XQueryParser.g:1479:11: k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_IndexDecl13064); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexProperties_in_p_IndexDecl13066); + p_IndexProperties630=this.p_IndexProperties(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexProperties630.getTree()); + k=this.match(this.input,INDEX,XQueryParser.FOLLOW_INDEX_in_p_IndexDecl13070); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexName_in_p_IndexDecl13072); + p_IndexName631=this.p_IndexName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexName631.getTree()); + k=this.match(this.input,ON,XQueryParser.FOLLOW_ON_in_p_IndexDecl13076); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_IndexDecl13080); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexDomainExpr_in_p_IndexDecl13082); + p_IndexDomainExpr632=this.p_IndexDomainExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexDomainExpr632.getTree()); + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_IndexDecl13086); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeySpec_in_p_IndexDecl13088); + p_IndexKeySpec633=this.p_IndexKeySpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeySpec633.getTree()); + // XQueryParser.g:1479:115: ( COMMA p_IndexKeySpec )* + loop200: + do { + var alt200=2; + var LA200_0 = this.input.LA(1); + + if ( (LA200_0==COMMA) ) { + alt200=1; + } + + + switch (alt200) { + case 1 : + // XQueryParser.g:1479:116: COMMA p_IndexKeySpec + COMMA634=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_IndexDecl13091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA634_tree = this.adaptor.create(COMMA634); + this.adaptor.addChild(root_0, COMMA634_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeySpec_in_p_IndexDecl13093); + p_IndexKeySpec635=this.p_IndexKeySpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeySpec635.getTree()); + + + break; + + default : + break loop200; + } + } while (true); + + SEMICOLON636=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_IndexDecl13097); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON636_tree = this.adaptor.create(SEMICOLON636); + this.adaptor.addChild(root_0, SEMICOLON636_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexName_return: (function() { + XQueryParser.p_IndexName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1482:1: p_IndexName : p_QName ; + // $ANTLR start "p_IndexName" + p_IndexName: function() { + var retval = new XQueryParser.p_IndexName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName637 = null; + + + try { + // XQueryParser.g:1483:9: ( p_QName ) + // XQueryParser.g:1483:11: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_IndexName13123); + p_QName637=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName637.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexProperties_return: (function() { + XQueryParser.p_IndexProperties_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexProperties_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1486:1: p_IndexProperties : ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) ; + // $ANTLR start "p_IndexProperties" + p_IndexProperties: function() { + var retval = new XQueryParser.p_IndexProperties_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1487:9: ( ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) ) + // XQueryParser.g:1487:11: ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1487:11: ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) + // XQueryParser.g:1487:12: (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* + // XQueryParser.g:1487:12: (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* + loop201: + do { + var alt201=7; + switch ( this.input.LA(1) ) { + case UNIQUE: + alt201=1; + break; + case NON: + alt201=2; + break; + case VALUE: + var LA201_4 = this.input.LA(2); + + if ( (LA201_4==RANGE) ) { + alt201=3; + } + else if ( (LA201_4==EQUALITY) ) { + alt201=4; + } + + + break; + case AUTOMATICALLY: + alt201=5; + break; + case MANUALLY: + alt201=6; + break; + + } + + switch (alt201) { + case 1 : + // XQueryParser.g:1487:13: k+= UNIQUE + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_IndexProperties13152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1487:25: k+= NON k+= UNIQUE + k=this.match(this.input,NON,XQueryParser.FOLLOW_NON_in_p_IndexProperties13158); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_IndexProperties13162); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1488:11: k+= VALUE k+= RANGE + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_IndexProperties13176); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,RANGE,XQueryParser.FOLLOW_RANGE_in_p_IndexProperties13180); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 4 : + // XQueryParser.g:1488:31: k+= VALUE k+= EQUALITY + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_IndexProperties13186); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,EQUALITY,XQueryParser.FOLLOW_EQUALITY_in_p_IndexProperties13190); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 5 : + // XQueryParser.g:1489:11: k+= AUTOMATICALLY k+= MAINTAINED + k=this.match(this.input,AUTOMATICALLY,XQueryParser.FOLLOW_AUTOMATICALLY_in_p_IndexProperties13204); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MAINTAINED,XQueryParser.FOLLOW_MAINTAINED_in_p_IndexProperties13208); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 6 : + // XQueryParser.g:1489:44: k+= MANUALLY k+= MAINTAINED + k=this.match(this.input,MANUALLY,XQueryParser.FOLLOW_MANUALLY_in_p_IndexProperties13214); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MAINTAINED,XQueryParser.FOLLOW_MAINTAINED_in_p_IndexProperties13218); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + default : + break loop201; + } + } while (true); + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexDomainExpr_return: (function() { + XQueryParser.p_IndexDomainExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexDomainExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1492:1: p_IndexDomainExpr : p_PathExpr ; + // $ANTLR start "p_IndexDomainExpr" + p_IndexDomainExpr: function() { + var retval = new XQueryParser.p_IndexDomainExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PathExpr638 = null; + + + try { + // XQueryParser.g:1493:9: ( p_PathExpr ) + // XQueryParser.g:1493:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_IndexDomainExpr13247); + p_PathExpr638=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr638.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeySpec_return: (function() { + XQueryParser.p_IndexKeySpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeySpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1496:1: p_IndexKeySpec : p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? ; + // $ANTLR start "p_IndexKeySpec" + p_IndexKeySpec: function() { + var retval = new XQueryParser.p_IndexKeySpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_IndexKeyExpr639 = null; + var p_IndexKeyTypeDecl640 = null; + var p_IndexKeyCollation641 = null; + + + try { + // XQueryParser.g:1497:9: ( p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? ) + // XQueryParser.g:1497:11: p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyExpr_in_p_IndexKeySpec13272); + p_IndexKeyExpr639=this.p_IndexKeyExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyExpr639.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyTypeDecl_in_p_IndexKeySpec13274); + p_IndexKeyTypeDecl640=this.p_IndexKeyTypeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyTypeDecl640.getTree()); + // XQueryParser.g:1497:45: ( p_IndexKeyCollation )? + var alt202=2; + var LA202_0 = this.input.LA(1); + + if ( (LA202_0==COLLATION) ) { + alt202=1; + } + switch (alt202) { + case 1 : + // XQueryParser.g:1497:45: p_IndexKeyCollation + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyCollation_in_p_IndexKeySpec13276); + p_IndexKeyCollation641=this.p_IndexKeyCollation(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyCollation641.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyExpr_return: (function() { + XQueryParser.p_IndexKeyExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1500:1: p_IndexKeyExpr : p_PathExpr ; + // $ANTLR start "p_IndexKeyExpr" + p_IndexKeyExpr: function() { + var retval = new XQueryParser.p_IndexKeyExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PathExpr642 = null; + + + try { + // XQueryParser.g:1501:9: ( p_PathExpr ) + // XQueryParser.g:1501:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_IndexKeyExpr13302); + p_PathExpr642=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr642.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyTypeDecl_return: (function() { + XQueryParser.p_IndexKeyTypeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyTypeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1504:1: p_IndexKeyTypeDecl : ka= AS p_AtomicType ; + // $ANTLR start "p_IndexKeyTypeDecl" + p_IndexKeyTypeDecl: function() { + var retval = new XQueryParser.p_IndexKeyTypeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var p_AtomicType643 = null; + + var ka_tree=null; + + try { + // XQueryParser.g:1505:9: (ka= AS p_AtomicType ) + // XQueryParser.g:1505:11: ka= AS p_AtomicType + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_IndexKeyTypeDecl13329); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_IndexKeyTypeDecl13331); + p_AtomicType643=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType643.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyCollation_return: (function() { + XQueryParser.p_IndexKeyCollation_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyCollation_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1508:1: p_IndexKeyCollation : kc= COLLATION p_StringLiteral ; + // $ANTLR start "p_IndexKeyCollation" + p_IndexKeyCollation: function() { + var retval = new XQueryParser.p_IndexKeyCollation_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var p_StringLiteral644 = null; + + var kc_tree=null; + + try { + // XQueryParser.g:1509:9: (kc= COLLATION p_StringLiteral ) + // XQueryParser.g:1509:11: kc= COLLATION p_StringLiteral + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_IndexKeyCollation13358); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_IndexKeyCollation13360); + p_StringLiteral644=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral644.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICDecl_return: (function() { + XQueryParser.p_ICDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1512:1: p_ICDecl : k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON ; + // $ANTLR start "p_ICDecl" + p_ICDecl: function() { + var retval = new XQueryParser.p_ICDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON648 = null; + var k = null; + var list_k=null; + var p_QName645 = null; + var p_ICCollection646 = null; + var p_ICForeignKey647 = null; + + var SEMICOLON648_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1513:9: (k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON ) + // XQueryParser.g:1513:11: k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_ICDecl13387); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,INTEGRITY,XQueryParser.FOLLOW_INTEGRITY_in_p_ICDecl13391); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONSTRAINT,XQueryParser.FOLLOW_CONSTRAINT_in_p_ICDecl13395); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICDecl13398); + p_QName645=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName645.getTree()); + // XQueryParser.g:1513:58: ( p_ICCollection | p_ICForeignKey ) + var alt203=2; + var LA203_0 = this.input.LA(1); + + if ( (LA203_0==ON) ) { + alt203=1; + } + else if ( (LA203_0==FOREIGN) ) { + alt203=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 203, 0, this.input); + + throw nvae; + } + switch (alt203) { + case 1 : + // XQueryParser.g:1513:59: p_ICCollection + this.pushFollow(XQueryParser.FOLLOW_p_ICCollection_in_p_ICDecl13401); + p_ICCollection646=this.p_ICCollection(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollection646.getTree()); + + + break; + case 2 : + // XQueryParser.g:1513:76: p_ICForeignKey + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKey_in_p_ICDecl13405); + p_ICForeignKey647=this.p_ICForeignKey(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKey647.getTree()); + + + break; + + } + + SEMICOLON648=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_ICDecl13408); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON648_tree = this.adaptor.create(SEMICOLON648); + this.adaptor.addChild(root_0, SEMICOLON648_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollection_return: (function() { + XQueryParser.p_ICCollection_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollection_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1516:1: p_ICCollection : k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) ; + // $ANTLR start "p_ICCollection" + p_ICCollection: function() { + var retval = new XQueryParser.p_ICCollection_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_QName649 = null; + var p_ICCollSequence650 = null; + var p_ICCollSequenceUnique651 = null; + var p_ICCollNode652 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1517:9: (k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) ) + // XQueryParser.g:1517:11: k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ON,XQueryParser.FOLLOW_ON_in_p_ICCollection13435); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_ICCollection13439); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollection13442); + p_QName649=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName649.getTree()); + // XQueryParser.g:1517:40: ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) + var alt204=3; + switch ( this.input.LA(1) ) { + case DOLLAR: + alt204=1; + break; + case NODE: + alt204=2; + break; + case FOREACH: + alt204=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 204, 0, this.input); + + throw nvae; + } + + switch (alt204) { + case 1 : + // XQueryParser.g:1517:41: p_ICCollSequence + this.pushFollow(XQueryParser.FOLLOW_p_ICCollSequence_in_p_ICCollection13445); + p_ICCollSequence650=this.p_ICCollSequence(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollSequence650.getTree()); + + + break; + case 2 : + // XQueryParser.g:1517:60: p_ICCollSequenceUnique + this.pushFollow(XQueryParser.FOLLOW_p_ICCollSequenceUnique_in_p_ICCollection13449); + p_ICCollSequenceUnique651=this.p_ICCollSequenceUnique(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollSequenceUnique651.getTree()); + + + break; + case 3 : + // XQueryParser.g:1517:85: p_ICCollNode + this.pushFollow(XQueryParser.FOLLOW_p_ICCollNode_in_p_ICCollection13453); + p_ICCollNode652=this.p_ICCollNode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollNode652.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollSequence_return: (function() { + XQueryParser.p_ICCollSequence_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollSequence_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1520:1: p_ICCollSequence : DOLLAR p_QName kc= CHECK p_ExprSingle ; + // $ANTLR start "p_ICCollSequence" + p_ICCollSequence: function() { + var retval = new XQueryParser.p_ICCollSequence_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var DOLLAR653 = null; + var p_QName654 = null; + var p_ExprSingle655 = null; + + var kc_tree=null; + var DOLLAR653_tree=null; + + try { + // XQueryParser.g:1521:9: ( DOLLAR p_QName kc= CHECK p_ExprSingle ) + // XQueryParser.g:1521:11: DOLLAR p_QName kc= CHECK p_ExprSingle + root_0 = this.adaptor.nil(); + + DOLLAR653=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollSequence13479); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR653_tree = this.adaptor.create(DOLLAR653); + this.adaptor.addChild(root_0, DOLLAR653_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollSequence13481); + p_QName654=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName654.getTree()); + kc=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollSequence13485); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ICCollSequence13487); + p_ExprSingle655=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle655.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollSequenceUnique_return: (function() { + XQueryParser.p_ICCollSequenceUnique_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollSequenceUnique_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1524:1: p_ICCollSequenceUnique : k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr ; + // $ANTLR start "p_ICCollSequenceUnique" + p_ICCollSequenceUnique: function() { + var retval = new XQueryParser.p_ICCollSequenceUnique_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_QName656 = null; + var p_PathExpr657 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1525:9: (k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr ) + // XQueryParser.g:1525:11: k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICCollSequenceUnique13514); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollSequenceUnique13518); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollSequenceUnique13520); + p_QName656=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName656.getTree()); + k=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollSequenceUnique13524); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_ICCollSequenceUnique13528); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICCollSequenceUnique13532); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ICCollSequenceUnique13534); + p_PathExpr657=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr657.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollNode_return: (function() { + XQueryParser.p_ICCollNode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollNode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1528:1: p_ICCollNode : k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle ; + // $ANTLR start "p_ICCollNode" + p_ICCollNode: function() { + var retval = new XQueryParser.p_ICCollNode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR658 = null; + var k = null; + var list_k=null; + var p_QName659 = null; + var p_ExprSingle660 = null; + + var DOLLAR658_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1529:9: (k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle ) + // XQueryParser.g:1529:11: k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOREACH,XQueryParser.FOLLOW_FOREACH_in_p_ICCollNode13562); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICCollNode13566); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR658=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollNode13568); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR658_tree = this.adaptor.create(DOLLAR658); + this.adaptor.addChild(root_0, DOLLAR658_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollNode13570); + p_QName659=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName659.getTree()); + k=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollNode13574); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ICCollNode13576); + p_ExprSingle660=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle660.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKey_return: (function() { + XQueryParser.p_ICForeignKey_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKey_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1532:1: p_ICForeignKey : k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget ; + // $ANTLR start "p_ICForeignKey" + p_ICForeignKey: function() { + var retval = new XQueryParser.p_ICForeignKey_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_ICForeignKeySource661 = null; + var p_ICForeignKeyTarget662 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1533:9: (k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget ) + // XQueryParser.g:1533:11: k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOREIGN,XQueryParser.FOLLOW_FOREIGN_in_p_ICForeignKey13604); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICForeignKey13608); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeySource_in_p_ICForeignKey13610); + p_ICForeignKeySource661=this.p_ICForeignKeySource(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeySource661.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyTarget_in_p_ICForeignKey13612); + p_ICForeignKeyTarget662=this.p_ICForeignKeyTarget(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyTarget662.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeySource_return: (function() { + XQueryParser.p_ICForeignKeySource_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeySource_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1536:1: p_ICForeignKeySource : kf= FROM p_ICForeignKeyValues ; + // $ANTLR start "p_ICForeignKeySource" + p_ICForeignKeySource: function() { + var retval = new XQueryParser.p_ICForeignKeySource_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kf = null; + var p_ICForeignKeyValues663 = null; + + var kf_tree=null; + + try { + // XQueryParser.g:1537:9: (kf= FROM p_ICForeignKeyValues ) + // XQueryParser.g:1537:11: kf= FROM p_ICForeignKeyValues + root_0 = this.adaptor.nil(); + + kf=this.match(this.input,FROM,XQueryParser.FOLLOW_FROM_in_p_ICForeignKeySource13640); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kf_tree = this.adaptor.create(kf); + this.adaptor.addChild(root_0, kf_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeySource13642); + p_ICForeignKeyValues663=this.p_ICForeignKeyValues(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyValues663.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeyTarget_return: (function() { + XQueryParser.p_ICForeignKeyTarget_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeyTarget_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1540:1: p_ICForeignKeyTarget : kt= TO p_ICForeignKeyValues ; + // $ANTLR start "p_ICForeignKeyTarget" + p_ICForeignKeyTarget: function() { + var retval = new XQueryParser.p_ICForeignKeyTarget_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kt = null; + var p_ICForeignKeyValues664 = null; + + var kt_tree=null; + + try { + // XQueryParser.g:1541:9: (kt= TO p_ICForeignKeyValues ) + // XQueryParser.g:1541:11: kt= TO p_ICForeignKeyValues + root_0 = this.adaptor.nil(); + + kt=this.match(this.input,TO,XQueryParser.FOLLOW_TO_in_p_ICForeignKeyTarget13669); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kt_tree = this.adaptor.create(kt); + this.adaptor.addChild(root_0, kt_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeyTarget13671); + p_ICForeignKeyValues664=this.p_ICForeignKeyValues(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyValues664.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeyValues_return: (function() { + XQueryParser.p_ICForeignKeyValues_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeyValues_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1544:1: p_ICForeignKeyValues : k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr ; + // $ANTLR start "p_ICForeignKeyValues" + p_ICForeignKeyValues: function() { + var retval = new XQueryParser.p_ICForeignKeyValues_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR666 = null; + var k = null; + var list_k=null; + var p_QName665 = null; + var p_QName667 = null; + var p_PathExpr668 = null; + + var DOLLAR666_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1545:9: (k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr ) + // XQueryParser.g:1545:11: k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_ICForeignKeyValues13698); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICForeignKeyValues13700); + p_QName665=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName665.getTree()); + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICForeignKeyValues13704); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR666=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICForeignKeyValues13706); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR666_tree = this.adaptor.create(DOLLAR666); + this.adaptor.addChild(root_0, DOLLAR666_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICForeignKeyValues13708); + p_QName667=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName667.getTree()); + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICForeignKeyValues13712); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ICForeignKeyValues13714); + p_PathExpr668=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr668.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // $ANTLR start "synpred1_XQueryParser" + synpred1_XQueryParser_fragment: function() { + // XQueryParser.g:657:11: ( SLASH p_RelativePathExpr ) + // XQueryParser.g:657:12: SLASH p_RelativePathExpr + this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_synpred1_XQueryParser5860); if (this.state.failed) return ; + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_synpred1_XQueryParser5862); + this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred1_XQueryParser", + + // $ANTLR start "synpred2_XQueryParser" + synpred2_XQueryParser_fragment: function() { + // XQueryParser.g:1011:26: ( p_OccurrenceIndicator ) + // XQueryParser.g:1011:27: p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_synpred2_XQueryParser8510); + this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred2_XQueryParser", + + // $ANTLR start "synpred3_XQueryParser" + synpred3_XQueryParser_fragment: function() { + // XQueryParser.g:1471:30: ( p_OccurrenceIndicator ) + // XQueryParser.g:1471:31: p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_synpred3_XQueryParser12993); + this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred3_XQueryParser" + + // Delegated rules + + + + synpred3_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred3_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + }, + synpred1_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred1_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + }, + synpred2_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred2_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(XQueryParser, { + DFA6_eotS: + "\u000d\uffff", + DFA6_eofS: + "\u0001\u0002\u0001\u000c\u0001\uffff\u0001\u000c\u0009\uffff", + DFA6_minS: + "\u0001\u0010\u0001\u0012\u0001\uffff\u0001\u0012\u0009\uffff", + DFA6_maxS: + "\u0001\u0137\u0001\u00e0\u0001\uffff\u0001\u00e0\u0009\uffff", + DFA6_acceptS: + "\u0002\uffff\u0001\u0002\u0001\uffff\u0003\u0002\u0003\u0001\u0003"+ + "\u0002", + DFA6_specialS: + "\u0001\uffff\u0001\u0000\u000b\uffff}>", + DFA6_transitionS: [ + "\u0012\u0002\u0001\u0001\u0019\u0002\u0001\u0003\u0062\u0002"+ + "\u0001\uffff\u0014\u0002\u0001\uffff\u000d\u0002\u0001\uffff"+ + "\u0001\u0002\u000a\uffff\u0004\u0002\u0005\uffff\u0004\u0002"+ + "\u000c\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0006\uffff\u0006\u0002\u003b\uffff\u0002\u0002", + "\u0001\u000c\u0004\uffff\u0002\u0007\u0002\uffff\u0002\u000c"+ + "\u0003\uffff\u0001\u0007\u0001\u0009\u0001\uffff\u0001\u0007"+ + "\u0003\uffff\u0001\u000c\u0007\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0004\uffff\u0001\u000a\u0001\u000c\u0001\uffff"+ + "\u0002\u000c\u0004\uffff\u0003\u000c\u0002\uffff\u0001\u000c"+ + "\u0002\uffff\u0002\u000c\u0001\uffff\u0001\u0009\u0001\u000c"+ + "\u0004\uffff\u0001\u0005\u0001\u000c\u0001\uffff\u0001\u000b"+ + "\u0001\u0007\u0011\uffff\u0002\u000c\u0001\uffff\u0001\u000c"+ + "\u0001\u000b\u0001\uffff\u0001\u000a\u0004\uffff\u0001\u0002"+ + "\u0025\uffff\u0001\u0008\u0001\uffff\u0001\u000a\u0001\u000b"+ + "\u0002\uffff\u0001\u000a\u0002\uffff\u0001\u0004\u0001\uffff"+ + "\u0001\u000a\u0003\uffff\u0002\u000b\u0001\uffff\u0001\u000b"+ + "\u0001\uffff\u0001\u000b\u0004\uffff\u0001\u000b\u0001\u0006"+ + "\u0002\uffff\u0003\u000b\u0001\uffff\u0001\u000b\u0002\uffff"+ + "\u0001\u000b\u0001\uffff\u0001\u000a\u0003\uffff\u0001\u000c"+ + "\u0004\uffff\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff\u000b\u000c"+ + "\u0002\uffff\u0001\u000c\u0003\uffff\u0002\u000c", + "", + "\u0001\u000c\u0008\uffff\u0002\u000c\u000a\uffff\u0001\u000c"+ + "\u0007\uffff\u0001\u000c\u0001\uffff\u0001\u000c\u0005\uffff"+ + "\u0001\u000c\u0001\uffff\u0002\u000c\u0004\uffff\u0003\u000c"+ + "\u0002\uffff\u0001\u000c\u0002\uffff\u0002\u000c\u0001\u0009"+ + "\u0001\uffff\u0001\u000c\u0005\uffff\u0001\u000c\u000a\uffff"+ + "\u0001\u0009\u0009\uffff\u0002\u000c\u0001\uffff\u0001\u000c"+ + "\u0057\uffff\u0001\u000c\u0004\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff\u0001\u000c"+ + "\u0001\uffff\u000b\u000c\u0002\uffff\u0001\u000c\u0003\uffff"+ + "\u0002\u000c", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA6_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_eotS), + DFA6_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_eofS), + DFA6_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA6_minS), + DFA6_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA6_maxS), + DFA6_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_acceptS), + DFA6_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_specialS), + DFA6_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA6_transitionS.length; + for (i=0; i=BASE_URI && LA6_1<=BOUNDARY_SPACE)||LA6_1==CONSTRUCTION||LA6_1==DEFAULT||LA6_1==ORDERING) ) {s = 7;} + + else if ( (LA6_1==REVALIDATION) && ((true))) {s = 8;} + + else if ( (LA6_1==COPY_NAMESPACES||LA6_1==NAMESPACE) ) {s = 9;} + + else if ( (LA6_1==FUNCTION||LA6_1==VARIABLE||LA6_1==UPDATING||LA6_1==CONSTANT||LA6_1==SIMPLE||LA6_1==PRIVATE) ) {s = 10;} + + else if ( (LA6_1==ORDERED||LA6_1==UNORDERED||LA6_1==VALUE||(LA6_1>=APPEND_ONLY && LA6_1<=AUTOMATICALLY)||LA6_1==COLLECTION||LA6_1==CONST||LA6_1==INDEX||(LA6_1>=MANUALLY && LA6_1<=NON)||LA6_1==QUEUE||LA6_1==UNIQUE) && ((true))) {s = 11;} + + else if ( (LA6_1==EOF||LA6_1==AND||(LA6_1>=CAST && LA6_1<=CASTABLE)||LA6_1==DIV||LA6_1==EQ||LA6_1==EXCEPT||LA6_1==GE||(LA6_1>=GT && LA6_1<=IDIV)||(LA6_1>=INSTANCE && LA6_1<=IS)||LA6_1==LE||(LA6_1>=LT && LA6_1<=MOD)||LA6_1==NE||LA6_1==OR||(LA6_1>=TO && LA6_1<=TREAT)||LA6_1==UNION||LA6_1==LPAREN||LA6_1==LSQUARE||LA6_1==EQUAL||LA6_1==NOTEQUAL||LA6_1==COMMA||(LA6_1>=STAR && LA6_1<=SLASH_SLASH)||LA6_1==COLON||(LA6_1>=SEMICOLON && LA6_1<=VBAR)) ) {s = 12;} + + + input.seek(index6_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 6, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA7_eotS: + "\u000c\uffff", + DFA7_eofS: + "\u0001\u0001\u0001\uffff\u0001\u0001\u0009\uffff", + DFA7_minS: + "\u0001\u0010\u0001\uffff\u0001\u0012\u0004\uffff\u0001\u0036\u0004"+ + "\uffff", + DFA7_maxS: + "\u0001\u0137\u0001\uffff\u0001\u00e0\u0004\uffff\u0001\u00a2\u0004"+ + "\uffff", + DFA7_acceptS: + "\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0002\u0001\u0003\u0001"+ + "\u0004\u0001\u0007\u0001\uffff\u0001\u0001\u0001\u0003\u0001\u0005\u0001"+ + "\u0006", + DFA7_specialS: + "\u0002\uffff\u0001\u0000\u0009\uffff}>", + DFA7_transitionS: [ + "\u0012\u0001\u0001\u0002\u007c\u0001\u0001\uffff\u0014\u0001"+ + "\u0001\uffff\u000d\u0001\u0001\uffff\u0001\u0001\u000a\uffff"+ + "\u0004\u0001\u0005\uffff\u0004\u0001\u000c\uffff\u0001\u0001"+ + "\u0002\uffff\u0002\u0001\u0002\uffff\u0001\u0001\u0006\uffff"+ + "\u0006\u0001\u003b\uffff\u0002\u0001", + "", + "\u0001\u0001\u0008\uffff\u0002\u0001\u000a\uffff\u0001\u0001"+ + "\u0007\uffff\u0001\u0001\u0001\uffff\u0001\u0001\u0004\uffff"+ + "\u0001\u0009\u0001\u0001\u0001\uffff\u0002\u0001\u0004\uffff"+ + "\u0003\u0001\u0002\uffff\u0001\u0001\u0002\uffff\u0002\u0001"+ + "\u0002\uffff\u0001\u0001\u0004\uffff\u0001\u0005\u0001\u0001"+ + "\u0001\uffff\u0001\u000a\u0012\uffff\u0002\u0001\u0001\uffff"+ + "\u0001\u0001\u0001\u000a\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0003\u0027\uffff\u0001\u0009\u0001\u000b\u0002\uffff"+ + "\u0001\u0008\u0002\uffff\u0001\u0004\u0001\uffff\u0001\u0009"+ + "\u0003\uffff\u0001\u000a\u0001\u000b\u0001\uffff\u0001\u000a"+ + "\u0001\uffff\u0001\u000a\u0004\uffff\u0001\u000b\u0001\u0006"+ + "\u0002\uffff\u0001\u000b\u0001\u000a\u0001\u000b\u0001\uffff"+ + "\u0001\u000a\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u0007"+ + "\u0003\uffff\u0001\u0001\u0004\uffff\u0001\u0001\u0001\uffff"+ + "\u0001\u0001\u0001\uffff\u0001\u0001\u0001\uffff\u0001\u0001"+ + "\u0001\uffff\u000b\u0001\u0002\uffff\u0001\u0001\u0003\uffff"+ + "\u0002\u0001", + "", + "", + "", + "", + "\u0001\u0009\u0035\uffff\u0001\u0008\u002c\uffff\u0001\u0009"+ + "\u0003\uffff\u0001\u0008\u0004\uffff\u0001\u0009", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA7_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_eotS), + DFA7_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_eofS), + DFA7_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA7_minS), + DFA7_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA7_maxS), + DFA7_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_acceptS), + DFA7_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_specialS), + DFA7_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA7_transitionS.length; + for (i=0; i p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )*"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA7_2 = input.LA(1); + + + var index7_2 = input.index(); + input.rewind(); + s = -1; + if ( (LA7_2==CONTEXT) ) {s = 3;} + + else if ( (LA7_2==SEQUENTIAL) && ((true))) {s = 4;} + + else if ( (LA7_2==OPTION) ) {s = 5;} + + else if ( (LA7_2==INTEGRITY) && ((true))) {s = 6;} + + else if ( (LA7_2==EOF||LA7_2==AND||(LA7_2>=CAST && LA7_2<=CASTABLE)||LA7_2==DIV||LA7_2==EQ||LA7_2==EXCEPT||LA7_2==GE||(LA7_2>=GT && LA7_2<=IDIV)||(LA7_2>=INSTANCE && LA7_2<=IS)||LA7_2==LE||(LA7_2>=LT && LA7_2<=MOD)||LA7_2==NE||LA7_2==OR||(LA7_2>=TO && LA7_2<=TREAT)||LA7_2==UNION||LA7_2==LPAREN||LA7_2==LSQUARE||LA7_2==EQUAL||LA7_2==NOTEQUAL||LA7_2==COMMA||(LA7_2>=STAR && LA7_2<=SLASH_SLASH)||LA7_2==COLON||(LA7_2>=SEMICOLON && LA7_2<=VBAR)) ) {s = 1;} + + else if ( (LA7_2==PRIVATE) ) {s = 7;} + + else if ( (LA7_2==VARIABLE||LA7_2==CONSTANT) ) {s = 8;} + + else if ( (LA7_2==FUNCTION||LA7_2==UPDATING||LA7_2==SIMPLE) ) {s = 9;} + + else if ( (LA7_2==ORDERED||LA7_2==UNORDERED||LA7_2==APPEND_ONLY||LA7_2==COLLECTION||LA7_2==CONST||LA7_2==MUTABLE||LA7_2==QUEUE) && ((true))) {s = 10;} + + else if ( (LA7_2==VALUE||LA7_2==AUTOMATICALLY||LA7_2==INDEX||LA7_2==MANUALLY||LA7_2==NON||LA7_2==UNIQUE) && ((true))) {s = 11;} + + + input.seek(index7_2); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 7, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA8_eotS: + "\u000b\uffff", + DFA8_eofS: + "\u000b\uffff", + DFA8_minS: + "\u0001\u0022\u0001\u0017\u0001\uffff\u0001\u001e\u0007\uffff", + DFA8_maxS: + "\u0001\u0022\u0001\u0097\u0001\uffff\u0001\u0052\u0007\uffff", + DFA8_acceptS: + "\u0002\uffff\u0001\u0001\u0001\uffff\u0001\u0003\u0001\u0004\u0001"+ + "\u0005\u0001\u0007\u0001\u0008\u0001\u0002\u0001\u0006", + DFA8_specialS: + "\u0001\uffff\u0001\u0000\u0009\uffff}>", + DFA8_transitionS: [ + "\u0001\u0001", + "\u0001\u0004\u0001\u0002\u0007\uffff\u0001\u0005\u0001\u0008"+ + "\u0001\uffff\u0001\u0003\u0030\uffff\u0001\u0006\u0042\uffff"+ + "\u0001\u0007", + "", + "\u0001\u0009\u0033\uffff\u0001\u000a", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA8_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_eotS), + DFA8_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_eofS), + DFA8_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA8_minS), + DFA8_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA8_maxS), + DFA8_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_acceptS), + DFA8_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_specialS), + DFA8_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA8_transitionS.length; + for (i=0; i pm_RevalidationDecl | pm_CopyNamespacesDecl );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA8_1 = input.LA(1); + + + var index8_1 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_1==BOUNDARY_SPACE) ) {s = 2;} + + else if ( (LA8_1==DEFAULT) ) {s = 3;} + + else if ( (LA8_1==BASE_URI) ) {s = 4;} + + else if ( (LA8_1==CONSTRUCTION) ) {s = 5;} + + else if ( (LA8_1==ORDERING) ) {s = 6;} + + else if ( (LA8_1==REVALIDATION) && ((true))) {s = 7;} + + else if ( (LA8_1==COPY_NAMESPACES) ) {s = 8;} + + + input.seek(index8_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 8, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA49_eotS: + "\u0022\uffff", + DFA49_eofS: + "\u0001\uffff\u0001\u0013\u0001\uffff\u0010\u0013\u000f\uffff", + DFA49_minS: + "\u0001\u0010\u0001\u0012\u0001\uffff\u0010\u0012\u000f\uffff", + DFA49_maxS: + "\u0001\u0137\u0001\u0136\u0001\uffff\u0010\u0136\u000f\uffff", + DFA49_acceptS: + "\u0002\uffff\u0001\u0001\u0010\uffff\u0001\u0010\u0001\u0002\u0001"+ + "\u0003\u0001\u0004\u0001\u0005\u0001\u0006\u0001\u0007\u0001\u0008\u0001"+ + "\u0009\u0001\u000a\u0001\u000b\u0001\u000c\u0001\u000d\u0001\u000e\u0001"+ + "\u000f", + DFA49_specialS: + "\u0008\uffff\u0001\u0000\u0001\u0003\u0001\u000a\u0001\u0001\u0001"+ + "\u0007\u0001\u0009\u0001\u0002\u0001\u0005\u0001\u0004\u0001\u0006\u0001"+ + "\u0008\u000f\uffff}>", + DFA49_transitionS: [ + "\u0020\u0013\u0001\u0004\u0004\u0013\u0001\u0001\u0005\u0013"+ + "\u0001\u0006\u0024\u0013\u0001\u0003\u0007\u0013\u0001\u0005"+ + "\u001d\u0013\u0001\u0007\u0006\u0013\u0001\u000e\u0001\u000b"+ + "\u0001\u0013\u0001\u000a\u0004\u0013\u0001\u000c\u0001\u000d"+ + "\u0005\u0013\u0001\u000f\u0001\u0013\u0001\u0011\u0001\uffff"+ + "\u0001\u0013\u0001\u0010\u0001\u0013\u0001\u0012\u0001\u0009"+ + "\u0001\u0008\u000e\u0013\u0001\uffff\u000d\u0013\u0001\uffff"+ + "\u0001\u0013\u000a\uffff\u0004\u0013\u0005\uffff\u0004\u0013"+ + "\u000c\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0002\uffff"+ + "\u0001\u0013\u0006\uffff\u0006\u0013\u003b\uffff\u0001\u0002"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0005\uffff\u0001\u0002\u0001\u0013"+ + "\u0001\uffff\u0001\u0002\u0003\uffff\u0002\u0013\u0004\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0007\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0001\u0002\u0001\uffff\u0004\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u000b\u0013\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0055\uffff\u0001\u0013", + "", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0014"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0014"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0015\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0016\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0017\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0018"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0018\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u0019\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\u0019\u0006\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001a\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\u001a\u0006\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001b\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0007\uffff\u0001\u0013\u0025\uffff"+ + "\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff"+ + "\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001c\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0006\uffff\u0001\u001c\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u001d"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u001e\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u001f"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0003\uffff\u0001\u0020\u0021\uffff"+ + "\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff"+ + "\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0021\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA49_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_eotS), + DFA49_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_eofS), + DFA49_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA49_minS), + DFA49_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA49_maxS), + DFA49_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_acceptS), + DFA49_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_specialS), + DFA49_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA49_transitionS.length; + for (i=0; i p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA49_8 = input.LA(1); + + + var index49_8 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_8==DOLLAR) && ((true))) {s = 24;} + + else if ( (LA49_8==EOF||(LA49_8>=AND && LA49_8<=ASCENDING)||(LA49_8>=CASE && LA49_8<=CASTABLE)||LA49_8==COLLATION||LA49_8==DEFAULT||(LA49_8>=DESCENDING && LA49_8<=DIV)||(LA49_8>=ELSE && LA49_8<=EMPTY)||LA49_8==EQ||LA49_8==EXCEPT||LA49_8==FOR||LA49_8==GE||(LA49_8>=GT && LA49_8<=IDIV)||(LA49_8>=INSTANCE && LA49_8<=IS)||LA49_8==LE||(LA49_8>=LT && LA49_8<=MOD)||LA49_8==NE||(LA49_8>=OR && LA49_8<=ORDER)||(LA49_8>=RETURN && LA49_8<=SATISFIES)||LA49_8==STABLE||(LA49_8>=TO && LA49_8<=TREAT)||LA49_8==UNION||LA49_8==WHERE||LA49_8==COUNT||(LA49_8>=END && LA49_8<=GROUP)||LA49_8==ONLY||LA49_8==START||(LA49_8>=AFTER && LA49_8<=BEFORE)||LA49_8==INTO||LA49_8==MODIFY||LA49_8==WITH||(LA49_8>=LPAREN && LA49_8<=RPAREN)||(LA49_8>=RBRACKET && LA49_8<=EQUAL)||LA49_8==NOTEQUAL||LA49_8==COMMA||(LA49_8>=STAR && LA49_8<=SLASH_SLASH)||LA49_8==COLON||(LA49_8>=SEMICOLON && LA49_8<=VBAR)||LA49_8==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_8); + if ( s>=0 ) return s; + break; + case 1 : + var LA49_11 = input.LA(1); + + + var index49_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_11==NODE||LA49_11==NODES) && ((true))) {s = 26;} + + else if ( (LA49_11==EOF||(LA49_11>=AND && LA49_11<=ASCENDING)||(LA49_11>=CASE && LA49_11<=CASTABLE)||LA49_11==COLLATION||LA49_11==DEFAULT||(LA49_11>=DESCENDING && LA49_11<=DIV)||(LA49_11>=ELSE && LA49_11<=EMPTY)||LA49_11==EQ||LA49_11==EXCEPT||LA49_11==FOR||LA49_11==GE||(LA49_11>=GT && LA49_11<=IDIV)||(LA49_11>=INSTANCE && LA49_11<=IS)||LA49_11==LE||(LA49_11>=LT && LA49_11<=MOD)||LA49_11==NE||(LA49_11>=OR && LA49_11<=ORDER)||(LA49_11>=RETURN && LA49_11<=SATISFIES)||LA49_11==STABLE||(LA49_11>=TO && LA49_11<=TREAT)||LA49_11==UNION||LA49_11==WHERE||LA49_11==COUNT||(LA49_11>=END && LA49_11<=GROUP)||LA49_11==ONLY||LA49_11==START||(LA49_11>=AFTER && LA49_11<=BEFORE)||LA49_11==INTO||LA49_11==MODIFY||LA49_11==WITH||(LA49_11>=LPAREN && LA49_11<=RPAREN)||(LA49_11>=RBRACKET && LA49_11<=EQUAL)||LA49_11==NOTEQUAL||LA49_11==COMMA||(LA49_11>=STAR && LA49_11<=SLASH_SLASH)||LA49_11==COLON||(LA49_11>=SEMICOLON && LA49_11<=VBAR)||LA49_11==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_11); + if ( s>=0 ) return s; + break; + case 2 : + var LA49_14 = input.LA(1); + + + var index49_14 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_14==DOLLAR) && ((true))) {s = 29;} + + else if ( (LA49_14==EOF||(LA49_14>=AND && LA49_14<=ASCENDING)||(LA49_14>=CASE && LA49_14<=CASTABLE)||LA49_14==COLLATION||LA49_14==DEFAULT||(LA49_14>=DESCENDING && LA49_14<=DIV)||(LA49_14>=ELSE && LA49_14<=EMPTY)||LA49_14==EQ||LA49_14==EXCEPT||LA49_14==FOR||LA49_14==GE||(LA49_14>=GT && LA49_14<=IDIV)||(LA49_14>=INSTANCE && LA49_14<=IS)||LA49_14==LE||(LA49_14>=LT && LA49_14<=MOD)||LA49_14==NE||(LA49_14>=OR && LA49_14<=ORDER)||(LA49_14>=RETURN && LA49_14<=SATISFIES)||LA49_14==STABLE||(LA49_14>=TO && LA49_14<=TREAT)||LA49_14==UNION||LA49_14==WHERE||LA49_14==COUNT||(LA49_14>=END && LA49_14<=GROUP)||LA49_14==ONLY||LA49_14==START||(LA49_14>=AFTER && LA49_14<=BEFORE)||LA49_14==INTO||LA49_14==MODIFY||LA49_14==WITH||(LA49_14>=LPAREN && LA49_14<=RPAREN)||(LA49_14>=RBRACKET && LA49_14<=EQUAL)||LA49_14==NOTEQUAL||LA49_14==COMMA||(LA49_14>=STAR && LA49_14<=SLASH_SLASH)||LA49_14==COLON||(LA49_14>=SEMICOLON && LA49_14<=VBAR)||LA49_14==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_14); + if ( s>=0 ) return s; + break; + case 3 : + var LA49_9 = input.LA(1); + + + var index49_9 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_9==LBRACKET) && ((true))) {s = 24;} + + else if ( (LA49_9==EOF||(LA49_9>=AND && LA49_9<=ASCENDING)||(LA49_9>=CASE && LA49_9<=CASTABLE)||LA49_9==COLLATION||LA49_9==DEFAULT||(LA49_9>=DESCENDING && LA49_9<=DIV)||(LA49_9>=ELSE && LA49_9<=EMPTY)||LA49_9==EQ||LA49_9==EXCEPT||LA49_9==FOR||LA49_9==GE||(LA49_9>=GT && LA49_9<=IDIV)||(LA49_9>=INSTANCE && LA49_9<=IS)||LA49_9==LE||(LA49_9>=LT && LA49_9<=MOD)||LA49_9==NE||(LA49_9>=OR && LA49_9<=ORDER)||(LA49_9>=RETURN && LA49_9<=SATISFIES)||LA49_9==STABLE||(LA49_9>=TO && LA49_9<=TREAT)||LA49_9==UNION||LA49_9==WHERE||LA49_9==COUNT||(LA49_9>=END && LA49_9<=GROUP)||LA49_9==ONLY||LA49_9==START||(LA49_9>=AFTER && LA49_9<=BEFORE)||LA49_9==INTO||LA49_9==MODIFY||LA49_9==WITH||(LA49_9>=LPAREN && LA49_9<=RPAREN)||(LA49_9>=RBRACKET && LA49_9<=EQUAL)||LA49_9==NOTEQUAL||LA49_9==COMMA||(LA49_9>=STAR && LA49_9<=SLASH_SLASH)||LA49_9==COLON||(LA49_9>=SEMICOLON && LA49_9<=VBAR)||LA49_9==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_9); + if ( s>=0 ) return s; + break; + case 4 : + var LA49_16 = input.LA(1); + + + var index49_16 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_16==DOLLAR) && ((true))) {s = 31;} + + else if ( (LA49_16==EOF||(LA49_16>=AND && LA49_16<=ASCENDING)||(LA49_16>=CASE && LA49_16<=CASTABLE)||LA49_16==COLLATION||LA49_16==DEFAULT||(LA49_16>=DESCENDING && LA49_16<=DIV)||(LA49_16>=ELSE && LA49_16<=EMPTY)||LA49_16==EQ||LA49_16==EXCEPT||LA49_16==FOR||LA49_16==GE||(LA49_16>=GT && LA49_16<=IDIV)||(LA49_16>=INSTANCE && LA49_16<=IS)||LA49_16==LE||(LA49_16>=LT && LA49_16<=MOD)||LA49_16==NE||(LA49_16>=OR && LA49_16<=ORDER)||(LA49_16>=RETURN && LA49_16<=SATISFIES)||LA49_16==STABLE||(LA49_16>=TO && LA49_16<=TREAT)||LA49_16==UNION||LA49_16==WHERE||LA49_16==COUNT||(LA49_16>=END && LA49_16<=GROUP)||LA49_16==ONLY||LA49_16==START||(LA49_16>=AFTER && LA49_16<=BEFORE)||LA49_16==INTO||LA49_16==MODIFY||LA49_16==WITH||(LA49_16>=LPAREN && LA49_16<=RPAREN)||(LA49_16>=RBRACKET && LA49_16<=EQUAL)||LA49_16==NOTEQUAL||LA49_16==COMMA||(LA49_16>=STAR && LA49_16<=SLASH_SLASH)||LA49_16==COLON||(LA49_16>=SEMICOLON && LA49_16<=VBAR)||LA49_16==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_16); + if ( s>=0 ) return s; + break; + case 5 : + var LA49_15 = input.LA(1); + + + var index49_15 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_15==LBRACKET) && ((true))) {s = 30;} + + else if ( (LA49_15==EOF||(LA49_15>=AND && LA49_15<=ASCENDING)||(LA49_15>=CASE && LA49_15<=CASTABLE)||LA49_15==COLLATION||LA49_15==DEFAULT||(LA49_15>=DESCENDING && LA49_15<=DIV)||(LA49_15>=ELSE && LA49_15<=EMPTY)||LA49_15==EQ||LA49_15==EXCEPT||LA49_15==FOR||LA49_15==GE||(LA49_15>=GT && LA49_15<=IDIV)||(LA49_15>=INSTANCE && LA49_15<=IS)||LA49_15==LE||(LA49_15>=LT && LA49_15<=MOD)||LA49_15==NE||(LA49_15>=OR && LA49_15<=ORDER)||(LA49_15>=RETURN && LA49_15<=SATISFIES)||LA49_15==STABLE||(LA49_15>=TO && LA49_15<=TREAT)||LA49_15==UNION||LA49_15==WHERE||LA49_15==COUNT||(LA49_15>=END && LA49_15<=GROUP)||LA49_15==ONLY||LA49_15==START||(LA49_15>=AFTER && LA49_15<=BEFORE)||LA49_15==INTO||LA49_15==MODIFY||LA49_15==WITH||(LA49_15>=LPAREN && LA49_15<=RPAREN)||(LA49_15>=RBRACKET && LA49_15<=EQUAL)||LA49_15==NOTEQUAL||LA49_15==COMMA||(LA49_15>=STAR && LA49_15<=SLASH_SLASH)||LA49_15==COLON||(LA49_15>=SEMICOLON && LA49_15<=VBAR)||LA49_15==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_15); + if ( s>=0 ) return s; + break; + case 6 : + var LA49_17 = input.LA(1); + + + var index49_17 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_17==RETURNING) && ((true))) {s = 32;} + + else if ( (LA49_17==EOF||(LA49_17>=AND && LA49_17<=ASCENDING)||(LA49_17>=CASE && LA49_17<=CASTABLE)||LA49_17==COLLATION||LA49_17==DEFAULT||(LA49_17>=DESCENDING && LA49_17<=DIV)||(LA49_17>=ELSE && LA49_17<=EMPTY)||LA49_17==EQ||LA49_17==EXCEPT||LA49_17==FOR||LA49_17==GE||(LA49_17>=GT && LA49_17<=IDIV)||(LA49_17>=INSTANCE && LA49_17<=IS)||LA49_17==LE||(LA49_17>=LT && LA49_17<=MOD)||LA49_17==NE||(LA49_17>=OR && LA49_17<=ORDER)||(LA49_17>=RETURN && LA49_17<=SATISFIES)||LA49_17==STABLE||(LA49_17>=TO && LA49_17<=TREAT)||LA49_17==UNION||LA49_17==WHERE||LA49_17==COUNT||(LA49_17>=END && LA49_17<=GROUP)||LA49_17==ONLY||LA49_17==START||(LA49_17>=AFTER && LA49_17<=BEFORE)||LA49_17==INTO||LA49_17==MODIFY||LA49_17==WITH||(LA49_17>=LPAREN && LA49_17<=RPAREN)||(LA49_17>=RBRACKET && LA49_17<=EQUAL)||LA49_17==NOTEQUAL||LA49_17==COMMA||(LA49_17>=STAR && LA49_17<=SLASH_SLASH)||LA49_17==COLON||(LA49_17>=SEMICOLON && LA49_17<=VBAR)||LA49_17==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_17); + if ( s>=0 ) return s; + break; + case 7 : + var LA49_12 = input.LA(1); + + + var index49_12 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_12==NODE) && ((true))) {s = 27;} + + else if ( (LA49_12==EOF||(LA49_12>=AND && LA49_12<=ASCENDING)||(LA49_12>=CASE && LA49_12<=CASTABLE)||LA49_12==COLLATION||LA49_12==DEFAULT||(LA49_12>=DESCENDING && LA49_12<=DIV)||(LA49_12>=ELSE && LA49_12<=EMPTY)||LA49_12==EQ||LA49_12==EXCEPT||LA49_12==FOR||LA49_12==GE||(LA49_12>=GT && LA49_12<=IDIV)||(LA49_12>=INSTANCE && LA49_12<=IS)||LA49_12==LE||(LA49_12>=LT && LA49_12<=MOD)||LA49_12==NE||(LA49_12>=OR && LA49_12<=ORDER)||(LA49_12>=RETURN && LA49_12<=SATISFIES)||LA49_12==STABLE||(LA49_12>=TO && LA49_12<=TREAT)||LA49_12==UNION||LA49_12==WHERE||LA49_12==COUNT||(LA49_12>=END && LA49_12<=GROUP)||LA49_12==ONLY||LA49_12==START||(LA49_12>=AFTER && LA49_12<=BEFORE)||LA49_12==INTO||LA49_12==MODIFY||LA49_12==WITH||(LA49_12>=LPAREN && LA49_12<=RPAREN)||(LA49_12>=RBRACKET && LA49_12<=EQUAL)||LA49_12==NOTEQUAL||LA49_12==COMMA||(LA49_12>=STAR && LA49_12<=SLASH_SLASH)||LA49_12==COLON||(LA49_12>=SEMICOLON && LA49_12<=VBAR)||LA49_12==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_12); + if ( s>=0 ) return s; + break; + case 8 : + var LA49_18 = input.LA(1); + + + var index49_18 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_18==LPAREN) && ((true))) {s = 33;} + + else if ( (LA49_18==EOF||(LA49_18>=AND && LA49_18<=ASCENDING)||(LA49_18>=CASE && LA49_18<=CASTABLE)||LA49_18==COLLATION||LA49_18==DEFAULT||(LA49_18>=DESCENDING && LA49_18<=DIV)||(LA49_18>=ELSE && LA49_18<=EMPTY)||LA49_18==EQ||LA49_18==EXCEPT||LA49_18==FOR||LA49_18==GE||(LA49_18>=GT && LA49_18<=IDIV)||(LA49_18>=INSTANCE && LA49_18<=IS)||LA49_18==LE||(LA49_18>=LT && LA49_18<=MOD)||LA49_18==NE||(LA49_18>=OR && LA49_18<=ORDER)||(LA49_18>=RETURN && LA49_18<=SATISFIES)||LA49_18==STABLE||(LA49_18>=TO && LA49_18<=TREAT)||LA49_18==UNION||LA49_18==WHERE||LA49_18==COUNT||(LA49_18>=END && LA49_18<=GROUP)||LA49_18==ONLY||LA49_18==START||(LA49_18>=AFTER && LA49_18<=BEFORE)||LA49_18==INTO||LA49_18==MODIFY||LA49_18==WITH||LA49_18==RPAREN||(LA49_18>=RBRACKET && LA49_18<=EQUAL)||LA49_18==NOTEQUAL||LA49_18==COMMA||(LA49_18>=STAR && LA49_18<=SLASH_SLASH)||LA49_18==COLON||(LA49_18>=SEMICOLON && LA49_18<=VBAR)||LA49_18==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_18); + if ( s>=0 ) return s; + break; + case 9 : + var LA49_13 = input.LA(1); + + + var index49_13 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_13==NODE||LA49_13==VALUE) && ((true))) {s = 28;} + + else if ( (LA49_13==EOF||(LA49_13>=AND && LA49_13<=ASCENDING)||(LA49_13>=CASE && LA49_13<=CASTABLE)||LA49_13==COLLATION||LA49_13==DEFAULT||(LA49_13>=DESCENDING && LA49_13<=DIV)||(LA49_13>=ELSE && LA49_13<=EMPTY)||LA49_13==EQ||LA49_13==EXCEPT||LA49_13==FOR||LA49_13==GE||(LA49_13>=GT && LA49_13<=IDIV)||(LA49_13>=INSTANCE && LA49_13<=IS)||LA49_13==LE||(LA49_13>=LT && LA49_13<=MOD)||LA49_13==NE||(LA49_13>=OR && LA49_13<=ORDER)||(LA49_13>=RETURN && LA49_13<=SATISFIES)||LA49_13==STABLE||(LA49_13>=TO && LA49_13<=TREAT)||LA49_13==UNION||LA49_13==WHERE||LA49_13==COUNT||(LA49_13>=END && LA49_13<=GROUP)||LA49_13==ONLY||LA49_13==START||(LA49_13>=AFTER && LA49_13<=BEFORE)||LA49_13==INTO||LA49_13==MODIFY||LA49_13==WITH||(LA49_13>=LPAREN && LA49_13<=RPAREN)||(LA49_13>=RBRACKET && LA49_13<=EQUAL)||LA49_13==NOTEQUAL||LA49_13==COMMA||(LA49_13>=STAR && LA49_13<=SLASH_SLASH)||LA49_13==COLON||(LA49_13>=SEMICOLON && LA49_13<=VBAR)||LA49_13==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_13); + if ( s>=0 ) return s; + break; + case 10 : + var LA49_10 = input.LA(1); + + + var index49_10 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_10==NODE||LA49_10==NODES) && ((true))) {s = 25;} + + else if ( (LA49_10==EOF||(LA49_10>=AND && LA49_10<=ASCENDING)||(LA49_10>=CASE && LA49_10<=CASTABLE)||LA49_10==COLLATION||LA49_10==DEFAULT||(LA49_10>=DESCENDING && LA49_10<=DIV)||(LA49_10>=ELSE && LA49_10<=EMPTY)||LA49_10==EQ||LA49_10==EXCEPT||LA49_10==FOR||LA49_10==GE||(LA49_10>=GT && LA49_10<=IDIV)||(LA49_10>=INSTANCE && LA49_10<=IS)||LA49_10==LE||(LA49_10>=LT && LA49_10<=MOD)||LA49_10==NE||(LA49_10>=OR && LA49_10<=ORDER)||(LA49_10>=RETURN && LA49_10<=SATISFIES)||LA49_10==STABLE||(LA49_10>=TO && LA49_10<=TREAT)||LA49_10==UNION||LA49_10==WHERE||LA49_10==COUNT||(LA49_10>=END && LA49_10<=GROUP)||LA49_10==ONLY||LA49_10==START||(LA49_10>=AFTER && LA49_10<=BEFORE)||LA49_10==INTO||LA49_10==MODIFY||LA49_10==WITH||(LA49_10>=LPAREN && LA49_10<=RPAREN)||(LA49_10>=RBRACKET && LA49_10<=EQUAL)||LA49_10==NOTEQUAL||LA49_10==COMMA||(LA49_10>=STAR && LA49_10<=SLASH_SLASH)||LA49_10==COLON||(LA49_10>=SEMICOLON && LA49_10<=VBAR)||LA49_10==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_10); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 49, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA103_eotS: + "\u002d\uffff", + DFA103_eofS: + "\u002d\uffff", + DFA103_minS: + "\u0001\u0010\u002c\uffff", + DFA103_maxS: + "\u0001\u0137\u002c\uffff", + DFA103_acceptS: + "\u0001\uffff\u0001\u0001\u0001\u0002\u0029\uffff\u0001\u0003", + DFA103_specialS: + "\u002d\uffff}>", + DFA103_transitionS: [ + "\u005b\u0002\u0001\u0001\u0033\u0002\u0001\uffff\u0014\u0002"+ + "\u0001\uffff\u000d\u0002\u0001\uffff\u0001\u0002\u000a\uffff"+ + "\u0001\u0002\u0002\uffff\u0001\u0002\u0005\uffff\u0004\u0002"+ + "\u000c\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0006\uffff\u0001\u002c\u0005\u0002\u003c\uffff"+ + "\u0001\u0002", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA103_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_eotS), + DFA103_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_eofS), + DFA103_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA103_minS), + DFA103_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA103_maxS), + DFA103_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_acceptS), + DFA103_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_specialS), + DFA103_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA103_transitionS.length; + for (i=0; i", + DFA110_transitionS: [ + "\u008f\u0003\u0001\uffff\u0014\u0003\u0001\uffff\u000d\u0003"+ + "\u0001\uffff\u0001\u0003\u000a\uffff\u0001\u0003\u0002\uffff"+ + "\u0001\u0003\u0005\uffff\u0001\u0001\u0001\u0002\u0002\u0003"+ + "\u000c\uffff\u0001\u0003\u0002\uffff\u0002\u0003\u0002\uffff"+ + "\u0001\u0003\u0007\uffff\u0005\u0003\u003c\uffff\u0001\u0003", + "\u0001\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA110_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_eotS), + DFA110_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_eofS), + DFA110_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA110_minS), + DFA110_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA110_maxS), + DFA110_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_acceptS), + DFA110_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_specialS), + DFA110_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA110_transitionS.length; + for (i=0; i ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA110_1 = input.LA(1); + + + var index110_1 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred1_XQueryParser()) ) {s = 43;} + + else if ( (true) ) {s = 44;} + + + input.seek(index110_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 110, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA112_eotS: + "\u00d1\uffff", + DFA112_eofS: + "\u0001\uffff\u0005\u0006\u0001\uffff\u000c\u0006\u0001\uffff\u0005"+ + "\u0006\u00b7\uffff\u0001\u0006", + DFA112_minS: + "\u0001\u0010\u0005\u0012\u0001\uffff\u0002\u0012\u0001\u0010\u0004"+ + "\u0012\u0002\u0010\u0003\u0012\u0001\uffff\u0002\u0012\u0001\u0010\u0002"+ + "\u0012\u0001\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0002\uffff\u0001\u0012", + DFA112_maxS: + "\u0001\u0137\u0005\u0136\u0001\uffff\u0002\u0136\u0001\u0137\u0004"+ + "\u0136\u0002\u0137\u0003\u0136\u0001\uffff\u0002\u0136\u0001\u0137\u0002"+ + "\u0136\u0001\u0137\u0004\u00db\u0010\u0137\u0001\u00db\u0001\u0137\u0004"+ + "\u00db\u0001\u0137\u0003\u00db\u0002\u0136\u0001\u00db\u0001\u00eb\u0001"+ + "\u0137\u0001\u00db\u0009\u0137\u0004\u00db\u0010\u0137\u0001\u00db\u0001"+ + "\u0137\u0004\u00db\u0001\u0137\u0003\u00db\u0002\u0136\u0001\u00db\u0001"+ + "\u00eb\u0001\u0137\u0001\u00db\u0009\u0137\u0004\u00c4\u0010\u0137\u0001"+ + "\u00c4\u0001\u0137\u0004\u00c4\u0001\u0137\u0003\u00c4\u0002\u0136\u0001"+ + "\u00c4\u0001\u00eb\u0001\u0137\u0001\u00c4\u0009\u0137\u0004\u00c4\u0010"+ + "\u0137\u0001\u00c4\u0001\u0137\u0004\u00c4\u0001\u0137\u0003\u00c4\u0002"+ + "\u0136\u0001\u00c4\u0001\u00eb\u0001\u0137\u0001\u00c4\u0009\u0137\u0002"+ + "\uffff\u0001\u0136", + DFA112_acceptS: + "\u0006\uffff\u0001\u0001\u000c\uffff\u0001\u0002\u00ba\uffff\u0002"+ + "\u0002\u0001\uffff", + DFA112_specialS: + "\u0017\uffff\u0001\u0000\u00b9\uffff}>", + DFA112_transitionS: [ + "\u0001\u0002\u0001\u0005\u0004\u0018\u0001\u0009\u0006\u0018"+ + "\u0001\u0007\u0001\u0018\u0001\u0010\u0004\u0018\u0001\u0008"+ + "\u0001\u000b\u0002\u0018\u0001\u0015\u0001\u0006\u0001\u000e"+ + "\u0002\u0018\u0001\u0006\u0005\u0018\u0001\u000d\u0001\u000c"+ + "\u0006\u0018\u0001\u0006\u0006\u0018\u0001\u0006\u0007\u0018"+ + "\u0001\u0016\u0003\u0018\u0001\u0006\u0004\u0018\u0001\u0012"+ + "\u0001\u0018\u0001\u0001\u0001\u0004\u0001\u0003\u0001\u0018"+ + "\u0001\u000f\u0003\u0018\u0002\u0006\u0001\u000a\u0004\u0018"+ + "\u0001\u0011\u0003\u0018\u0001\u0006\u0001\u0018\u0001\u0014"+ + "\u0010\u0018\u0001\u0006\u0023\u0018\u0001\uffff\u0003\u0018"+ + "\u0001\u0006\u0010\u0018\u0001\uffff\u0007\u0018\u0001\u0017"+ + "\u0004\u0018\u0001\u0013\u0001\uffff\u0001\u0013\u000a\uffff"+ + "\u0001\u0006\u0002\uffff\u0001\u0013\u0007\uffff\u0001\u0013"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0002\uffff\u0002\u0013"+ + "\u0002\uffff\u0001\u0018\u0007\uffff\u0005\u0013\u003c\uffff"+ + "\u0001\u0018", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u002c\u0001\u0041\u0001\u0038\u0004\u0013"+ + "\u0001\u0046\u0001\u003e\u0001\u001a\u0001\u001b\u0001\u0013"+ + "\u0001\u003b\u0004\u0013\u0001\u003d\u0002\u0013\u0001\u0039"+ + "\u0001\u0021\u0003\u0013\u0001\u003f\u0001\u003a\u0002\u0013"+ + "\u0001\u0025\u0001\u0013\u0001\u001f\u0003\u0013\u0001\u002e"+ + "\u0001\u0013\u0001\u002a\u0001\u0013\u0001\u0029\u0001\u0022"+ + "\u0004\u0013\u0001\u001d\u0001\u001e\u0001\u002b\u0002\u0013"+ + "\u0001\u0028\u0002\u0013\u0001\u0027\u0001\u0023\u0002\u0013"+ + "\u0001\u0026\u0005\u0013\u0001\u002d\u0001\u0031\u0007\u0013"+ + "\u0001\u0034\u0001\u003c\u0005\u0013\u0001\u0032\u0004\u0013"+ + "\u0001\u0024\u0001\u001c\u0001\u0013\u0001\u0020\u0004\u0013"+ + "\u0001\u002f\u0003\u0013\u0001\u0033\u0003\u0013\u0001\u0037"+ + "\u0001\u0030\u0006\u0013\u0001\u0036\u0006\u0013\u0001\u0035"+ + "\u0005\u0013\u0001\u0043\u0001\u0044\u0004\u0013\u0001\u0042"+ + "\u0001\u0013\u0001\u0045\u0007\u0013\u0001\u0040\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u0059\u0001\u006e\u0001\u0065\u0004\u0013"+ + "\u0001\u0073\u0001\u006b\u0001\u0047\u0001\u0048\u0001\u0013"+ + "\u0001\u0068\u0004\u0013\u0001\u006a\u0002\u0013\u0001\u0066"+ + "\u0001\u004e\u0003\u0013\u0001\u006c\u0001\u0067\u0002\u0013"+ + "\u0001\u0052\u0001\u0013\u0001\u004c\u0003\u0013\u0001\u005b"+ + "\u0001\u0013\u0001\u0057\u0001\u0013\u0001\u0056\u0001\u004f"+ + "\u0004\u0013\u0001\u004a\u0001\u004b\u0001\u0058\u0002\u0013"+ + "\u0001\u0055\u0002\u0013\u0001\u0054\u0001\u0050\u0002\u0013"+ + "\u0001\u0053\u0005\u0013\u0001\u005a\u0001\u005e\u0007\u0013"+ + "\u0001\u0061\u0001\u0069\u0005\u0013\u0001\u005f\u0004\u0013"+ + "\u0001\u0051\u0001\u0049\u0001\u0013\u0001\u004d\u0004\u0013"+ + "\u0001\u005c\u0003\u0013\u0001\u0060\u0003\u0013\u0001\u0064"+ + "\u0001\u005d\u0006\u0013\u0001\u0063\u0006\u0013\u0001\u0062"+ + "\u0005\u0013\u0001\u0070\u0001\u0071\u0004\u0013\u0001\u006f"+ + "\u0001\u0013\u0001\u0072\u0007\u0013\u0001\u006d\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0006\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0002\u0013\u0001\u0086\u0001\u009b\u0001\u0092\u0004\u0013"+ + "\u0001\u00a0\u0001\u0098\u0001\u0074\u0001\u0075\u0001\u0013"+ + "\u0001\u0095\u0004\u0013\u0001\u0097\u0002\u0013\u0001\u0093"+ + "\u0001\u007b\u0003\u0013\u0001\u0099\u0001\u0094\u0002\u0013"+ + "\u0001\u007f\u0001\u0013\u0001\u0079\u0003\u0013\u0001\u0088"+ + "\u0001\u0013\u0001\u0084\u0001\u0013\u0001\u0083\u0001\u007c"+ + "\u0004\u0013\u0001\u0077\u0001\u0078\u0001\u0085\u0002\u0013"+ + "\u0001\u0082\u0002\u0013\u0001\u0081\u0001\u007d\u0002\u0013"+ + "\u0001\u0080\u0005\u0013\u0001\u0087\u0001\u008b\u0007\u0013"+ + "\u0001\u008e\u0001\u0096\u0005\u0013\u0001\u008c\u0004\u0013"+ + "\u0001\u007e\u0001\u0076\u0001\u0013\u0001\u007a\u0004\u0013"+ + "\u0001\u0089\u0003\u0013\u0001\u008d\u0003\u0013\u0001\u0091"+ + "\u0001\u008a\u0006\u0013\u0001\u0090\u0006\u0013\u0001\u008f"+ + "\u0005\u0013\u0001\u009d\u0001\u009e\u0004\u0013\u0001\u009c"+ + "\u0001\u0013\u0001\u009f\u0007\u0013\u0001\u009a\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0006\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0002\u0006\u0001\uffff"+ + "\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0006"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0002\u0006\u0001\uffff"+ + "\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0006"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u00b3\u0001\u00c8\u0001\u00bf\u0004\u0013"+ + "\u0001\u00cd\u0001\u00c5\u0001\u00a1\u0001\u00a2\u0001\u0013"+ + "\u0001\u00c2\u0004\u0013\u0001\u00c4\u0002\u0013\u0001\u00c0"+ + "\u0001\u00a8\u0003\u0013\u0001\u00c6\u0001\u00c1\u0002\u0013"+ + "\u0001\u00ac\u0001\u0013\u0001\u00a6\u0003\u0013\u0001\u00b5"+ + "\u0001\u0013\u0001\u00b1\u0001\u0013\u0001\u00b0\u0001\u00a9"+ + "\u0004\u0013\u0001\u00a4\u0001\u00a5\u0001\u00b2\u0002\u0013"+ + "\u0001\u00af\u0002\u0013\u0001\u00ae\u0001\u00aa\u0002\u0013"+ + "\u0001\u00ad\u0005\u0013\u0001\u00b4\u0001\u00b8\u0007\u0013"+ + "\u0001\u00bb\u0001\u00c3\u0005\u0013\u0001\u00b9\u0004\u0013"+ + "\u0001\u00ab\u0001\u00a3\u0001\u0013\u0001\u00a7\u0004\u0013"+ + "\u0001\u00b6\u0003\u0013\u0001\u00ba\u0003\u0013\u0001\u00be"+ + "\u0001\u00b7\u0006\u0013\u0001\u00bd\u0006\u0013\u0001\u00bc"+ + "\u0005\u0013\u0001\u00ca\u0001\u00cb\u0004\u0013\u0001\u00c9"+ + "\u0001\u0013\u0001\u00cc\u0007\u0013\u0001\u00c7\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000d\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0001\uffff\u0001\u00ce\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u008f\u00d0\u0001\uffff\u0014\u00d0\u0001\uffff\u000c\u00d0"+ + "\u000d\uffff\u0001\u0006\u001f\uffff\u0001\u00d0\u0048\uffff"+ + "\u0001\u00d0", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u00cf\u0016\uffff\u0001\u00cf\u000e\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf\u0016\uffff"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf"+ + "\u0012\uffff\u0001\u0006\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u0001\u00cf"+ + "\u000b\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff"+ + "\u0001\u0006\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u00cf\u0016\uffff\u0001\u00cf\u000e\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf\u0016\uffff"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf"+ + "\u0012\uffff\u0001\u0006\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u0001\u00cf"+ + "\u000b\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff"+ + "\u0001\u0006\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf", + "\u0001\u00cf\u0025\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0029\uffff\u0001\u0006"+ + "\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u000c\uffff"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006"+ + "\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf", + "\u0001\u00cf\u0025\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0029\uffff\u0001\u0006"+ + "\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u000c\uffff"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006"+ + "\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0006\uffff\u0002\u0006"+ + "\u0055\uffff\u0001\u0006" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA112_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_eotS), + DFA112_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_eofS), + DFA112_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA112_minS), + DFA112_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA112_maxS), + DFA112_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_acceptS), + DFA112_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_specialS), + DFA112_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA112_transitionS.length; + for (i=0; i=AND && LA112_23<=ASCENDING)||(LA112_23>=BY && LA112_23<=CASTABLE)||LA112_23==COLLATION||LA112_23==DEFAULT||(LA112_23>=DESCENDING && LA112_23<=DIV)||(LA112_23>=ELSE && LA112_23<=EMPTY)||LA112_23==EQ||LA112_23==EXCEPT||LA112_23==FOR||LA112_23==GE||(LA112_23>=GT && LA112_23<=IDIV)||(LA112_23>=INSTANCE && LA112_23<=IS)||LA112_23==LE||(LA112_23>=LT && LA112_23<=MOD)||LA112_23==NE||(LA112_23>=OR && LA112_23<=ORDER)||(LA112_23>=RETURN && LA112_23<=SATISFIES)||LA112_23==STABLE||(LA112_23>=TO && LA112_23<=TREAT)||LA112_23==UNION||LA112_23==WHERE||LA112_23==COUNT||(LA112_23>=END && LA112_23<=GROUP)||LA112_23==ONLY||LA112_23==START||(LA112_23>=AFTER && LA112_23<=BEFORE)||LA112_23==INTO||LA112_23==MODIFY||LA112_23==WITH||LA112_23==RPAREN||(LA112_23>=RBRACKET && LA112_23<=EQUAL)||LA112_23==NOTEQUAL||LA112_23==COMMA||(LA112_23>=STAR && LA112_23<=SLASH_SLASH)||(LA112_23>=SEMICOLON && LA112_23<=VBAR)||LA112_23==LETDOLLAR) ) {s = 6;} + + else if ( (LA112_23==LPAREN) ) {s = 207;} + + + input.seek(index112_23); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 112, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA114_eotS: + "\u000a\uffff", + DFA114_eofS: + "\u0001\uffff\u0007\u0008\u0002\uffff", + DFA114_minS: + "\u0001\u0010\u0007\u0012\u0002\uffff", + DFA114_maxS: + "\u0001\u0137\u0007\u0136\u0002\uffff", + DFA114_acceptS: + "\u0008\uffff\u0001\u0002\u0001\u0001", + DFA114_specialS: + "\u000a\uffff}>", + DFA114_transitionS: [ + "\u0006\u0008\u0001\u0003\u0006\u0008\u0001\u0001\u0006\u0008"+ + "\u0001\u0002\u0001\u0005\u000d\u0008\u0001\u0007\u0001\u0006"+ + "\u002a\u0008\u0001\u0004\u003f\u0008\u0001\uffff\u0014\u0008"+ + "\u0001\uffff\u000c\u0008\u000d\uffff\u0001\u0008\u0018\uffff"+ + "\u0001\u0008\u0006\uffff\u0001\u0008\u0048\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0025\uffff\u0002\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA114_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_eotS), + DFA114_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_eofS), + DFA114_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA114_minS), + DFA114_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA114_maxS), + DFA114_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_acceptS), + DFA114_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_specialS), + DFA114_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA114_transitionS.length; + for (i=0; i", + DFA119_transitionS: [ + "\u0006\u000b\u0001\u0003\u0008\u000b\u0001\u0008\u0009\u000b"+ + "\u0001\u0001\u0001\u0002\u0023\u000b\u0001\u000a\u000a\u000b"+ + "\u0001\u0007\u0003\u000b\u0001\u0005\u0001\u0004\u0005\u000b"+ + "\u0001\u0009\u0016\u000b\u0001\u0006\u0023\u000b\u0001\uffff"+ + "\u0014\u000b\u0001\uffff\u000c\u000b\u000d\uffff\u0001\u000b"+ + "\u001f\uffff\u0001\u000b\u0048\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA119_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_eotS), + DFA119_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_eofS), + DFA119_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA119_minS), + DFA119_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA119_maxS), + DFA119_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_acceptS), + DFA119_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_specialS), + DFA119_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA119_transitionS.length; + for (i=0; i", + DFA124_transitionS: [ + "\u0006\u000b\u0001\u0008\u0008\u000b\u0001\u0008\u0008\u000b"+ + "\u0001\u0007\u0001\uffff\u0001\u0008\u0002\u000b\u0001\uffff"+ + "\u000d\u000b\u0001\uffff\u0006\u000b\u0001\uffff\u0007\u000b"+ + "\u0001\u0009\u0003\u000b\u0001\uffff\u0004\u000b\u0001\u0005"+ + "\u0005\u000b\u0001\u0008\u0003\u000b\u0002\uffff\u0005\u000b"+ + "\u0001\u0008\u0003\u000b\u0001\uffff\u0001\u000b\u0001\u0006"+ + "\u0010\u000b\u0001\uffff\u0023\u000b\u0001\uffff\u0003\u000b"+ + "\u0001\uffff\u0010\u000b\u0001\uffff\u0007\u000b\u0001\u000a"+ + "\u0004\u000b\u0001\u0003\u0001\uffff\u0001\u0002\u000d\uffff"+ + "\u0001\u0008\u0007\uffff\u0001\u0004\u0010\uffff\u0002\u0001"+ + "\u0002\uffff\u0001\u000b\u0007\uffff\u0002\u0008\u0003\u0001"+ + "\u003c\uffff\u0001\u000b", + "", + "", + "", + "", + "\u0001\u000b\u0002\uffff\u0001\u000c\u0016\uffff\u0001\u000b", + "\u0001\u000b\u0002\uffff\u0001\u000d\u0016\uffff\u0001\u000b", + "\u0001\u000b\u0002\uffff\u0001\u0008\u0016\uffff\u0001\u000b", + "", + "\u008f\u0008\u0001\uffff\u0014\u0008\u0001\uffff\u000c\u0008"+ + "\u0001\u000b\u0002\uffff\u0001\u0008\u0016\uffff\u0001\u000b"+ + "\u0012\uffff\u0001\u0008\u0048\uffff\u0001\u0008", + "\u0001\u000b\u0002\uffff\u0001\u000e\u0016\uffff\u0001\u000b", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA124_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_eotS), + DFA124_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_eofS), + DFA124_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA124_minS), + DFA124_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA124_maxS), + DFA124_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_acceptS), + DFA124_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_specialS), + DFA124_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA124_transitionS.length; + for (i=0; i=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 124, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA154_eotS: + "\u003e\uffff", + DFA154_eofS: + "\u0001\u0002\u003d\uffff", + DFA154_minS: + "\u0001\u0012\u0001\u0000\u0005\uffff\u0001\u0000\u0036\uffff", + DFA154_maxS: + "\u0001\u0136\u0001\u0000\u0005\uffff\u0001\u0000\u0036\uffff", + DFA154_acceptS: + "\u0002\uffff\u0001\u0002\u0008\uffff\u0001\u0001\u0032\uffff", + DFA154_specialS: + "\u0001\u0000\u0001\u0001\u0005\uffff\u0001\u0002\u0036\uffff}>", + DFA154_transitionS: [ + "\u0004\u0002\u0004\uffff\u0001\u0002\u0003\uffff\u0001\u0002"+ + "\u0004\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0003\uffff"+ + "\u0002\u0002\u0002\uffff\u0001\u0002\u0001\uffff\u0002\u0002"+ + "\u0002\uffff\u0001\u0002\u0001\uffff\u0001\u0002\u0001\uffff"+ + "\u0002\u0002\u0002\uffff\u0001\u0002\u0001\uffff\u0003\u0002"+ + "\u0002\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0005\uffff\u0002\u0002\u0007\uffff\u0002\u0002"+ + "\u0005\uffff\u0001\u0002\u0004\uffff\u0001\u0002\u0002\uffff"+ + "\u0001\u0002\u0004\uffff\u0001\u0002\u0003\uffff\u0001\u0002"+ + "\u0003\uffff\u0002\u0002\u0006\uffff\u0001\u0002\u0006\uffff"+ + "\u0001\u0002\u0005\uffff\u0002\u0002\u0004\uffff\u0001\u0002"+ + "\u0001\uffff\u0001\u0002\u0007\uffff\u0001\u0002\u0026\uffff"+ + "\u0001\u0002\u0001\uffff\u0002\u0002\u0001\uffff\u0004\u0002"+ + "\u0001\uffff\u0001\u0002\u0001\u000b\u0001\u0001\u0001\u0007"+ + "\u0007\u0002\u0008\uffff\u0002\u0002\u0055\uffff\u0001\u0002", + "\u0001\uffff", + "", + "", + "", + "", + "", + "\u0001\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA154_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_eotS), + DFA154_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_eofS), + DFA154_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA154_minS), + DFA154_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA154_maxS), + DFA154_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_acceptS), + DFA154_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_specialS), + DFA154_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA154_transitionS.length; + for (i=0; ioi= p_OccurrenceIndicator )?"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA154_0 = input.LA(1); + + + var index154_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA154_0==STAR) ) {s = 1;} + + else if ( (LA154_0==EOF||(LA154_0>=AND && LA154_0<=AT)||LA154_0==CASE||LA154_0==COLLATION||LA154_0==DEFAULT||(LA154_0>=DESCENDING && LA154_0<=DIV)||(LA154_0>=ELSE && LA154_0<=EMPTY)||LA154_0==EQ||(LA154_0>=EXCEPT && LA154_0<=EXTERNAL)||LA154_0==FOR||LA154_0==GE||(LA154_0>=GT && LA154_0<=IDIV)||LA154_0==IN||(LA154_0>=INSTANCE && LA154_0<=IS)||LA154_0==LE||(LA154_0>=LT && LA154_0<=MOD)||LA154_0==NE||(LA154_0>=OR && LA154_0<=ORDER)||(LA154_0>=RETURN && LA154_0<=SATISFIES)||LA154_0==STABLE||LA154_0==TO||LA154_0==UNION||LA154_0==WHERE||LA154_0==COUNT||(LA154_0>=END && LA154_0<=GROUP)||LA154_0==ONLY||LA154_0==START||(LA154_0>=AFTER && LA154_0<=BEFORE)||LA154_0==INTO||LA154_0==MODIFY||LA154_0==WITH||LA154_0==RPAREN||(LA154_0>=LBRACKET && LA154_0<=RBRACKET)||(LA154_0>=RSQUARE && LA154_0<=NOTEQUAL)||LA154_0==COMMA||(LA154_0>=MINUS && LA154_0<=GREATER_GREATER)||(LA154_0>=SEMICOLON && LA154_0<=VBAR)||LA154_0==LETDOLLAR) ) {s = 2;} + + else if ( (LA154_0==PLUS) ) {s = 7;} + + else if ( (LA154_0==QUESTION) && (this.synpred2_XQueryParser())) {s = 11;} + + + input.seek(index154_0); + if ( s>=0 ) return s; + break; + case 1 : + var LA154_1 = input.LA(1); + + + var index154_1 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred2_XQueryParser()) ) {s = 11;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_1); + if ( s>=0 ) return s; + break; + case 2 : + var LA154_7 = input.LA(1); + + + var index154_7 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred2_XQueryParser()) ) {s = 11;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_7); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 154, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA156_eotS: + "\u0011\uffff", + DFA156_eofS: + "\u0001\uffff\u000c\u000d\u0004\uffff", + DFA156_minS: + "\u0001\u0010\u000c\u0012\u0004\uffff", + DFA156_maxS: + "\u0001\u0137\u000c\u0136\u0004\uffff", + DFA156_acceptS: + "\u000d\uffff\u0001\u0004\u0001\u0001\u0001\u0002\u0001\u0003", + DFA156_specialS: + "\u000b\uffff\u0001\u0000\u0005\uffff}>", + DFA156_transitionS: [ + "\u0006\u000d\u0001\u0003\u0008\u000d\u0001\u0008\u0009\u000d"+ + "\u0001\u0001\u0001\u0002\u0017\u000d\u0001\u000c\u000b\u000d"+ + "\u0001\u000a\u000a\u000d\u0001\u0007\u0003\u000d\u0001\u0005"+ + "\u0001\u0004\u0005\u000d\u0001\u0009\u0016\u000d\u0001\u0006"+ + "\u0023\u000d\u0001\uffff\u0014\u000d\u0001\uffff\u0007\u000d"+ + "\u0001\u000b\u0004\u000d\u002d\uffff\u0001\u000d\u0048\uffff"+ + "\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000f\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u0010\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA156_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_eotS), + DFA156_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_eofS), + DFA156_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA156_minS), + DFA156_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA156_maxS), + DFA156_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_acceptS), + DFA156_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_specialS), + DFA156_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA156_transitionS.length; + for (i=0; i ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA156_11 = input.LA(1); + + + var index156_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA156_11==LPAREN) && ((false))) {s = 15;} + + else if ( (LA156_11==EOF||(LA156_11>=AND && LA156_11<=AT)||LA156_11==CASE||LA156_11==COLLATION||LA156_11==DEFAULT||(LA156_11>=DESCENDING && LA156_11<=DIV)||(LA156_11>=ELSE && LA156_11<=EMPTY)||LA156_11==EQ||(LA156_11>=EXCEPT && LA156_11<=EXTERNAL)||LA156_11==FOR||LA156_11==GE||(LA156_11>=GT && LA156_11<=IDIV)||LA156_11==IN||(LA156_11>=INSTANCE && LA156_11<=IS)||LA156_11==LE||(LA156_11>=LT && LA156_11<=MOD)||LA156_11==NE||(LA156_11>=OR && LA156_11<=ORDER)||(LA156_11>=RETURN && LA156_11<=SATISFIES)||LA156_11==STABLE||LA156_11==TO||LA156_11==UNION||LA156_11==WHERE||LA156_11==COUNT||(LA156_11>=END && LA156_11<=GROUP)||LA156_11==ONLY||LA156_11==START||(LA156_11>=AFTER && LA156_11<=BEFORE)||LA156_11==INTO||LA156_11==MODIFY||LA156_11==WITH||LA156_11==RPAREN||(LA156_11>=LBRACKET && LA156_11<=RBRACKET)||(LA156_11>=RSQUARE && LA156_11<=NOTEQUAL)||(LA156_11>=COMMA && LA156_11<=GREATER_GREATER)||LA156_11==COLON||(LA156_11>=SEMICOLON && LA156_11<=VBAR)||LA156_11==LETDOLLAR) ) {s = 13;} + + + input.seek(index156_11); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 156, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + + +// public class variables +org.antlr.lang.augmentObject(XQueryParser, { + tokenNames: ["", "", "", "", "L_QuotAttrContentChar", "L_AposAttrContentChar", "L_ElementContentChar", "L_CDataSection", "L_PredefinedEntityRef", "L_CharRef", "ESCAPE_LBRACKET", "ESCAPE_RBRACKET", "ESCAPE_APOS", "ESCAPE_QUOT", "CDATA_START", "CDATA_END", "ANCESTOR", "ANCESTOR_OR_SELF", "AND", "AS", "ASCENDING", "AT", "ATTRIBUTE", "BASE_URI", "BOUNDARY_SPACE", "BY", "CASE", "CAST", "CASTABLE", "CHILD", "COLLATION", "COMMENT", "CONSTRUCTION", "COPY_NAMESPACES", "DECLARE", "DEFAULT", "DESCENDANT", "DESCENDANT_OR_SELF", "DESCENDING", "DIV", "DOCUMENT", "DOCUMENT_NODE", "ELEMENT", "ELSE", "EMPTY", "EMPTY_SEQUENCE", "ENCODING", "EQ", "EVERY", "EXCEPT", "EXTERNAL", "FOLLOWING", "FOLLOWING_SIBLING", "FOR", "FUNCTION", "GE", "GREATEST", "GT", "IDIV", "IF", "IMPORT", "IN", "INHERIT", "INSTANCE", "INTERSECT", "IS", "ITEM", "LAX", "LE", "LEAST", "LET", "LT", "MOD", "MODULE", "NAMESPACE", "NE", "NO_INHERIT", "NO_PRESERVE", "NODE", "OF", "OPTION", "OR", "ORDER", "ORDERED", "ORDERING", "PARENT", "PRECEDING", "PRECEDING_SIBLING", "PRESERVE", "PROCESSING_INSTRUCTION", "RETURN", "SATISFIES", "SCHEMA", "SCHEMA_ATTRIBUTE", "SCHEMA_ELEMENT", "SELF", "SOME", "STABLE", "STRICT", "STRIP", "TEXT", "THEN", "TO", "TREAT", "TYPESWITCH", "UNION", "UNORDERED", "VALIDATE", "VARIABLE", "VERSION", "WHERE", "XQUERY", "CATCH", "CONTEXT", "COUNT", "DECIMAL_FORMAT", "DECIMAL_SEPARATOR", "DIGIT", "END", "GROUP", "GROUPING_SEPARATOR", "INFINITY", "MINUS_SIGN", "NAMESPACE_NODE", "NAN", "NEXT", "ONLY", "OUTER", "PATTERN_SEPARATOR", "PERCENT", "PER_MILLE", "PREVIOUS", "SLIDING", "START", "TRY", "TUMBLING", "WHEN", "WINDOW", "ZERO_DIGIT", "AFTER", "BEFORE", "COPY", "DELETE", "FIRST", "INSERT", "INTO", "LAST", "MODIFY", "NODES", "RENAME", "REPLACE", "REVALIDATION", "SKIP", "UPDATING", "VALUE", "WITH", "BLOCK", "CONSTANT", "EXIT", "RETURNING", "SEQUENTIAL", "SET", "SIMPLE", "WHILE", "EVAL", "USING", "APPEND_ONLY", "AUTOMATICALLY", "CHECK", "COLLECTION", "CONSTRAINT", "CONST", "EQUALITY", "FOREACH", "FOREIGN", "FROM", "INDEX", "INTEGRITY", "KEY", "MAINTAINED", "MANUALLY", "MUTABLE", "NON", "ON", "QUEUE", "RANGE", "READ_ONLY", "UNIQUE", "BINARY", "PRIVATE", "AMP_ER", "APOS_ER", "QUOT_ER", "LPAREN", "RPAREN", "DOLLAR", "LBRACKET", "RBRACKET", "LSQUARE", "RSQUARE", "EQUAL", "BIND", "NOTEQUAL", "AMP", "COMMA", "QUESTION", "STAR", "PLUS", "MINUS", "SMALLER", "GREATER", "SMALLEREQ", "GREATEREQ", "SMALLER_SMALLER", "GREATER_GREATER", "SLASH", "SLASH_SLASH", "DOT", "DOT_DOT", "COLON", "COLON_COLON", "EMPTY_CLOSE_TAG", "CLOSE_TAG", "SEMICOLON", "VBAR", "PRAGMA_START", "PRAGMA_END", "XML_COMMENT_START", "XML_COMMENT_END", "PI_START", "PI_END", "ATTR_SIGN", "CHARREF_DEC", "CHARREF_HEX", "APOS", "QUOT", "NCNameStartChar", "NCNameChar", "L_NCName", "Letter", "HexLetter", "Digit", "Digits", "S", "SU", "L_Pragma", "L_DirCommentConstructor", "L_DirPIConstructor", "L_IntegerLiteral", "L_DecimalLiteral", "L_DoubleLiteral", "L_Comment", "L_AnyChar", "L_QuotStringLiteralChar", "L_AposStringLiteralChar", "LibraryModule", "MainModule", "VersionDecl", "VersionDeclEncoding", "VersionDeclVersion", "ModuleDecl", "Prolog", "DefaultNamespaceDecls", "DefaultNamespaceDecl", "Setters", "Setter", "NamespaceDecls", "NamespaceDecl", "Imports", "SchemaImport", "SchemaPrefix", "NamespaceName", "DefaultElementNamespace", "AtHints", "ModuleImport", "BaseURIDecl", "OrderedDecls", "VarDecl", "VarType", "VarValue", "VarDefaultValue", "VarConstantDecl", "VarVariableDecl", "FunctionDecl", "ParamList", "ReturnType", "OptionDecl", "TypeDeclaration", "Param", "EnclosedExpr", "QueryBody", "UnaryExpr", "DirElemConstructor", "DirAttributeList", "DirAttributeValue", "DirElemContent", "CommonContent", "SequenceType", "EmptySequenceTest", "KindTest", "ItemTest", "AtomicType", "StringLiteral", "ElementContentChar", "AttributeValueChar", "QName", "Block", "BlockDecls", "BlockVarDecl", "BinaryTest", "LETDOLLAR", "EXPLICITLY"], + FOLLOW_p_VersionDecl_in_p_Module523: new org.antlr.runtime.BitSet([0x00000000, 0x10000004,0x00000200, 0x00000000]), + FOLLOW_p_LibraryModule_in_p_Module558: new org.antlr.runtime.BitSet([0x00000000, 0x00000000]), + FOLLOW_p_MainModule_in_p_Module584: new org.antlr.runtime.BitSet([0x00000000, 0x00000000]), + FOLLOW_EOF_in_p_Module613: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_XQUERY_in_p_VersionDecl641: new org.antlr.runtime.BitSet([0x00000000, 0x00004000,0x00000000, 0x00002000]), + FOLLOW_ENCODING_in_p_VersionDecl647: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl651: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_VERSION_in_p_VersionDecl672: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl676: new org.antlr.runtime.BitSet([0x00000000, 0x00004000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_ENCODING_in_p_VersionDecl682: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl686: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_VersionDecl692: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Prolog_in_p_MainModule758: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_QueryBody_in_p_MainModule760: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ModuleDecl_in_p_LibraryModule816: new org.antlr.runtime.BitSet([0x00000000, 0x10000004,0x00000200, 0x00000000]), + FOLLOW_pm_Prolog_in_p_LibraryModule818: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MODULE_in_p_ModuleDecl874: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_p_ModuleDecl878: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_ModuleDecl880: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_ModuleDecl882: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_ModuleDecl884: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_ModuleDecl886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_DefaultNamespaceDecl_in_pm_Prolog945: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_p_Setter_in_pm_Prolog951: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_pm_NamespaceDecl_in_pm_Prolog957: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_p_Import_in_pm_Prolog963: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_pg_OrderedDecl_in_pm_Prolog970: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_VarDecl_in_pg_OrderedDecl1248: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_ContextItemDecl_in_pg_OrderedDecl1252: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_FunctionDecl_in_pg_OrderedDecl1256: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_OptionDecl_in_pg_OrderedDecl1260: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_CollectionDecl_in_pg_OrderedDecl1275: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_IndexDecl_in_pg_OrderedDecl1290: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_ICDecl_in_pg_OrderedDecl1305: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_BoundarySpaceDecl_in_p_Setter1334: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_DefaultCollationDecl_in_p_Setter1346: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_BaseURIDecl_in_p_Setter1358: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_ConstructionDecl_in_p_Setter1370: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_OrderingModeDecl_in_p_Setter1382: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_EmptyOrderDecl_in_p_Setter1394: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_RevalidationDecl_in_p_Setter1409: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_CopyNamespacesDecl_in_p_Setter1421: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_SchemaImport_in_p_Import1447: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_ModuleImport_in_p_Import1451: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_NamespaceDecl1482: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_pm_NamespaceDecl1486: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_pm_NamespaceDecl1490: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_pm_NamespaceDecl1492: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_NamespaceDecl1496: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_NamespaceDecl1498: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_BoundarySpaceDecl1561: new org.antlr.runtime.BitSet([0x01000000, 0x00000000]), + FOLLOW_BOUNDARY_SPACE_in_pm_BoundarySpaceDecl1565: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01000000, 0x00000008]), + FOLLOW_PRESERVE_in_pm_BoundarySpaceDecl1570: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_STRIP_in_pm_BoundarySpaceDecl1576: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BoundarySpaceDecl1579: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_DefaultNamespaceDecl1607: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_DefaultNamespaceDecl1611: new org.antlr.runtime.BitSet([0x00000000, 0x00400400]), + FOLLOW_ELEMENT_in_pm_DefaultNamespaceDecl1616: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_FUNCTION_in_pm_DefaultNamespaceDecl1622: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_pm_DefaultNamespaceDecl1627: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_DefaultNamespaceDecl1629: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_DefaultNamespaceDecl1631: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_OptionDecl1662: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00010000, 0x00000000]), + FOLLOW_OPTION_in_pm_OptionDecl1666: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_OptionDecl1668: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_OptionDecl1670: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_OptionDecl1672: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_OrderingModeDecl1703: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_ORDERING_in_pm_OrderingModeDecl1707: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00080000, 0x00000400]), + FOLLOW_ORDERED_in_pm_OrderingModeDecl1712: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_UNORDERED_in_pm_OrderingModeDecl1718: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_OrderingModeDecl1721: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_EmptyOrderDecl1752: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_EmptyOrderDecl1756: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_ORDER_in_pm_EmptyOrderDecl1760: new org.antlr.runtime.BitSet([0x00000000, 0x00001000]), + FOLLOW_EMPTY_in_pm_EmptyOrderDecl1764: new org.antlr.runtime.BitSet([0x00000000, 0x01000000,0x00000020, 0x00000000]), + FOLLOW_GREATEST_in_pm_EmptyOrderDecl1769: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_LEAST_in_pm_EmptyOrderDecl1775: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_EmptyOrderDecl1778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_CopyNamespacesDecl1809: new org.antlr.runtime.BitSet([0x00000000, 0x00000002]), + FOLLOW_COPY_NAMESPACES_in_pm_CopyNamespacesDecl1813: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01002000, 0x00000000]), + FOLLOW_p_PreserveMode_in_pm_CopyNamespacesDecl1815: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_pm_CopyNamespacesDecl1817: new org.antlr.runtime.BitSet([0x00000000, 0x40000000,0x00001000, 0x00000000]), + FOLLOW_p_InheritMode_in_pm_CopyNamespacesDecl1819: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_CopyNamespacesDecl1821: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_DecimalFormatDecl1852: new org.antlr.runtime.BitSet([0x00000000, 0x00000008,0x00000000, 0x00080000]), + FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1856: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DecimalFormatDecl1858: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x17300000,0x00000407, 0x00000000]), + FOLLOW_DEFAULT_in_p_DecimalFormatDecl1864: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1866: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x17300000,0x00000407, 0x00000000]), + FOLLOW_p_DFPropertyName_in_p_DecimalFormatDecl1871: new org.antlr.runtime.BitSet([0x00000000, 0x00008000]), + FOLLOW_EQ_in_p_DecimalFormatDecl1874: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_DecimalFormatDecl1876: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_DecimalFormatDecl1878: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECIMAL_SEPARATOR_in_p_DFPropertyName1907: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GROUPING_SEPARATOR_in_p_DFPropertyName1913: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INFINITY_in_p_DFPropertyName1919: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MINUS_SIGN_in_p_DFPropertyName1925: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAN_in_p_DFPropertyName1931: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PERCENT_in_p_DFPropertyName1937: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PER_MILLE_in_p_DFPropertyName1943: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ZERO_DIGIT_in_p_DFPropertyName1949: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DIGIT_in_p_DFPropertyName1955: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PATTERN_SEPARATOR_in_p_DFPropertyName1961: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRESERVE_in_p_PreserveMode1993: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NO_PRESERVE_in_p_PreserveMode1999: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INHERIT_in_p_InheritMode2032: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NO_INHERIT_in_p_InheritMode2038: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_DefaultCollationDecl2078: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_DefaultCollationDecl2082: new org.antlr.runtime.BitSet([0x40000000, 0x00000000]), + FOLLOW_COLLATION_in_pm_DefaultCollationDecl2086: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_DefaultCollationDecl2088: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_DefaultCollationDecl2090: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_BaseURIDecl2129: new org.antlr.runtime.BitSet([0x00800000, 0x00000000]), + FOLLOW_BASE_URI_in_pm_BaseURIDecl2133: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_BaseURIDecl2137: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BaseURIDecl2139: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IMPORT_in_pm_SchemaImport2193: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_SCHEMA_in_pm_SchemaImport2197: new org.antlr.runtime.BitSet([0x00000000, 0x00000008,0x00000400, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_SchemaPrefix_in_pm_SchemaImport2201: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2206: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_AT_in_pm_SchemaImport2211: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2215: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_SchemaImport2218: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2222: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_SchemaImport2228: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_in_p_SchemaPrefix2299: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_SchemaPrefix2303: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_SchemaPrefix2305: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DEFAULT_in_p_SchemaPrefix2345: new org.antlr.runtime.BitSet([0x00000000, 0x00000400]), + FOLLOW_ELEMENT_in_p_SchemaPrefix2349: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_p_SchemaPrefix2353: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IMPORT_in_pm_ModuleImport2402: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_MODULE_in_pm_ModuleImport2406: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_NAMESPACE_in_pm_ModuleImport2411: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_pm_ModuleImport2415: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_pm_ModuleImport2417: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2423: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_AT_in_pm_ModuleImport2428: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2432: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_ModuleImport2435: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ModuleImport2445: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_VarDecl2515: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00001000,0x20000000, 0x20000000]), + FOLLOW_p_PrivateOption_in_pm_VarDecl2517: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00001000,0x20000000, 0x20000000]), + FOLLOW_pg_VarDeclType_in_pm_VarDecl2521: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_VarDecl2523: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_VarDecl2527: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_VarDecl2531: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_pm_VarDecl2536: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_VarDecl2540: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_VarDecl2548: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000200, 0x00000000]), + FOLLOW_BIND_in_pm_VarDecl2551: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_VarDecl2555: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_VarDecl2561: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CONSTANT_in_pg_VarDeclType2648: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_VARIABLE_in_pg_VarDeclType2682: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_ContextItemDecl2739: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00020000]), + FOLLOW_CONTEXT_in_pm_ContextItemDecl2743: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_ITEM_in_pm_ContextItemDecl2747: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_AS_in_pm_ContextItemDecl2752: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ItemType_in_pm_ContextItemDecl2754: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_pm_ContextItemDecl2760: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2762: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_ContextItemDecl2770: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000200, 0x00000000]), + FOLLOW_BIND_in_pm_ContextItemDecl2773: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2775: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ContextItemDecl2781: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_ConstructionDecl2815: new org.antlr.runtime.BitSet([0x00000000, 0x00000001]), + FOLLOW_CONSTRUCTION_in_pm_ConstructionDecl2819: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01000000, 0x00000008]), + FOLLOW_STRIP_in_pm_ConstructionDecl2824: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_PRESERVE_in_pm_ConstructionDecl2830: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ConstructionDecl2833: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_FunctionDecl2869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_SEQUENTIAL_in_pm_FunctionDecl2873: new org.antlr.runtime.BitSet([0x00000000, 0x00400000]), + FOLLOW_FUNCTION_in_pm_FunctionDecl2877: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_FunctionDecl2881: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_pm_FunctionDecl2883: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000000C, 0x00000000]), + FOLLOW_p_ParamList_in_pm_FunctionDecl2887: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_pm_FunctionDecl2890: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2894: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_Block_in_pm_FunctionDecl2900: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_FunctionDecl2906: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_FunctionDecl2909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_FunctionDecl2971: new org.antlr.runtime.BitSet([0x00000000, 0x00400000,0x00000000, 0x00000000,0x02000000, 0x20000004]), + FOLLOW_p_PrivateOption_in_pm_FunctionDecl2973: new org.antlr.runtime.BitSet([0x00000000, 0x00400000,0x00000000, 0x00000000,0x02000000, 0x00000004]), + FOLLOW_p_FunctionType_in_pm_FunctionDecl2975: new org.antlr.runtime.BitSet([0x00000000, 0x00400000]), + FOLLOW_FUNCTION_in_pm_FunctionDecl2979: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_FunctionDecl2983: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_pm_FunctionDecl2985: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000000C, 0x00000000]), + FOLLOW_p_ParamList_in_pm_FunctionDecl2989: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_pm_FunctionDecl2992: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2996: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_EnclosedExpr_in_pm_FunctionDecl3002: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_FunctionDecl3008: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_FunctionDecl3011: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UPDATING_in_p_FunctionType3091: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SIMPLE_in_p_FunctionType3108: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRIVATE_in_p_PrivateOption3150: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Param_in_p_ParamList3193: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ParamList3196: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_Param_in_p_ParamList3200: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DOLLAR_in_p_Param3258: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_Param3262: new org.antlr.runtime.BitSet([0x00080002, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_Param3266: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_EnclosedExpr3322: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_EnclosedExpr3324: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_EnclosedExpr3326: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Expr_in_p_QueryBody3376: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ConcatExpr_in_pm_Expr3427: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_Expr3444: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x8783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_ApplyExpr_in_pm_Expr3446: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x8783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_SEMICOLON_in_pm_Expr3471: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ConcatExpr_in_pm_Expr3473: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_FLWORExpr_in_p_ExprSingle3507: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QuantifiedExpr_in_p_ExprSingle3519: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TypeswitchExpr_in_p_ExprSingle3531: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_IfExpr_in_p_ExprSingle3543: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TryCatchExpr_in_p_ExprSingle3555: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_EvalExpr_in_p_ExprSingle3570: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InsertExpr_in_p_ExprSingle3585: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DeleteExpr_in_p_ExprSingle3600: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_RenameExpr_in_p_ExprSingle3615: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReplaceExpr_in_p_ExprSingle3630: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TransformExpr_in_p_ExprSingle3645: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_BlockExpr_in_p_ExprSingle3660: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AssignmentExpr_in_p_ExprSingle3675: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExitExpr_in_p_ExprSingle3690: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WhileExpr_in_p_ExprSingle3705: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrExpr_in_p_ExprSingle3717: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InitialClause_in_p_FLWORExpr3743: new org.antlr.runtime.BitSet([0x00000000, 0x00200000,0x04040000, 0x00844002,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_p_IntermediateClause_in_p_FLWORExpr3745: new org.antlr.runtime.BitSet([0x00000000, 0x00200000,0x04040000, 0x00844002,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_p_ReturnClause_in_p_FLWORExpr3748: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ForClause_in_p_InitialClause3774: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_LetClause_in_p_InitialClause3778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WindowClause_in_p_InitialClause3782: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InitialClause_in_p_IntermediateClause3808: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WhereClause_in_p_IntermediateClause3812: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_GroupByClause_in_p_IntermediateClause3816: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderByClause_in_p_IntermediateClause3820: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CountClause_in_p_IntermediateClause3824: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOR_in_p_ForClause3852: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ForClause3854: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_ForClause3856: new org.antlr.runtime.BitSet([0x00280000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_ForClause3858: new org.antlr.runtime.BitSet([0x00200000, 0x20000000]), + FOLLOW_p_PositionalVar_in_p_ForClause3861: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_ForClause3866: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ForClause3868: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ForClause3871: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ForClause3873: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_ForClause3875: new org.antlr.runtime.BitSet([0x00280000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_ForClause3877: new org.antlr.runtime.BitSet([0x00200000, 0x20000000]), + FOLLOW_p_PositionalVar_in_p_ForClause3880: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_ForClause3885: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ForClause3887: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_AT_in_p_PositionalVar3918: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_PositionalVar3920: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_PositionalVar3922: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LETDOLLAR_in_p_LetClause3950: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_LetClause3952: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_LetClause3954: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_LetClause3957: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_LetClause3959: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_LetClause3962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_LetClause3964: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_LetClause3966: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_LetClause3968: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_LetClause3971: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_LetClause3973: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_FOR_in_p_WindowClause4003: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000090, 0x00000000]), + FOLLOW_p_TumblingWindowClause_in_p_WindowClause4006: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SlidingWindowClause_in_p_WindowClause4010: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TUMBLING_in_p_TumblingWindowClause4047: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_WINDOW_in_p_TumblingWindowClause4051: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TumblingWindowClause4053: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TumblingWindowClause4055: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_TumblingWindowClause4057: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_TumblingWindowClause4060: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TumblingWindowClause4062: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_p_WindowStartCondition_in_p_TumblingWindowClause4064: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x40400000]), + FOLLOW_p_WindowEndCondition_in_p_TumblingWindowClause4066: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLIDING_in_p_SlidingWindowClause4096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_WINDOW_in_p_SlidingWindowClause4100: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_SlidingWindowClause4102: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_SlidingWindowClause4104: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_SlidingWindowClause4106: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_SlidingWindowClause4109: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_SlidingWindowClause4111: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_p_WindowStartCondition_in_p_SlidingWindowClause4113: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x40400000]), + FOLLOW_p_WindowEndCondition_in_p_SlidingWindowClause4115: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_START_in_p_WindowStartCondition4145: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x20000000,0x00000108, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_WindowVars_in_p_WindowStartCondition4147: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_WHEN_in_p_WindowStartCondition4151: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WindowStartCondition4153: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ONLY_in_p_WindowEndCondition4182: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_END_in_p_WindowEndCondition4187: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x20000000,0x00000108, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_WindowVars_in_p_WindowEndCondition4189: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_WHEN_in_p_WindowEndCondition4193: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WindowEndCondition4195: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4223: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4225: new org.antlr.runtime.BitSet([0x00200002, 0x00000000,0x00000000, 0x20000000,0x00000008, 0x00000000]), + FOLLOW_p_PositionalVar_in_p_WindowVars4229: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x20000000,0x00000008, 0x00000000]), + FOLLOW_PREVIOUS_in_p_WindowVars4235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4237: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4239: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x20000000]), + FOLLOW_NEXT_in_p_WindowVars4246: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4248: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4250: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COUNT_in_p_CountClause4290: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CountClause4292: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CountClause4294: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_WHERE_in_p_WhereClause4330: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WhereClause4332: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GROUP_in_p_GroupByClause4362: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_GroupByClause4366: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_GroupingSpecList_in_p_GroupByClause4368: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4397: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_GroupingSpecList4400: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4402: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DOLLAR_in_p_GroupingSpec4432: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_GroupingSpec4434: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_COLLATION_in_p_GroupingSpec4439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_GroupingSpec4441: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ORDER_in_p_OrderByClause4476: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_OrderByClause4480: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_STABLE_in_p_OrderByClause4488: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_ORDER_in_p_OrderByClause4492: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_OrderByClause4496: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_OrderSpecList_in_p_OrderByClause4500: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderSpec_in_p_OrderSpecList4529: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_OrderSpecList4532: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_OrderSpec_in_p_OrderSpecList4534: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_OrderSpec4564: new org.antlr.runtime.BitSet([0x40100000, 0x00001040]), + FOLLOW_p_OrderModifier_in_p_OrderSpec4566: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ASCENDING_in_p_OrderModifier4595: new org.antlr.runtime.BitSet([0x40000002, 0x00001000]), + FOLLOW_DESCENDING_in_p_OrderModifier4601: new org.antlr.runtime.BitSet([0x40000002, 0x00001000]), + FOLLOW_EMPTY_in_p_OrderModifier4608: new org.antlr.runtime.BitSet([0x00000000, 0x01000000,0x00000020, 0x00000000]), + FOLLOW_GREATEST_in_p_OrderModifier4613: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_LEAST_in_p_OrderModifier4619: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_COLLATION_in_p_OrderModifier4627: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_OrderModifier4629: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_RETURN_in_p_ReturnClause4660: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReturnClause4662: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SOME_in_p_QuantifiedExpr4693: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_EVERY_in_p_QuantifiedExpr4699: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_QuantifiedExpr4702: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_QuantifiedExpr4704: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4706: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_QuantifiedExpr4711: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4713: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x08000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_QuantifiedExpr4716: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_QuantifiedExpr4718: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_QuantifiedExpr4720: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4722: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_QuantifiedExpr4727: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4729: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x08000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_SATISFIES_in_p_QuantifiedExpr4735: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4737: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TYPESWITCH_in_p_TypeswitchExpr4766: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_TypeswitchExpr4768: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_TypeswitchExpr4770: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_TypeswitchExpr4772: new org.antlr.runtime.BitSet([0x04000000, 0x00000000]), + FOLLOW_p_CaseClause_in_p_TypeswitchExpr4774: new org.antlr.runtime.BitSet([0x04000000, 0x00000008]), + FOLLOW_DEFAULT_in_p_TypeswitchExpr4779: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TypeswitchExpr4782: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TypeswitchExpr4784: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_TypeswitchExpr4790: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TypeswitchExpr4792: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CASE_in_p_CaseClause4821: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_DOLLAR_in_p_CaseClause4824: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CaseClause4826: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CaseClause4830: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_CaseClause4834: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_CaseClause4838: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_CaseClause4840: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IF_in_p_IfExpr4869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_IfExpr4871: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_IfExpr4873: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_IfExpr4875: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000020]), + FOLLOW_THEN_in_p_IfExpr4879: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_IfExpr4881: new org.antlr.runtime.BitSet([0x00000000, 0x00000800]), + FOLLOW_ELSE_in_p_IfExpr4885: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_IfExpr4887: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AndExpr_in_p_OrExpr4914: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_OR_in_p_OrExpr4920: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_AndExpr_in_p_OrExpr4923: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_p_ComparisonExpr_in_p_AndExpr4954: new org.antlr.runtime.BitSet([0x00040002, 0x00000000]), + FOLLOW_AND_in_p_AndExpr4960: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ComparisonExpr_in_p_AndExpr4963: new org.antlr.runtime.BitSet([0x00040002, 0x00000000]), + FOLLOW_p_RangeExpr_in_p_ComparisonExpr4994: new org.antlr.runtime.BitSet([0x00000002, 0x02808000,0x00000892, 0x00000000,0x00000000, 0x00000000,0x007E0500, 0x00000000]), + FOLLOW_p_ValueComp_in_p_ComparisonExpr4999: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_GeneralComp_in_p_ComparisonExpr5003: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_NodeComp_in_p_ComparisonExpr5007: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_RangeExpr_in_p_ComparisonExpr5010: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AdditiveExpr_in_p_RangeExpr5041: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000040]), + FOLLOW_TO_in_p_RangeExpr5047: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_AdditiveExpr_in_p_RangeExpr5050: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5081: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00018000, 0x00000000]), + FOLLOW_set_in_p_AdditiveExpr5085: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5093: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00018000, 0x00000000]), + FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5124: new org.antlr.runtime.BitSet([0x00000002, 0x04000080,0x00000100, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_STAR_in_p_MultiplicativeExpr5129: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_DIV_in_p_MultiplicativeExpr5135: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_IDIV_in_p_MultiplicativeExpr5141: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_MOD_in_p_MultiplicativeExpr5149: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5153: new org.antlr.runtime.BitSet([0x00000002, 0x04000080,0x00000100, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5184: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000200,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_UNION_in_p_UnionExpr5191: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_VBAR_in_p_UnionExpr5195: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5198: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000200,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5229: new org.antlr.runtime.BitSet([0x00000002, 0x00020000,0x00000001, 0x00000000]), + FOLLOW_INTERSECT_in_p_IntersectExceptExpr5236: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_EXCEPT_in_p_IntersectExceptExpr5242: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5246: new org.antlr.runtime.BitSet([0x00000002, 0x00020000,0x00000001, 0x00000000]), + FOLLOW_p_TreatExpr_in_p_InstanceofExpr5277: new org.antlr.runtime.BitSet([0x00000002, 0x80000000]), + FOLLOW_INSTANCE_in_p_InstanceofExpr5283: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00008000, 0x00000000]), + FOLLOW_OF_in_p_InstanceofExpr5287: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_InstanceofExpr5289: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CastableExpr_in_p_TreatExpr5319: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000080]), + FOLLOW_TREAT_in_p_TreatExpr5325: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_TreatExpr5329: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_TreatExpr5331: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CastExpr_in_p_CastableExpr5370: new org.antlr.runtime.BitSet([0x10000002, 0x00000000]), + FOLLOW_CASTABLE_in_p_CastableExpr5376: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CastableExpr5380: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SingleType_in_p_CastableExpr5382: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UnaryExpr_in_p_CastExpr5421: new org.antlr.runtime.BitSet([0x08000002, 0x00000000]), + FOLLOW_CAST_in_p_CastExpr5427: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CastExpr5431: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SingleType_in_p_CastExpr5433: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PLUS_in_p_UnaryExpr5465: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_MINUS_in_p_UnaryExpr5469: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ValueExpr_in_p_UnaryExpr5473: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ValidateExpr_in_p_ValueExpr5529: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PathExpr_in_p_ValueExpr5541: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExtensionExpr_in_p_ValueExpr5553: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_GeneralComp0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EQ_in_p_ValueComp5632: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NE_in_p_ValueComp5638: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LT_in_p_ValueComp5644: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LE_in_p_ValueComp5650: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GT_in_p_ValueComp5656: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GE_in_p_ValueComp5662: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IS_in_p_NodeComp5694: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SMALLER_SMALLER_in_p_NodeComp5698: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GREATER_GREATER_in_p_NodeComp5702: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_VALIDATE_in_p_ValidateExpr5732: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000008, 0x00000004,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_ValidationMode_in_p_ValidateExpr5734: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_ValidateExpr5737: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ValidateExpr5739: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ValidateExpr5741: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LAX_in_p_ValidationMode5772: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STRICT_in_p_ValidationMode5778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_ValidationMode5785: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ValidationMode5787: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_Pragma_in_p_ExtensionExpr5818: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00200000]), + FOLLOW_LBRACKET_in_p_ExtensionExpr5821: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ExtensionExpr5823: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ExtensionExpr5826: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_p_PathExpr5868: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5870: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_p_PathExpr5883: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_SLASH_in_p_PathExpr5895: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5897: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_StepExpr_in_p_RelativePathExpr5937: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x01800000, 0x00000000]), + FOLLOW_set_in_p_RelativePathExpr5940: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_StepExpr_in_p_RelativePathExpr5948: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x01800000, 0x00000000]), + FOLLOW_p_AxisStep_in_p_StepExpr5976: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FilterExpr_in_p_StepExpr5988: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReverseStep_in_p_AxisStep6015: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_ForwardStep_in_p_AxisStep6019: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_PredicateList_in_p_AxisStep6022: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ForwardAxis_in_p_ForwardStep6049: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_ForwardStep6051: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AbbrevForwardStep_in_p_ForwardStep6056: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CHILD_in_p_ForwardAxis6082: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6084: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DESCENDANT_in_p_ForwardAxis6096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6098: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_ForwardAxis6110: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6112: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SELF_in_p_ForwardAxis6124: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6126: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DESCENDANT_OR_SELF_in_p_ForwardAxis6138: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6140: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOLLOWING_SIBLING_in_p_ForwardAxis6152: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6154: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOLLOWING_in_p_ForwardAxis6166: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6168: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTR_SIGN_in_p_AbbrevForwardStep6194: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_AbbrevForwardStep6197: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReverseAxis_in_p_ReverseStep6224: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_ReverseStep6226: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AbbrevReverseStep_in_p_ReverseStep6231: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PARENT_in_p_ReverseAxis6257: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6259: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ANCESTOR_in_p_ReverseAxis6271: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6273: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRECEDING_SIBLING_in_p_ReverseAxis6285: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6287: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRECEDING_in_p_ReverseAxis6299: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6301: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ANCESTOR_OR_SELF_in_p_ReverseAxis6313: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6315: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOT_DOT_in_p_AbbrevReverseStep6341: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_KindTest_in_p_NodeTest6367: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NameTest_in_p_NodeTest6371: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_NameTest6397: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Wildcard_in_p_NameTest6401: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_Wildcard6427: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_COLON_in_p_Wildcard6430: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_Wildcard6432: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NCName_in_p_Wildcard6439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_COLON_in_p_Wildcard6441: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_STAR_in_p_Wildcard6443: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PrimaryExpr_in_p_FilterExpr6479: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_PredicateList_in_p_FilterExpr6481: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Predicate_in_p_PredicateList6509: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_LSQUARE_in_p_Predicate6538: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_Predicate6540: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000080, 0x00000000]), + FOLLOW_RSQUARE_in_p_Predicate6542: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Literal_in_p_PrimaryExpr6570: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_VarRef_in_p_PrimaryExpr6582: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ParenthesizedExpr_in_p_PrimaryExpr6594: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ContextItemExpr_in_p_PrimaryExpr6606: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FunctionCall_in_p_PrimaryExpr6618: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderedExpr_in_p_PrimaryExpr6630: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UnorderedExpr_in_p_PrimaryExpr6642: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Constructor_in_p_PrimaryExpr6654: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NumericLiteral_in_p_Literal6682: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_StringLiteral_in_p_Literal6686: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_NumericLiteral0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_VarRef6758: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_VarRef6760: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_VarName6788: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ParenthesizedExpr6816: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00F, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ParenthesizedExpr6818: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ParenthesizedExpr6821: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOT_in_p_ContextItemExpr6849: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ORDERED_in_p_OrderedExpr6879: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_OrderedExpr6882: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_OrderedExpr6884: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_OrderedExpr6886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UNORDERED_in_p_UnorderedExpr6916: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_UnorderedExpr6919: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_UnorderedExpr6921: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_UnorderedExpr6923: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FQName_in_p_FunctionCall6952: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_FunctionCall6954: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00F, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_FunctionCall6957: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_FunctionCall6960: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_FunctionCall6962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_RPAREN_in_p_FunctionCall6968: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirectConstructor_in_p_Constructor7000: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ComputedConstructor_in_p_Constructor7004: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirElemConstructor_in_p_DirectConstructor7032: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_DirCommentConstructor_in_p_DirectConstructor7044: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_DirPIConstructor_in_p_DirectConstructor7056: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SMALLER_in_p_DirElemConstructor7084: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirElemConstructor7100: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x20040000, 0x00080000]), + FOLLOW_p_DirAttributeList_in_p_DirElemConstructor7102: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x20040000, 0x00000000]), + FOLLOW_EMPTY_CLOSE_TAG_in_p_DirElemConstructor7118: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GREATER_in_p_DirElemConstructor7123: new org.antlr.runtime.BitSet([0x00000FC0, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x40020010, 0x00C00000]), + FOLLOW_pm_DirElemContent_in_p_DirElemConstructor7125: new org.antlr.runtime.BitSet([0x00000FC0, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x40020010, 0x00C00000]), + FOLLOW_CLOSE_TAG_in_p_DirElemConstructor7128: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirElemConstructor7130: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00040000, 0x00080000]), + FOLLOW_S_in_p_DirElemConstructor7132: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_GREATER_in_p_DirElemConstructor7135: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_S_in_p_DirAttributeList7212: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00084000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirAttributeList7215: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00080000]), + FOLLOW_S_in_p_DirAttributeList7217: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_DirAttributeList7220: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080C00]), + FOLLOW_S_in_p_DirAttributeList7222: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080C00]), + FOLLOW_p_DirAttributeValue_in_p_DirAttributeList7225: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_QUOT_in_p_DirAttributeValue7256: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_ESCAPE_QUOT_in_p_DirAttributeValue7259: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_pm_QuotAttrValueContent_in_p_DirAttributeValue7263: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_QUOT_in_p_DirAttributeValue7267: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_APOS_in_p_DirAttributeValue7306: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_ESCAPE_APOS_in_p_DirAttributeValue7309: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_pm_AposAttrValueContent_in_p_DirAttributeValue7313: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_APOS_in_p_DirAttributeValue7317: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_QuotAttrContentChar_in_pm_QuotAttrValueContent7369: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_QuotAttrValueContent7373: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_QuotAttrValueContent7377: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_QuotAttrContentChar_in_pg_QuotAttrContentChar7406: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_AposAttrContentChar_in_pm_AposAttrValueContent7459: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_AposAttrValueContent7463: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_AposAttrValueContent7467: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_AposAttrContentChar_in_pg_AposAttrContentChar7496: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirectConstructor_in_pm_DirElemContent7547: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_CDataSection_in_pm_DirElemContent7559: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_DirElemContent7571: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_DirElemContent7583: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_ElementContentChar_in_pm_DirElemContent7595: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_ElementContentChar_in_pg_ElementContentChar7624: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_CommonContent_in_pg_CommonContent7680: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_pm_CommonContent0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_ElemEnclosedExpr7776: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ElemEnclosedExpr7793: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ElemEnclosedExpr7810: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompDocConstructor_in_p_ComputedConstructor7861: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompElemConstructor_in_p_ComputedConstructor7873: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompAttrConstructor_in_p_ComputedConstructor7885: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompNamespaceConstructor_in_p_ComputedConstructor7897: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompTextConstructor_in_p_ComputedConstructor7909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompCommentConstructor_in_p_ComputedConstructor7921: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompPIConstructor_in_p_ComputedConstructor7933: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompBinaryConstructor_in_p_ComputedConstructor7948: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOCUMENT_in_p_CompDocConstructor7982: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompDocConstructor7985: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompDocConstructor7987: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompDocConstructor7989: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ELEMENT_in_p_CompElemConstructor8030: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CompElemConstructor8034: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompElemConstructor8039: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompElemConstructor8041: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompElemConstructor8043: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompElemConstructor8047: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompElemConstructor8049: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompElemConstructor8052: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_CompAttrConstructor8085: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CompAttrConstructor8089: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompAttrConstructor8094: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompAttrConstructor8096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompAttrConstructor8098: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompAttrConstructor8102: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompAttrConstructor8104: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompAttrConstructor8107: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_in_p_CompNamespaceConstructor8135: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_CompNamespaceConstructor8139: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8144: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8146: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8148: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8152: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8154: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8157: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TEXT_in_p_CompTextConstructor8193: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompTextConstructor8196: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompTextConstructor8198: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompTextConstructor8200: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BINARY_in_p_CompBinaryConstructor8230: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompBinaryConstructor8233: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompBinaryConstructor8235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompBinaryConstructor8237: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COMMENT_in_p_CompCommentConstructor8267: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompCommentConstructor8270: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompCommentConstructor8272: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompCommentConstructor8274: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PROCESSING_INSTRUCTION_in_p_CompPIConstructor8305: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_CompPIConstructor8309: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompPIConstructor8314: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompPIConstructor8316: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompPIConstructor8318: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompPIConstructor8322: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompPIConstructor8324: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompPIConstructor8327: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AtomicType_in_p_SingleType8355: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00002000, 0x00000000]), + FOLLOW_QUESTION_in_p_SingleType8357: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_TypeDeclaration8388: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_TypeDeclaration8393: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EMPTY_SEQUENCE_in_p_SequenceType8448: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SequenceType8453: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SequenceType8457: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ItemType_in_p_SequenceType8506: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000E000, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_p_SequenceType8517: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_OccurrenceIndicator0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_KindTest_in_p_ItemType8619: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BINARY_in_p_ItemType8659: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ItemType8661: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ItemType8663: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ITEM_in_p_ItemType8705: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ItemType8707: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ItemType8709: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AtomicType_in_p_ItemType8750: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AtomicType8776: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DocumentTest_in_p_KindTest8826: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElementTest_in_p_KindTest8838: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AttributeTest_in_p_KindTest8850: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SchemaElementTest_in_p_KindTest8862: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SchemaAttributeTest_in_p_KindTest8874: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NamespaceNodeTest_in_p_KindTest8886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PITest_in_p_KindTest8898: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CommentTest_in_p_KindTest8910: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TextTest_in_p_KindTest8922: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AnyKindTest_in_p_KindTest8934: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NODE_in_p_AnyKindTest8962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_AnyKindTest8964: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_AnyKindTest8966: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOCUMENT_NODE_in_p_DocumentTest8994: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_DocumentTest8996: new org.antlr.runtime.BitSet([0x00000000, 0x00000400,0x40000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_ElementTest_in_p_DocumentTest8999: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_SchemaElementTest_in_p_DocumentTest9003: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_DocumentTest9007: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TEXT_in_p_TextTest9027: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_TextTest9029: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_TextTest9031: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COMMENT_in_p_CommentTest9059: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_CommentTest9061: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_CommentTest9063: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_NODE_in_p_NamespaceNodeTest9089: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_NamespaceNodeTest9091: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_NamespaceNodeTest9093: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PROCESSING_INSTRUCTION_in_p_PITest9121: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_PITest9123: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000005, 0x00004C00,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_PITest9126: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_StringLiteral_in_p_PITest9130: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_PITest9134: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_AttributeTest9162: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_AttributeTest9164: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00004005, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AttribNameOrWildcard_in_p_AttributeTest9167: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_AttributeTest9170: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_TypeName_in_p_AttributeTest9172: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_AttributeTest9178: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AttribNameOrWildcard9208: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_AttribNameOrWildcard9212: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SCHEMA_ATTRIBUTE_in_p_SchemaAttributeTest9240: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SchemaAttributeTest9242: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AttributeDeclaration_in_p_SchemaAttributeTest9244: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SchemaAttributeTest9246: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AttributeName_in_p_AttributeDeclaration9272: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ELEMENT_in_p_ElementTest9300: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ElementTest9302: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00004005, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ElementNameOrWildcard_in_p_ElementTest9305: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_ElementTest9308: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_TypeName_in_p_ElementTest9310: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00002004, 0x00000000]), + FOLLOW_QUESTION_in_p_ElementTest9312: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ElementTest9319: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_ElementNameOrWildcard9347: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_ElementNameOrWildcard9351: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SCHEMA_ELEMENT_in_p_SchemaElementTest9371: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SchemaElementTest9373: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ElementDeclaration_in_p_SchemaElementTest9375: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SchemaElementTest9377: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElementName_in_p_ElementDeclaration9403: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AttributeName9431: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_ElementName9459: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_TypeName9487: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TryClause_in_p_TryCatchExpr9519: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_p_CatchClause_in_p_TryCatchExpr9521: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_TRY_in_p_TryClause9550: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_TryClause9552: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_TryClause9554: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_TryClause9556: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CATCH_in_p_CatchClause9587: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004013, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_CatchErrorList_in_p_CatchClause9589: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000012, 0x00000000]), + FOLLOW_p_CatchVars_in_p_CatchClause9591: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CatchClause9594: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CatchClause9596: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CatchClause9598: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NameTest_in_p_CatchErrorList9624: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_VBAR_in_p_CatchErrorList9627: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NameTest_in_p_CatchErrorList9629: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_LPAREN_in_p_CatchVars9675: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9677: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9679: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_CatchVars9682: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9684: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9686: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_CatchVars9689: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9691: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9693: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_CatchVars9699: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_QUOT_in_p_StringLiteral9748: new org.antlr.runtime.BitSet([0xFFFFFFF0, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFFFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_QuotStringLiteralContent_in_p_StringLiteral9752: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000800]), + FOLLOW_QUOT_in_p_StringLiteral9754: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_APOS_in_p_StringLiteral9795: new org.antlr.runtime.BitSet([0xFFFFFFF0, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFFFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_AposStringLiteralContent_in_p_StringLiteral9799: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000400]), + FOLLOW_APOS_in_p_StringLiteral9801: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_QuotStringLiteralContent9857: new org.antlr.runtime.BitSet([0xFFFFFFF2, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFF7FF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_set_in_p_AposStringLiteralContent9909: new org.antlr.runtime.BitSet([0xFFFFFFF2, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFBFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_NCName_in_p_QName9994: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_p_LocalNCName_in_p_QName9996: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLON_in_p_LocalNCName10051: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_LocalNCName10053: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FNCName_in_p_FQName10083: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_p_LocalFNCName_in_p_FQName10085: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLON_in_p_LocalFNCName10113: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_LocalFNCName10115: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_NCName0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_FNCName0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_RevalidationDecl11839: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00800000, 0x00000000]), + FOLLOW_REVALIDATION_in_pm_RevalidationDecl11843: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000008, 0x00000004,0x01000000, 0x00000000]), + FOLLOW_STRICT_in_pm_RevalidationDecl11848: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LAX_in_pm_RevalidationDecl11854: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SKIP_in_pm_RevalidationDecl11860: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_InsertExprTargetChoice11892: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00048000, 0x00000000]), + FOLLOW_FIRST_in_p_InsertExprTargetChoice11897: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_LAST_in_p_InsertExprTargetChoice11903: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_INTO_in_p_InsertExprTargetChoice11910: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AFTER_in_p_InsertExprTargetChoice11926: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BEFORE_in_p_InsertExprTargetChoice11940: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INSERT_in_p_InsertExpr11968: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODE_in_p_InsertExpr11973: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_NODES_in_p_InsertExpr11979: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_SourceExpr_in_p_InsertExpr11982: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00021800, 0x00000000]), + FOLLOW_p_InsertExprTargetChoice_in_p_InsertExpr11984: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_InsertExpr11986: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DELETE_in_p_DeleteExpr12015: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODE_in_p_DeleteExpr12020: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_NODES_in_p_DeleteExpr12026: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_DeleteExpr12029: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_REPLACE_in_p_ReplaceExpr12058: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_VALUE_in_p_ReplaceExpr12063: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00008000, 0x00000000]), + FOLLOW_OF_in_p_ReplaceExpr12067: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ReplaceExpr12073: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReplaceExpr12075: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_WITH_in_p_ReplaceExpr12079: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReplaceExpr12081: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_RENAME_in_p_RenameExpr12110: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_RenameExpr12114: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_RenameExpr12116: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_RenameExpr12118: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_NewNameExpr_in_p_RenameExpr12120: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_SourceExpr12147: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_TargetExpr12173: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_NewNameExpr12199: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COPY_in_p_TransformExpr12227: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TransformExpr12229: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TransformExpr12231: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_TransformExpr12233: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00080000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_TransformExpr12238: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TransformExpr12240: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TransformExpr12242: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_TransformExpr12244: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12246: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00080000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_MODIFY_in_p_TransformExpr12252: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12254: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_TransformExpr12258: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12260: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ConcatExpr_in_pm_ApplyExpr12294: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ApplyExpr12296: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_ConcatExpr12322: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ConcatExpr12325: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ConcatExpr12327: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_BLOCK_in_p_BlockExpr12357: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_Block_in_p_BlockExpr12359: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_Block12385: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_BlockDecls_in_p_Block12389: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_BlockBody_in_p_Block12393: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_Block12395: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_BlockVarDecl_in_pm_BlockDecls12451: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_DECLARE_in_pm_BlockVarDecl12506: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_BlockVarDecl12508: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_pm_BlockVarDecl12512: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12516: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_BIND_in_pm_BlockVarDecl12520: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12524: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_BlockVarDecl12529: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_BlockVarDecl12531: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_pm_BlockVarDecl12533: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12535: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_BIND_in_pm_BlockVarDecl12539: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12541: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BlockVarDecl12547: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Expr_in_p_BlockBody12607: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SET_in_p_AssignmentExpr12635: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_AssignmentExpr12637: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_AssignmentExpr12639: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_AssignmentExpr12641: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_AssignmentExpr12643: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EXIT_in_p_ExitExpr12671: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_RETURNING_in_p_ExitExpr12675: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ExitExpr12677: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_WHILE_in_p_WhileExpr12705: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_WhileExpr12707: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WhileExpr12709: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_WhileExpr12711: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_WhileBody_in_p_WhileExpr12713: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Block_in_p_WhileBody12739: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UsingClause_in_p_EvalExpr12769: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000010]), + FOLLOW_EVAL_in_p_EvalExpr12774: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_EvalExpr12776: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_EvalExpr12778: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_EvalExpr12780: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_USING_in_p_UsingClause12807: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_UsingClause12809: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_UsingClause12811: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_UsingClause12814: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_UsingClause12816: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_UsingClause12818: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DECLARE_in_p_CollectionDecl12853: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200A40]), + FOLLOW_p_CollProperties_in_p_CollectionDecl12855: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_COLLECTION_in_p_CollectionDecl12859: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CollectionDecl12861: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_CollectionTypeDecl_in_p_CollectionDecl12863: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_WITH_in_p_CollectionDecl12869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x04200000]), + FOLLOW_p_NodeModifier_in_p_CollectionDecl12871: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODES_in_p_CollectionDecl12875: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_CollectionDecl12879: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CONST_in_p_CollProperties12909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_MUTABLE_in_p_CollProperties12915: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_APPEND_ONLY_in_p_CollProperties12929: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_QUEUE_in_p_CollProperties12935: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_ORDERED_in_p_CollProperties12949: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_UNORDERED_in_p_CollProperties12955: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_AS_in_p_CollectionTypeDecl12987: new org.antlr.runtime.BitSet([0x80400000, 0x00000600,0x62004000, 0x08000010]), + FOLLOW_p_KindTest_in_p_CollectionTypeDecl12989: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000E000, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_p_CollectionTypeDecl12998: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_READ_ONLY_in_p_NodeModifier13029: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MUTABLE_in_p_NodeModifier13035: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_IndexDecl13064: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08510080]), + FOLLOW_p_IndexProperties_in_p_IndexDecl13066: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_INDEX_in_p_IndexDecl13070: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_IndexName_in_p_IndexDecl13072: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00800000]), + FOLLOW_ON_in_p_IndexDecl13076: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODES_in_p_IndexDecl13080: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexDomainExpr_in_p_IndexDecl13082: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_IndexDecl13086: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexKeySpec_in_p_IndexDecl13088: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_p_IndexDecl13091: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexKeySpec_in_p_IndexDecl13093: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_IndexDecl13097: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_IndexName13123: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UNIQUE_in_p_IndexProperties13152: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_NON_in_p_IndexProperties13158: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x08000000]), + FOLLOW_UNIQUE_in_p_IndexProperties13162: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_VALUE_in_p_IndexProperties13176: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x02000000]), + FOLLOW_RANGE_in_p_IndexProperties13180: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_VALUE_in_p_IndexProperties13186: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00001000]), + FOLLOW_EQUALITY_in_p_IndexProperties13190: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_AUTOMATICALLY_in_p_IndexProperties13204: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_MAINTAINED_in_p_IndexProperties13208: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_MANUALLY_in_p_IndexProperties13214: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_MAINTAINED_in_p_IndexProperties13218: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_p_PathExpr_in_p_IndexDomainExpr13247: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_IndexKeyExpr_in_p_IndexKeySpec13272: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_p_IndexKeyTypeDecl_in_p_IndexKeySpec13274: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_p_IndexKeyCollation_in_p_IndexKeySpec13276: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PathExpr_in_p_IndexKeyExpr13302: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_IndexKeyTypeDecl13329: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AtomicType_in_p_IndexKeyTypeDecl13331: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLLATION_in_p_IndexKeyCollation13358: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_IndexKeyCollation13360: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_ICDecl13387: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00020000]), + FOLLOW_INTEGRITY_in_p_ICDecl13391: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000400]), + FOLLOW_CONSTRAINT_in_p_ICDecl13395: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICDecl13398: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00804000]), + FOLLOW_p_ICCollection_in_p_ICDecl13401: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_ICForeignKey_in_p_ICDecl13405: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_ICDecl13408: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ON_in_p_ICCollection13435: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_COLLECTION_in_p_ICCollection13439: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollection13442: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00000000, 0x00002000,0x00000008, 0x00000000]), + FOLLOW_p_ICCollSequence_in_p_ICCollection13445: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ICCollSequenceUnique_in_p_ICCollection13449: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ICCollNode_in_p_ICCollection13453: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollSequence13479: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollSequence13481: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollSequence13485: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ICCollSequence13487: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NODE_in_p_ICCollSequenceUnique13514: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollSequenceUnique13518: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollSequenceUnique13520: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollSequenceUnique13524: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x08000000]), + FOLLOW_UNIQUE_in_p_ICCollSequenceUnique13528: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICCollSequenceUnique13532: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_PathExpr_in_p_ICCollSequenceUnique13534: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOREACH_in_p_ICCollNode13562: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ICCollNode13566: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollNode13568: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollNode13570: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollNode13574: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ICCollNode13576: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOREIGN_in_p_ICForeignKey13604: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICForeignKey13608: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00008000]), + FOLLOW_p_ICForeignKeySource_in_p_ICForeignKey13610: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000040]), + FOLLOW_p_ICForeignKeyTarget_in_p_ICForeignKey13612: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FROM_in_p_ICForeignKeySource13640: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeySource13642: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TO_in_p_ICForeignKeyTarget13669: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeyTarget13671: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLLECTION_in_p_ICForeignKeyValues13698: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICForeignKeyValues13700: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ICForeignKeyValues13704: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICForeignKeyValues13706: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICForeignKeyValues13708: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICForeignKeyValues13712: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_PathExpr_in_p_ICForeignKeyValues13714: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_synpred1_XQueryParser5860: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_synpred1_XQueryParser5862: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_synpred2_XQueryParser8510: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_synpred3_XQueryParser12993: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]) +}); + +})(); + +}); diff --git a/build/kitchen-sink.html b/build/kitchen-sink.html new file mode 100644 index 00000000..99bf1ec3 --- /dev/null +++ b/build/kitchen-sink.html @@ -0,0 +1,222 @@ + + + + + + Ace Kitchen Sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ +
+
+ + + + + + +' ) + // XQueryLexer.g:269:27: '-->' + this.match("-->"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "XML_COMMENT_END", + + // $ANTLR start PI_START + mPI_START: function() { + try { + var _type = this.PI_START; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:270:25: ( '' ) + // XQueryLexer.g:271:27: '?>' + this.match("?>"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "PI_END", + + // $ANTLR start ATTR_SIGN + mATTR_SIGN: function() { + try { + var _type = this.ATTR_SIGN; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:272:25: ( '@' ) + // XQueryLexer.g:272:27: '@' + this.match('@'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ATTR_SIGN", + + // $ANTLR start CHARREF_DEC + mCHARREF_DEC: function() { + try { + var _type = this.CHARREF_DEC; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:273:25: ( '&#' ) + // XQueryLexer.g:273:27: '&#' + this.match("&#"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHARREF_DEC", + + // $ANTLR start CHARREF_HEX + mCHARREF_HEX: function() { + try { + var _type = this.CHARREF_HEX; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:274:25: ( '&#x' ) + // XQueryLexer.g:274:27: '&#x' + this.match("&#x"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "CHARREF_HEX", + + // $ANTLR start APOS + mAPOS: function() { + try { + var _type = this.APOS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:275:25: ( '\\'' ) + // XQueryLexer.g:275:27: '\\'' + this.match('\''); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APOS", + + // $ANTLR start QUOT + mQUOT: function() { + try { + var _type = this.QUOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:276:25: ( '\"' ) + // XQueryLexer.g:276:27: '\"' + this.match('\"'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUOT", + + // $ANTLR start L_NCName + mL_NCName: function() { + try { + var _type = this.L_NCName; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:280:9: ( NCNameStartChar ( NCNameChar )* ) + // XQueryLexer.g:280:13: NCNameStartChar ( NCNameChar )* + this.mNCNameStartChar(); + // XQueryLexer.g:280:29: ( NCNameChar )* + loop1: + do { + var alt1=2; + var LA1_0 = this.input.LA(1); + + if ( ((LA1_0>='-' && LA1_0<='.')||(LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // XQueryLexer.g:280:29: NCNameChar + this.mNCNameChar(); + + + break; + + default : + break loop1; + } + } while (true); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_NCName", + + // $ANTLR start Letter + mLetter: function() { + try { + // XQueryLexer.g:283:29: ( 'a' .. 'z' | 'A' .. 'Z' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "Letter", + + // $ANTLR start HexLetter + mHexLetter: function() { + try { + // XQueryLexer.g:284:29: ( 'a' .. 'f' | 'A' .. 'F' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='F')||(this.input.LA(1)>='a' && this.input.LA(1)<='f') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "HexLetter", + + // $ANTLR start Digit + mDigit: function() { + try { + // XQueryLexer.g:285:29: ( '0' .. '9' ) + // XQueryLexer.g:285:31: '0' .. '9' + this.matchRange('0','9'); + + + + } + finally { + } + }, + // $ANTLR end "Digit", + + // $ANTLR start Digits + mDigits: function() { + try { + // XQueryLexer.g:286:29: ( ( Digit )+ ) + // XQueryLexer.g:286:31: ( Digit )+ + // XQueryLexer.g:286:31: ( Digit )+ + var cnt2=0; + loop2: + do { + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // XQueryLexer.g:286:31: Digit + this.mDigit(); + + + break; + + default : + if ( cnt2 >= 1 ) { + break loop2; + } + var eee = new org.antlr.runtime.EarlyExitException(2, this.input); + throw eee; + } + cnt2++; + } while (true); + + + + + } + finally { + } + }, + // $ANTLR end "Digits", + + // $ANTLR start NCNameStartChar + mNCNameStartChar: function() { + try { + // XQueryLexer.g:288:29: ( Letter | '_' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "NCNameStartChar", + + // $ANTLR start NCNameChar + mNCNameChar: function() { + try { + // XQueryLexer.g:289:29: ( Letter | Digit | '.' | '-' | '_' ) + // XQueryLexer.g: + if ( (this.input.LA(1)>='-' && this.input.LA(1)<='.')||(this.input.LA(1)>='0' && this.input.LA(1)<='9')||(this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + + } + finally { + } + }, + // $ANTLR end "NCNameChar", + + // $ANTLR start S + mS: function() { + try { + var _type = this.S; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:292:9: ( ( '\\t' | ' ' | '\\n' | '\\r' )+ ) + // XQueryLexer.g:292:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + // XQueryLexer.g:292:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + var cnt3=0; + loop3: + do { + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // XQueryLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||this.input.LA(1)==' ' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt3 >= 1 ) { + break loop3; + } + var eee = new org.antlr.runtime.EarlyExitException(3, this.input); + throw eee; + } + cnt3++; + } while (true); + + _channel = HIDDEN; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "S", + + // $ANTLR start SU + mSU: function() { + try { + // XQueryLexer.g:295:9: ( ( '\\t' | ' ' | '\\n' | '\\r' )+ ) + // XQueryLexer.g:295:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + // XQueryLexer.g:295:11: ( '\\t' | ' ' | '\\n' | '\\r' )+ + var cnt4=0; + loop4: + do { + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( ((LA4_0>='\t' && LA4_0<='\n')||LA4_0=='\r'||LA4_0==' ') ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // XQueryLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||this.input.LA(1)==' ' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt4 >= 1 ) { + break loop4; + } + var eee = new org.antlr.runtime.EarlyExitException(4, this.input); + throw eee; + } + cnt4++; + } while (true); + + + + + } + finally { + } + }, + // $ANTLR end "SU", + + // $ANTLR start L_Pragma + mL_Pragma: function() { + try { + var _type = this.L_Pragma; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:306:9: ( PRAGMA_START ( SU )? L_NCName COLON L_NCName ( SU ( options {greedy=false; } : . )* )? PRAGMA_END ) + // XQueryLexer.g:306:11: PRAGMA_START ( SU )? L_NCName COLON L_NCName ( SU ( options {greedy=false; } : . )* )? PRAGMA_END + this.mPRAGMA_START(); + // XQueryLexer.g:306:24: ( SU )? + var alt5=2; + var LA5_0 = this.input.LA(1); + + if ( ((LA5_0>='\t' && LA5_0<='\n')||LA5_0=='\r'||LA5_0==' ') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // XQueryLexer.g:306:24: SU + this.mSU(); + + + break; + + } + + this.mL_NCName(); + this.mCOLON(); + this.mL_NCName(); + // XQueryLexer.g:306:52: ( SU ( options {greedy=false; } : . )* )? + var alt7=2; + var LA7_0 = this.input.LA(1); + + if ( ((LA7_0>='\t' && LA7_0<='\n')||LA7_0=='\r'||LA7_0==' ') ) { + alt7=1; + } + switch (alt7) { + case 1 : + // XQueryLexer.g:306:53: SU ( options {greedy=false; } : . )* + this.mSU(); + // XQueryLexer.g:306:56: ( options {greedy=false; } : . )* + loop6: + do { + var alt6=2; + var LA6_0 = this.input.LA(1); + + if ( (LA6_0=='#') ) { + var LA6_1 = this.input.LA(2); + + if ( (LA6_1==')') ) { + alt6=2; + } + else if ( ((LA6_1>='\u0000' && LA6_1<='(')||(LA6_1>='*' && LA6_1<='\uFFFF')) ) { + alt6=1; + } + + + } + else if ( ((LA6_0>='\u0000' && LA6_0<='\"')||(LA6_0>='$' && LA6_0<='\uFFFF')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // XQueryLexer.g:306:83: . + this.matchAny(); + + + break; + + default : + break loop6; + } + } while (true); + + + + break; + + } + + this.mPRAGMA_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_Pragma", + + // $ANTLR start L_DirCommentConstructor + mL_DirCommentConstructor: function() { + try { + var _type = this.L_DirCommentConstructor; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:316:9: ( XML_COMMENT_START ( options {greedy=false; } : ( . )* ) XML_COMMENT_END ) + // XQueryLexer.g:316:11: XML_COMMENT_START ( options {greedy=false; } : ( . )* ) XML_COMMENT_END + this.mXML_COMMENT_START(); + // XQueryLexer.g:316:29: ( options {greedy=false; } : ( . )* ) + // XQueryLexer.g:316:56: ( . )* + // XQueryLexer.g:316:56: ( . )* + loop8: + do { + var alt8=2; + var LA8_0 = this.input.LA(1); + + if ( (LA8_0=='-') ) { + var LA8_1 = this.input.LA(2); + + if ( (LA8_1=='-') ) { + var LA8_3 = this.input.LA(3); + + if ( (LA8_3=='>') ) { + alt8=2; + } + else if ( ((LA8_3>='\u0000' && LA8_3<='=')||(LA8_3>='?' && LA8_3<='\uFFFF')) ) { + alt8=1; + } + + + } + else if ( ((LA8_1>='\u0000' && LA8_1<=',')||(LA8_1>='.' && LA8_1<='\uFFFF')) ) { + alt8=1; + } + + + } + else if ( ((LA8_0>='\u0000' && LA8_0<=',')||(LA8_0>='.' && LA8_0<='\uFFFF')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // XQueryLexer.g:316:56: . + this.matchAny(); + + + break; + + default : + break loop8; + } + } while (true); + + + + + this.mXML_COMMENT_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DirCommentConstructor", + + // $ANTLR start L_DirPIConstructor + mL_DirPIConstructor: function() { + try { + var _type = this.L_DirPIConstructor; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:325:9: ( PI_START ( SU )? L_NCName ( SU ( options {greedy=false; } : ( . )* ) )? PI_END ) + // XQueryLexer.g:325:11: PI_START ( SU )? L_NCName ( SU ( options {greedy=false; } : ( . )* ) )? PI_END + this.mPI_START(); + // XQueryLexer.g:325:20: ( SU )? + var alt9=2; + var LA9_0 = this.input.LA(1); + + if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // XQueryLexer.g:325:20: SU + this.mSU(); + + + break; + + } + + this.mL_NCName(); + // XQueryLexer.g:325:33: ( SU ( options {greedy=false; } : ( . )* ) )? + var alt11=2; + var LA11_0 = this.input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + switch (alt11) { + case 1 : + // XQueryLexer.g:325:34: SU ( options {greedy=false; } : ( . )* ) + this.mSU(); + // XQueryLexer.g:325:36: ( options {greedy=false; } : ( . )* ) + // XQueryLexer.g:325:63: ( . )* + // XQueryLexer.g:325:63: ( . )* + loop10: + do { + var alt10=2; + var LA10_0 = this.input.LA(1); + + if ( (LA10_0=='?') ) { + var LA10_1 = this.input.LA(2); + + if ( (LA10_1=='>') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='=')||(LA10_1>='?' && LA10_1<='\uFFFF')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<='>')||(LA10_0>='@' && LA10_0<='\uFFFF')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // XQueryLexer.g:325:63: . + this.matchAny(); + + + break; + + default : + break loop10; + } + } while (true); + + + + + + + break; + + } + + this.mPI_END(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DirPIConstructor", + + // $ANTLR start L_IntegerLiteral + mL_IntegerLiteral: function() { + try { + var _type = this.L_IntegerLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:333:9: ( Digits ) + // XQueryLexer.g:333:13: Digits + this.mDigits(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_IntegerLiteral", + + // $ANTLR start L_DecimalLiteral + mL_DecimalLiteral: function() { + try { + var _type = this.L_DecimalLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:338:9: ( ( '.' Digits ) | ( Digits '.' ( Digit )* ) ) + var alt13=2; + var LA13_0 = this.input.LA(1); + + if ( (LA13_0=='.') ) { + alt13=1; + } + else if ( ((LA13_0>='0' && LA13_0<='9')) ) { + alt13=2; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 13, 0, this.input); + + throw nvae; + } + switch (alt13) { + case 1 : + // XQueryLexer.g:338:11: ( '.' Digits ) + // XQueryLexer.g:338:11: ( '.' Digits ) + // XQueryLexer.g:338:12: '.' Digits + this.match('.'); + this.mDigits(); + + + + + + break; + case 2 : + // XQueryLexer.g:338:26: ( Digits '.' ( Digit )* ) + // XQueryLexer.g:338:26: ( Digits '.' ( Digit )* ) + // XQueryLexer.g:338:27: Digits '.' ( Digit )* + this.mDigits(); + this.match('.'); + // XQueryLexer.g:338:38: ( Digit )* + loop12: + do { + var alt12=2; + var LA12_0 = this.input.LA(1); + + if ( ((LA12_0>='0' && LA12_0<='9')) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // XQueryLexer.g:338:38: Digit + this.mDigit(); + + + break; + + default : + break loop12; + } + } while (true); + + + + + + + break; + + } + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DecimalLiteral", + + // $ANTLR start L_DoubleLiteral + mL_DoubleLiteral: function() { + try { + var _type = this.L_DoubleLiteral; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:343:9: ( ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) ( 'e' | 'E' ) ( '+' | '-' )? Digits ) + // XQueryLexer.g:343:11: ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) ( 'e' | 'E' ) ( '+' | '-' )? Digits + // XQueryLexer.g:343:11: ( ( '.' Digits ) | ( Digits ( '.' ( Digit )* )? ) ) + var alt16=2; + var LA16_0 = this.input.LA(1); + + if ( (LA16_0=='.') ) { + alt16=1; + } + else if ( ((LA16_0>='0' && LA16_0<='9')) ) { + alt16=2; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 16, 0, this.input); + + throw nvae; + } + switch (alt16) { + case 1 : + // XQueryLexer.g:343:12: ( '.' Digits ) + // XQueryLexer.g:343:12: ( '.' Digits ) + // XQueryLexer.g:343:13: '.' Digits + this.match('.'); + this.mDigits(); + + + + + + break; + case 2 : + // XQueryLexer.g:343:27: ( Digits ( '.' ( Digit )* )? ) + // XQueryLexer.g:343:27: ( Digits ( '.' ( Digit )* )? ) + // XQueryLexer.g:343:28: Digits ( '.' ( Digit )* )? + this.mDigits(); + // XQueryLexer.g:343:35: ( '.' ( Digit )* )? + var alt15=2; + var LA15_0 = this.input.LA(1); + + if ( (LA15_0=='.') ) { + alt15=1; + } + switch (alt15) { + case 1 : + // XQueryLexer.g:343:36: '.' ( Digit )* + this.match('.'); + // XQueryLexer.g:343:40: ( Digit )* + loop14: + do { + var alt14=2; + var LA14_0 = this.input.LA(1); + + if ( ((LA14_0>='0' && LA14_0<='9')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // XQueryLexer.g:343:40: Digit + this.mDigit(); + + + break; + + default : + break loop14; + } + } while (true); + + + + break; + + } + + + + + + + break; + + } + + if ( this.input.LA(1)=='E'||this.input.LA(1)=='e' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + // XQueryLexer.g:343:63: ( '+' | '-' )? + var alt17=2; + var LA17_0 = this.input.LA(1); + + if ( (LA17_0=='+'||LA17_0=='-') ) { + alt17=1; + } + switch (alt17) { + case 1 : + // XQueryLexer.g: + if ( this.input.LA(1)=='+'||this.input.LA(1)=='-' ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + } + + this.mDigits(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_DoubleLiteral", + + // $ANTLR start L_Comment + mL_Comment: function() { + try { + var _type = this.L_Comment; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:348:9: ( '(:' ( options {greedy=false; } : L_Comment | . )* ':)' ) + // XQueryLexer.g:348:11: '(:' ( options {greedy=false; } : L_Comment | . )* ':)' + this.match("(:"); + + // XQueryLexer.g:348:16: ( options {greedy=false; } : L_Comment | . )* + loop18: + do { + var alt18=3; + var LA18_0 = this.input.LA(1); + + if ( (LA18_0==':') ) { + var LA18_1 = this.input.LA(2); + + if ( (LA18_1==')') ) { + alt18=3; + } + else if ( ((LA18_1>='\u0000' && LA18_1<='(')||(LA18_1>='*' && LA18_1<='\uFFFF')) ) { + alt18=2; + } + + + } + else if ( (LA18_0=='(') ) { + var LA18_2 = this.input.LA(2); + + if ( (LA18_2==':') ) { + alt18=1; + } + else if ( ((LA18_2>='\u0000' && LA18_2<='9')||(LA18_2>=';' && LA18_2<='\uFFFF')) ) { + alt18=2; + } + + + } + else if ( ((LA18_0>='\u0000' && LA18_0<='\'')||(LA18_0>=')' && LA18_0<='9')||(LA18_0>=';' && LA18_0<='\uFFFF')) ) { + alt18=2; + } + + + switch (alt18) { + case 1 : + // XQueryLexer.g:348:42: L_Comment + this.mL_Comment(); + + + break; + case 2 : + // XQueryLexer.g:348:54: . + this.matchAny(); + + + break; + + default : + break loop18; + } + } while (true); + + this.match(":)"); + + _channel = HIDDEN; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_Comment", + + // $ANTLR start L_AnyChar + mL_AnyChar: function() { + try { + var _type = this.L_AnyChar; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // XQueryLexer.g:351:11: ( . ) + // XQueryLexer.g:351:13: . + this.matchAny(); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_AnyChar", + + mTokens: function() { + // XQueryLexer.g:1:8: ( ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | RETURNING | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MANUALLY | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER | LPAREN | RPAREN | DOLLAR | LBRACKET | RBRACKET | LSQUARE | RSQUARE | EQUAL | BIND | NOTEQUAL | AMP | COMMA | QUESTION | STAR | PLUS | MINUS | SMALLER | GREATER | SMALLEREQ | GREATEREQ | SMALLER_SMALLER | GREATER_GREATER | SLASH | SLASH_SLASH | DOT | DOT_DOT | COLON | COLON_COLON | EMPTY_CLOSE_TAG | CLOSE_TAG | SEMICOLON | VBAR | PRAGMA_START | PRAGMA_END | XML_COMMENT_START | XML_COMMENT_END | PI_START | PI_END | ATTR_SIGN | CHARREF_DEC | CHARREF_HEX | APOS | QUOT | L_NCName | S | L_Pragma | L_DirCommentConstructor | L_DirPIConstructor | L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral | L_Comment | L_AnyChar ) + var alt19=230; + alt19 = this.dfa19.predict(this.input); + switch (alt19) { + case 1 : + // XQueryLexer.g:1:10: ANCESTOR + this.mANCESTOR(); + + + break; + case 2 : + // XQueryLexer.g:1:19: ANCESTOR_OR_SELF + this.mANCESTOR_OR_SELF(); + + + break; + case 3 : + // XQueryLexer.g:1:36: AND + this.mAND(); + + + break; + case 4 : + // XQueryLexer.g:1:40: AS + this.mAS(); + + + break; + case 5 : + // XQueryLexer.g:1:43: ASCENDING + this.mASCENDING(); + + + break; + case 6 : + // XQueryLexer.g:1:53: AT + this.mAT(); + + + break; + case 7 : + // XQueryLexer.g:1:56: ATTRIBUTE + this.mATTRIBUTE(); + + + break; + case 8 : + // XQueryLexer.g:1:66: BASE_URI + this.mBASE_URI(); + + + break; + case 9 : + // XQueryLexer.g:1:75: BOUNDARY_SPACE + this.mBOUNDARY_SPACE(); + + + break; + case 10 : + // XQueryLexer.g:1:90: BY + this.mBY(); + + + break; + case 11 : + // XQueryLexer.g:1:93: CASE + this.mCASE(); + + + break; + case 12 : + // XQueryLexer.g:1:98: CAST + this.mCAST(); + + + break; + case 13 : + // XQueryLexer.g:1:103: CASTABLE + this.mCASTABLE(); + + + break; + case 14 : + // XQueryLexer.g:1:112: CHILD + this.mCHILD(); + + + break; + case 15 : + // XQueryLexer.g:1:118: COLLATION + this.mCOLLATION(); + + + break; + case 16 : + // XQueryLexer.g:1:128: COMMENT + this.mCOMMENT(); + + + break; + case 17 : + // XQueryLexer.g:1:136: CONSTRUCTION + this.mCONSTRUCTION(); + + + break; + case 18 : + // XQueryLexer.g:1:149: COPY_NAMESPACES + this.mCOPY_NAMESPACES(); + + + break; + case 19 : + // XQueryLexer.g:1:165: DECLARE + this.mDECLARE(); + + + break; + case 20 : + // XQueryLexer.g:1:173: DEFAULT + this.mDEFAULT(); + + + break; + case 21 : + // XQueryLexer.g:1:181: DESCENDANT + this.mDESCENDANT(); + + + break; + case 22 : + // XQueryLexer.g:1:192: DESCENDANT_OR_SELF + this.mDESCENDANT_OR_SELF(); + + + break; + case 23 : + // XQueryLexer.g:1:211: DESCENDING + this.mDESCENDING(); + + + break; + case 24 : + // XQueryLexer.g:1:222: DIV + this.mDIV(); + + + break; + case 25 : + // XQueryLexer.g:1:226: DOCUMENT + this.mDOCUMENT(); + + + break; + case 26 : + // XQueryLexer.g:1:235: DOCUMENT_NODE + this.mDOCUMENT_NODE(); + + + break; + case 27 : + // XQueryLexer.g:1:249: ELEMENT + this.mELEMENT(); + + + break; + case 28 : + // XQueryLexer.g:1:257: ELSE + this.mELSE(); + + + break; + case 29 : + // XQueryLexer.g:1:262: EMPTY + this.mEMPTY(); + + + break; + case 30 : + // XQueryLexer.g:1:268: EMPTY_SEQUENCE + this.mEMPTY_SEQUENCE(); + + + break; + case 31 : + // XQueryLexer.g:1:283: ENCODING + this.mENCODING(); + + + break; + case 32 : + // XQueryLexer.g:1:292: EQ + this.mEQ(); + + + break; + case 33 : + // XQueryLexer.g:1:295: EVERY + this.mEVERY(); + + + break; + case 34 : + // XQueryLexer.g:1:301: EXCEPT + this.mEXCEPT(); + + + break; + case 35 : + // XQueryLexer.g:1:308: EXTERNAL + this.mEXTERNAL(); + + + break; + case 36 : + // XQueryLexer.g:1:317: FOLLOWING + this.mFOLLOWING(); + + + break; + case 37 : + // XQueryLexer.g:1:327: FOLLOWING_SIBLING + this.mFOLLOWING_SIBLING(); + + + break; + case 38 : + // XQueryLexer.g:1:345: FOR + this.mFOR(); + + + break; + case 39 : + // XQueryLexer.g:1:349: FUNCTION + this.mFUNCTION(); + + + break; + case 40 : + // XQueryLexer.g:1:358: GE + this.mGE(); + + + break; + case 41 : + // XQueryLexer.g:1:361: GREATEST + this.mGREATEST(); + + + break; + case 42 : + // XQueryLexer.g:1:370: GT + this.mGT(); + + + break; + case 43 : + // XQueryLexer.g:1:373: IDIV + this.mIDIV(); + + + break; + case 44 : + // XQueryLexer.g:1:378: IF + this.mIF(); + + + break; + case 45 : + // XQueryLexer.g:1:381: IMPORT + this.mIMPORT(); + + + break; + case 46 : + // XQueryLexer.g:1:388: IN + this.mIN(); + + + break; + case 47 : + // XQueryLexer.g:1:391: INHERIT + this.mINHERIT(); + + + break; + case 48 : + // XQueryLexer.g:1:399: INSTANCE + this.mINSTANCE(); + + + break; + case 49 : + // XQueryLexer.g:1:408: INTERSECT + this.mINTERSECT(); + + + break; + case 50 : + // XQueryLexer.g:1:418: IS + this.mIS(); + + + break; + case 51 : + // XQueryLexer.g:1:421: ITEM + this.mITEM(); + + + break; + case 52 : + // XQueryLexer.g:1:426: LAX + this.mLAX(); + + + break; + case 53 : + // XQueryLexer.g:1:430: LE + this.mLE(); + + + break; + case 54 : + // XQueryLexer.g:1:433: LEAST + this.mLEAST(); + + + break; + case 55 : + // XQueryLexer.g:1:439: LET + this.mLET(); + + + break; + case 56 : + // XQueryLexer.g:1:443: LT + this.mLT(); + + + break; + case 57 : + // XQueryLexer.g:1:446: MOD + this.mMOD(); + + + break; + case 58 : + // XQueryLexer.g:1:450: MODULE + this.mMODULE(); + + + break; + case 59 : + // XQueryLexer.g:1:457: NAMESPACE + this.mNAMESPACE(); + + + break; + case 60 : + // XQueryLexer.g:1:467: NE + this.mNE(); + + + break; + case 61 : + // XQueryLexer.g:1:470: NO_INHERIT + this.mNO_INHERIT(); + + + break; + case 62 : + // XQueryLexer.g:1:481: NO_PRESERVE + this.mNO_PRESERVE(); + + + break; + case 63 : + // XQueryLexer.g:1:493: NODE + this.mNODE(); + + + break; + case 64 : + // XQueryLexer.g:1:498: OF + this.mOF(); + + + break; + case 65 : + // XQueryLexer.g:1:501: OPTION + this.mOPTION(); + + + break; + case 66 : + // XQueryLexer.g:1:508: OR + this.mOR(); + + + break; + case 67 : + // XQueryLexer.g:1:511: ORDER + this.mORDER(); + + + break; + case 68 : + // XQueryLexer.g:1:517: ORDERED + this.mORDERED(); + + + break; + case 69 : + // XQueryLexer.g:1:525: ORDERING + this.mORDERING(); + + + break; + case 70 : + // XQueryLexer.g:1:534: PARENT + this.mPARENT(); + + + break; + case 71 : + // XQueryLexer.g:1:541: PRECEDING + this.mPRECEDING(); + + + break; + case 72 : + // XQueryLexer.g:1:551: PRECEDING_SIBLING + this.mPRECEDING_SIBLING(); + + + break; + case 73 : + // XQueryLexer.g:1:569: PRESERVE + this.mPRESERVE(); + + + break; + case 74 : + // XQueryLexer.g:1:578: PROCESSING_INSTRUCTION + this.mPROCESSING_INSTRUCTION(); + + + break; + case 75 : + // XQueryLexer.g:1:601: RETURN + this.mRETURN(); + + + break; + case 76 : + // XQueryLexer.g:1:608: SATISFIES + this.mSATISFIES(); + + + break; + case 77 : + // XQueryLexer.g:1:618: SCHEMA + this.mSCHEMA(); + + + break; + case 78 : + // XQueryLexer.g:1:625: SCHEMA_ATTRIBUTE + this.mSCHEMA_ATTRIBUTE(); + + + break; + case 79 : + // XQueryLexer.g:1:642: SCHEMA_ELEMENT + this.mSCHEMA_ELEMENT(); + + + break; + case 80 : + // XQueryLexer.g:1:657: SELF + this.mSELF(); + + + break; + case 81 : + // XQueryLexer.g:1:662: SOME + this.mSOME(); + + + break; + case 82 : + // XQueryLexer.g:1:667: STABLE + this.mSTABLE(); + + + break; + case 83 : + // XQueryLexer.g:1:674: STRICT + this.mSTRICT(); + + + break; + case 84 : + // XQueryLexer.g:1:681: STRIP + this.mSTRIP(); + + + break; + case 85 : + // XQueryLexer.g:1:687: TEXT + this.mTEXT(); + + + break; + case 86 : + // XQueryLexer.g:1:692: THEN + this.mTHEN(); + + + break; + case 87 : + // XQueryLexer.g:1:697: TO + this.mTO(); + + + break; + case 88 : + // XQueryLexer.g:1:700: TREAT + this.mTREAT(); + + + break; + case 89 : + // XQueryLexer.g:1:706: TYPESWITCH + this.mTYPESWITCH(); + + + break; + case 90 : + // XQueryLexer.g:1:717: UNION + this.mUNION(); + + + break; + case 91 : + // XQueryLexer.g:1:723: UNORDERED + this.mUNORDERED(); + + + break; + case 92 : + // XQueryLexer.g:1:733: VALIDATE + this.mVALIDATE(); + + + break; + case 93 : + // XQueryLexer.g:1:742: VARIABLE + this.mVARIABLE(); + + + break; + case 94 : + // XQueryLexer.g:1:751: VERSION + this.mVERSION(); + + + break; + case 95 : + // XQueryLexer.g:1:759: WHERE + this.mWHERE(); + + + break; + case 96 : + // XQueryLexer.g:1:765: XQUERY + this.mXQUERY(); + + + break; + case 97 : + // XQueryLexer.g:1:772: CATCH + this.mCATCH(); + + + break; + case 98 : + // XQueryLexer.g:1:778: CONTEXT + this.mCONTEXT(); + + + break; + case 99 : + // XQueryLexer.g:1:786: COUNT + this.mCOUNT(); + + + break; + case 100 : + // XQueryLexer.g:1:792: DECIMAL_FORMAT + this.mDECIMAL_FORMAT(); + + + break; + case 101 : + // XQueryLexer.g:1:807: DECIMAL_SEPARATOR + this.mDECIMAL_SEPARATOR(); + + + break; + case 102 : + // XQueryLexer.g:1:825: DIGIT + this.mDIGIT(); + + + break; + case 103 : + // XQueryLexer.g:1:831: END + this.mEND(); + + + break; + case 104 : + // XQueryLexer.g:1:835: GROUP + this.mGROUP(); + + + break; + case 105 : + // XQueryLexer.g:1:841: GROUPING_SEPARATOR + this.mGROUPING_SEPARATOR(); + + + break; + case 106 : + // XQueryLexer.g:1:860: INFINITY + this.mINFINITY(); + + + break; + case 107 : + // XQueryLexer.g:1:869: MINUS_SIGN + this.mMINUS_SIGN(); + + + break; + case 108 : + // XQueryLexer.g:1:880: NAMESPACE_NODE + this.mNAMESPACE_NODE(); + + + break; + case 109 : + // XQueryLexer.g:1:895: NAN + this.mNAN(); + + + break; + case 110 : + // XQueryLexer.g:1:899: NEXT + this.mNEXT(); + + + break; + case 111 : + // XQueryLexer.g:1:904: ONLY + this.mONLY(); + + + break; + case 112 : + // XQueryLexer.g:1:909: OUTER + this.mOUTER(); + + + break; + case 113 : + // XQueryLexer.g:1:915: PATTERN_SEPARATOR + this.mPATTERN_SEPARATOR(); + + + break; + case 114 : + // XQueryLexer.g:1:933: PERCENT + this.mPERCENT(); + + + break; + case 115 : + // XQueryLexer.g:1:941: PER_MILLE + this.mPER_MILLE(); + + + break; + case 116 : + // XQueryLexer.g:1:951: PREVIOUS + this.mPREVIOUS(); + + + break; + case 117 : + // XQueryLexer.g:1:960: SLIDING + this.mSLIDING(); + + + break; + case 118 : + // XQueryLexer.g:1:968: START + this.mSTART(); + + + break; + case 119 : + // XQueryLexer.g:1:974: TRY + this.mTRY(); + + + break; + case 120 : + // XQueryLexer.g:1:978: TUMBLING + this.mTUMBLING(); + + + break; + case 121 : + // XQueryLexer.g:1:987: WHEN + this.mWHEN(); + + + break; + case 122 : + // XQueryLexer.g:1:992: WINDOW + this.mWINDOW(); + + + break; + case 123 : + // XQueryLexer.g:1:999: ZERO_DIGIT + this.mZERO_DIGIT(); + + + break; + case 124 : + // XQueryLexer.g:1:1010: AFTER + this.mAFTER(); + + + break; + case 125 : + // XQueryLexer.g:1:1016: BEFORE + this.mBEFORE(); + + + break; + case 126 : + // XQueryLexer.g:1:1023: COPY + this.mCOPY(); + + + break; + case 127 : + // XQueryLexer.g:1:1028: DELETE + this.mDELETE(); + + + break; + case 128 : + // XQueryLexer.g:1:1035: FIRST + this.mFIRST(); + + + break; + case 129 : + // XQueryLexer.g:1:1041: INSERT + this.mINSERT(); + + + break; + case 130 : + // XQueryLexer.g:1:1048: INTO + this.mINTO(); + + + break; + case 131 : + // XQueryLexer.g:1:1053: LAST + this.mLAST(); + + + break; + case 132 : + // XQueryLexer.g:1:1058: MODIFY + this.mMODIFY(); + + + break; + case 133 : + // XQueryLexer.g:1:1065: NODES + this.mNODES(); + + + break; + case 134 : + // XQueryLexer.g:1:1071: RENAME + this.mRENAME(); + + + break; + case 135 : + // XQueryLexer.g:1:1078: REPLACE + this.mREPLACE(); + + + break; + case 136 : + // XQueryLexer.g:1:1086: REVALIDATION + this.mREVALIDATION(); + + + break; + case 137 : + // XQueryLexer.g:1:1099: SKIP + this.mSKIP(); + + + break; + case 138 : + // XQueryLexer.g:1:1104: UPDATING + this.mUPDATING(); + + + break; + case 139 : + // XQueryLexer.g:1:1113: VALUE + this.mVALUE(); + + + break; + case 140 : + // XQueryLexer.g:1:1119: WITH + this.mWITH(); + + + break; + case 141 : + // XQueryLexer.g:1:1124: BLOCK + this.mBLOCK(); + + + break; + case 142 : + // XQueryLexer.g:1:1130: CONSTANT + this.mCONSTANT(); + + + break; + case 143 : + // XQueryLexer.g:1:1139: EXIT + this.mEXIT(); + + + break; + case 144 : + // XQueryLexer.g:1:1144: RETURNING + this.mRETURNING(); + + + break; + case 145 : + // XQueryLexer.g:1:1154: SEQUENTIAL + this.mSEQUENTIAL(); + + + break; + case 146 : + // XQueryLexer.g:1:1165: SET + this.mSET(); + + + break; + case 147 : + // XQueryLexer.g:1:1169: SIMPLE + this.mSIMPLE(); + + + break; + case 148 : + // XQueryLexer.g:1:1176: WHILE + this.mWHILE(); + + + break; + case 149 : + // XQueryLexer.g:1:1182: EVAL + this.mEVAL(); + + + break; + case 150 : + // XQueryLexer.g:1:1187: USING + this.mUSING(); + + + break; + case 151 : + // XQueryLexer.g:1:1193: APPEND_ONLY + this.mAPPEND_ONLY(); + + + break; + case 152 : + // XQueryLexer.g:1:1205: AUTOMATICALLY + this.mAUTOMATICALLY(); + + + break; + case 153 : + // XQueryLexer.g:1:1219: CHECK + this.mCHECK(); + + + break; + case 154 : + // XQueryLexer.g:1:1225: COLLECTION + this.mCOLLECTION(); + + + break; + case 155 : + // XQueryLexer.g:1:1236: CONSTRAINT + this.mCONSTRAINT(); + + + break; + case 156 : + // XQueryLexer.g:1:1247: CONST + this.mCONST(); + + + break; + case 157 : + // XQueryLexer.g:1:1253: EQUALITY + this.mEQUALITY(); + + + break; + case 158 : + // XQueryLexer.g:1:1262: FOREACH + this.mFOREACH(); + + + break; + case 159 : + // XQueryLexer.g:1:1270: FOREIGN + this.mFOREIGN(); + + + break; + case 160 : + // XQueryLexer.g:1:1278: FROM + this.mFROM(); + + + break; + case 161 : + // XQueryLexer.g:1:1283: INDEX + this.mINDEX(); + + + break; + case 162 : + // XQueryLexer.g:1:1289: INTEGRITY + this.mINTEGRITY(); + + + break; + case 163 : + // XQueryLexer.g:1:1299: KEY + this.mKEY(); + + + break; + case 164 : + // XQueryLexer.g:1:1303: MAINTAINED + this.mMAINTAINED(); + + + break; + case 165 : + // XQueryLexer.g:1:1314: MANUALLY + this.mMANUALLY(); + + + break; + case 166 : + // XQueryLexer.g:1:1323: MUTABLE + this.mMUTABLE(); + + + break; + case 167 : + // XQueryLexer.g:1:1331: NON + this.mNON(); + + + break; + case 168 : + // XQueryLexer.g:1:1335: ON + this.mON(); + + + break; + case 169 : + // XQueryLexer.g:1:1338: QUEUE + this.mQUEUE(); + + + break; + case 170 : + // XQueryLexer.g:1:1344: RANGE + this.mRANGE(); + + + break; + case 171 : + // XQueryLexer.g:1:1350: READ_ONLY + this.mREAD_ONLY(); + + + break; + case 172 : + // XQueryLexer.g:1:1360: UNIQUE + this.mUNIQUE(); + + + break; + case 173 : + // XQueryLexer.g:1:1367: BINARY + this.mBINARY(); + + + break; + case 174 : + // XQueryLexer.g:1:1374: PRIVATE + this.mPRIVATE(); + + + break; + case 175 : + // XQueryLexer.g:1:1382: AMP_ER + this.mAMP_ER(); + + + break; + case 176 : + // XQueryLexer.g:1:1389: APOS_ER + this.mAPOS_ER(); + + + break; + case 177 : + // XQueryLexer.g:1:1397: QUOT_ER + this.mQUOT_ER(); + + + break; + case 178 : + // XQueryLexer.g:1:1405: LPAREN + this.mLPAREN(); + + + break; + case 179 : + // XQueryLexer.g:1:1412: RPAREN + this.mRPAREN(); + + + break; + case 180 : + // XQueryLexer.g:1:1419: DOLLAR + this.mDOLLAR(); + + + break; + case 181 : + // XQueryLexer.g:1:1426: LBRACKET + this.mLBRACKET(); + + + break; + case 182 : + // XQueryLexer.g:1:1435: RBRACKET + this.mRBRACKET(); + + + break; + case 183 : + // XQueryLexer.g:1:1444: LSQUARE + this.mLSQUARE(); + + + break; + case 184 : + // XQueryLexer.g:1:1452: RSQUARE + this.mRSQUARE(); + + + break; + case 185 : + // XQueryLexer.g:1:1460: EQUAL + this.mEQUAL(); + + + break; + case 186 : + // XQueryLexer.g:1:1466: BIND + this.mBIND(); + + + break; + case 187 : + // XQueryLexer.g:1:1471: NOTEQUAL + this.mNOTEQUAL(); + + + break; + case 188 : + // XQueryLexer.g:1:1480: AMP + this.mAMP(); + + + break; + case 189 : + // XQueryLexer.g:1:1484: COMMA + this.mCOMMA(); + + + break; + case 190 : + // XQueryLexer.g:1:1490: QUESTION + this.mQUESTION(); + + + break; + case 191 : + // XQueryLexer.g:1:1499: STAR + this.mSTAR(); + + + break; + case 192 : + // XQueryLexer.g:1:1504: PLUS + this.mPLUS(); + + + break; + case 193 : + // XQueryLexer.g:1:1509: MINUS + this.mMINUS(); + + + break; + case 194 : + // XQueryLexer.g:1:1515: SMALLER + this.mSMALLER(); + + + break; + case 195 : + // XQueryLexer.g:1:1523: GREATER + this.mGREATER(); + + + break; + case 196 : + // XQueryLexer.g:1:1531: SMALLEREQ + this.mSMALLEREQ(); + + + break; + case 197 : + // XQueryLexer.g:1:1541: GREATEREQ + this.mGREATEREQ(); + + + break; + case 198 : + // XQueryLexer.g:1:1551: SMALLER_SMALLER + this.mSMALLER_SMALLER(); + + + break; + case 199 : + // XQueryLexer.g:1:1567: GREATER_GREATER + this.mGREATER_GREATER(); + + + break; + case 200 : + // XQueryLexer.g:1:1583: SLASH + this.mSLASH(); + + + break; + case 201 : + // XQueryLexer.g:1:1589: SLASH_SLASH + this.mSLASH_SLASH(); + + + break; + case 202 : + // XQueryLexer.g:1:1601: DOT + this.mDOT(); + + + break; + case 203 : + // XQueryLexer.g:1:1605: DOT_DOT + this.mDOT_DOT(); + + + break; + case 204 : + // XQueryLexer.g:1:1613: COLON + this.mCOLON(); + + + break; + case 205 : + // XQueryLexer.g:1:1619: COLON_COLON + this.mCOLON_COLON(); + + + break; + case 206 : + // XQueryLexer.g:1:1631: EMPTY_CLOSE_TAG + this.mEMPTY_CLOSE_TAG(); + + + break; + case 207 : + // XQueryLexer.g:1:1647: CLOSE_TAG + this.mCLOSE_TAG(); + + + break; + case 208 : + // XQueryLexer.g:1:1657: SEMICOLON + this.mSEMICOLON(); + + + break; + case 209 : + // XQueryLexer.g:1:1667: VBAR + this.mVBAR(); + + + break; + case 210 : + // XQueryLexer.g:1:1672: PRAGMA_START + this.mPRAGMA_START(); + + + break; + case 211 : + // XQueryLexer.g:1:1685: PRAGMA_END + this.mPRAGMA_END(); + + + break; + case 212 : + // XQueryLexer.g:1:1696: XML_COMMENT_START + this.mXML_COMMENT_START(); + + + break; + case 213 : + // XQueryLexer.g:1:1714: XML_COMMENT_END + this.mXML_COMMENT_END(); + + + break; + case 214 : + // XQueryLexer.g:1:1730: PI_START + this.mPI_START(); + + + break; + case 215 : + // XQueryLexer.g:1:1739: PI_END + this.mPI_END(); + + + break; + case 216 : + // XQueryLexer.g:1:1746: ATTR_SIGN + this.mATTR_SIGN(); + + + break; + case 217 : + // XQueryLexer.g:1:1756: CHARREF_DEC + this.mCHARREF_DEC(); + + + break; + case 218 : + // XQueryLexer.g:1:1768: CHARREF_HEX + this.mCHARREF_HEX(); + + + break; + case 219 : + // XQueryLexer.g:1:1780: APOS + this.mAPOS(); + + + break; + case 220 : + // XQueryLexer.g:1:1785: QUOT + this.mQUOT(); + + + break; + case 221 : + // XQueryLexer.g:1:1790: L_NCName + this.mL_NCName(); + + + break; + case 222 : + // XQueryLexer.g:1:1799: S + this.mS(); + + + break; + case 223 : + // XQueryLexer.g:1:1801: L_Pragma + this.mL_Pragma(); + + + break; + case 224 : + // XQueryLexer.g:1:1810: L_DirCommentConstructor + this.mL_DirCommentConstructor(); + + + break; + case 225 : + // XQueryLexer.g:1:1834: L_DirPIConstructor + this.mL_DirPIConstructor(); + + + break; + case 226 : + // XQueryLexer.g:1:1853: L_IntegerLiteral + this.mL_IntegerLiteral(); + + + break; + case 227 : + // XQueryLexer.g:1:1870: L_DecimalLiteral + this.mL_DecimalLiteral(); + + + break; + case 228 : + // XQueryLexer.g:1:1887: L_DoubleLiteral + this.mL_DoubleLiteral(); + + + break; + case 229 : + // XQueryLexer.g:1:1903: L_Comment + this.mL_Comment(); + + + break; + case 230 : + // XQueryLexer.g:1:1913: L_AnyChar + this.mL_AnyChar(); + + + break; + + } + + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(XQueryLexer, { + DFA19_eotS: + "\u0001\uffff\u0018\u003e\u0001\u008e\u0007\uffff\u0001\u0098\u0001"+ + "\u0036\u0001\u009b\u0001\uffff\u0001\u009e\u0002\uffff\u0001\u00a2\u0001"+ + "\u00a8\u0001\u00ab\u0001\u00ae\u0001\u00b0\u0002\uffff\u0001\u0036\u0005"+ + "\uffff\u0001\u00b9\u0001\uffff\u0001\u003e\u0001\u00c0\u0001\u00c2\u0004"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u00ca\u000c\u003e\u0001\u00e4\u0006"+ + "\u003e\u0001\u00ef\u0001\u003e\u0001\u00f2\u0001\u003e\u0001\u00f4\u0001"+ + "\u003e\u0001\u00fb\u0001\u00fc\u0002\u003e\u0001\u0102\u0001\u0103\u0005"+ + "\u003e\u0001\u010b\u0001\u003e\u0001\u010f\u0001\u003e\u0001\u0112\u0001"+ + "\u0114\u0010\u003e\u0001\u012f\u000f\u003e\u0001\u0145\u000d\uffff\u0001"+ + "\u0148\u000c\uffff\u0001\u014a\u0009\uffff\u0001\u014c\u0008\uffff\u0001"+ + "\u00b9\u0001\u014c\u0001\uffff\u0001\u003e\u0001\u014f\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u0156\u0002\u003e\u0001"+ + "\uffff\u0010\u003e\u0001\u016c\u0006\u003e\u0001\u0173\u0001\u003e\u0001"+ + "\uffff\u0006\u003e\u0001\u017c\u0003\u003e\u0001\uffff\u0002\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0006\u003e\u0002\uffff\u0001\u003e\u0001"+ + "\u018c\u0002\u003e\u0001\u018f\u0002\uffff\u0001\u0192\u0006\u003e\u0001"+ + "\uffff\u0002\u003e\u0001\u019c\u0001\uffff\u0002\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\uffff\u0011\u003e\u0001\u01b4\u0008\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\u01bf\u000e\u003e\u0001\u01d1\u0001\u003e\u0001\u01d3\u0002"+ + "\u003e\u0008\uffff\u0001\u014c\u0001\u003e\u0001\uffff\u0004\u003e\u0001"+ + "\u01dc\u0001\u003e\u0001\uffff\u0005\u003e\u0001\u01e3\u0001\u01e5\u0007"+ + "\u003e\u0001\u01ef\u0006\u003e\u0001\uffff\u0003\u003e\u0001\u01f9\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u01fe\u0002\u003e\u0001\u0201\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u0207\u0002\u003e\u0001\u020a\u0005"+ + "\u003e\u0001\u0211\u0002\u003e\u0001\u0214\u0001\uffff\u0001\u0215\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0005\u003e\u0001\u021e\u0002"+ + "\u003e\u0001\u0222\u0001\uffff\u0002\u003e\u0001\u0225\u0012\u003e\u0001"+ + "\u0238\u0001\u003e\u0001\uffff\u0001\u023a\u0004\u003e\u0001\u0240\u0001"+ + "\u003e\u0001\u0242\u0001\u0243\u0001\u003e\u0001\uffff\u000c\u003e\u0001"+ + "\u0251\u0002\u003e\u0001\u0254\u0001\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\u0258\u0001\u0259\u0003\u003e\u0001\u025e\u0001"+ + "\u003e\u0001\uffff\u0004\u003e\u0001\u0264\u0001\u003e\u0001\uffff\u0001"+ + "\u003e\u0001\uffff\u0001\u0267\u0001\u0268\u0001\u0269\u0003\u003e\u0001"+ + "\u026f\u0002\u003e\u0001\uffff\u0001\u0272\u0005\u003e\u0001\u0278\u0002"+ + "\u003e\u0001\uffff\u0001\u027c\u0002\u003e\u0001\u027f\u0001\uffff\u0002"+ + "\u003e\u0001\uffff\u0004\u003e\u0001\u0286\u0001\uffff\u0001\u003e\u0001"+ + "\u0289\u0001\uffff\u0006\u003e\u0001\uffff\u0001\u003e\u0001\u0291\u0002"+ + "\uffff\u0001\u0292\u0007\u003e\u0001\uffff\u0002\u003e\u0001\u029c\u0001"+ + "\uffff\u0001\u003e\u0001\u02a0\u0001\uffff\u0001\u02a1\u000e\u003e\u0001"+ + "\u02b0\u0002\u003e\u0001\uffff\u0001\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\u02b5\u0001\u003e\u0001\u02b7\u0001\u003e\u0001\uffff\u0001\u003e\u0002"+ + "\uffff\u0001\u02ba\u0002\u003e\u0001\u02bd\u0003\u003e\u0001\u02c1\u0001"+ + "\u003e\u0001\u02c3\u0002\u003e\u0001\u02c6\u0001\uffff\u0001\u02c7\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u02cb\u0003\uffff\u0003\u003e\u0001"+ + "\uffff\u0004\u003e\u0001\u02d3\u0001\uffff\u0001\u02d4\u0001\u003e\u0003"+ + "\uffff\u0005\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0004\u003e\u0001"+ + "\u02e2\u0001\uffff\u0003\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0001"+ + "\u02e8\u0005\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u02f0\u0002"+ + "\u003e\u0001\u02f3\u0003\u003e\u0002\uffff\u0001\u02f7\u0001\u02f8\u0007"+ + "\u003e\u0001\uffff\u0001\u0300\u0002\u003e\u0002\uffff\u0001\u0303\u0008"+ + "\u003e\u0001\u030d\u0001\u030e\u0003\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\u0314\u0001\u003e\u0001\u0316\u0001\uffff\u0001\u0317\u0001\uffff\u0001"+ + "\u003e\u0001\u0319\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u031c\u0002"+ + "\u003e\u0001\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0002\uffff\u0001"+ + "\u0322\u0001\u0323\u0001\u003e\u0001\uffff\u0007\u003e\u0002\uffff\u0003"+ + "\u003e\u0001\u032f\u0003\u003e\u0001\u0333\u0001\u003e\u0001\u0335\u0001"+ + "\u003e\u0001\u0337\u0001\u003e\u0001\uffff\u0001\u003e\u0001\u033b\u0003"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u0341\u0001\u0342\u0003\u003e\u0001"+ + "\uffff\u0001\u0346\u0001\u003e\u0001\uffff\u0003\u003e\u0002\uffff\u0003"+ + "\u003e\u0001\u034e\u0003\u003e\u0001\uffff\u0001\u0352\u0001\u003e\u0001"+ + "\uffff\u0005\u003e\u0001\u0359\u0001\u035a\u0002\u003e\u0002\uffff\u0001"+ + "\u035d\u0004\u003e\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u0364\u0001"+ + "\uffff\u0002\u003e\u0001\uffff\u0004\u003e\u0001\u036b\u0002\uffff\u0001"+ + "\u003e\u0001\u036e\u0004\u003e\u0001\u0373\u0001\u003e\u0001\u0375\u0002"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u037a\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0001\u0381\u0001\uffff\u0001"+ + "\u003e\u0001\u0383\u0001\u0384\u0001\u0385\u0001\u003e\u0002\uffff\u0001"+ + "\u0387\u0001\u0388\u0001\u003e\u0001\uffff\u0001\u038a\u0002\u003e\u0001"+ + "\u038d\u0002\u003e\u0001\u0390\u0001\uffff\u0003\u003e\u0001\uffff\u0001"+ + "\u0394\u0002\u003e\u0001\u0397\u0001\u0398\u0001\u003e\u0002\uffff\u0002"+ + "\u003e\u0001\uffff\u0006\u003e\u0001\uffff\u0001\u003e\u0001\u03a3\u0001"+ + "\u003e\u0001\u03a5\u0001\u03a6\u0001\u03a7\u0001\uffff\u0002\u003e\u0001"+ + "\uffff\u0001\u03aa\u0001\u03ab\u0002\u003e\u0001\uffff\u0001\u003e\u0001"+ + "\uffff\u0001\u03af\u0003\u003e\u0001\uffff\u0006\u003e\u0001\uffff\u0001"+ + "\u003e\u0003\uffff\u0001\u03bb\u0002\uffff\u0001\u003e\u0001\uffff\u0001"+ + "\u03bd\u0001\u03be\u0001\uffff\u0002\u003e\u0001\uffff\u0001\u03c2\u0002"+ + "\u003e\u0001\uffff\u0001\u003e\u0001\u03c7\u0002\uffff\u0001\u003e\u0001"+ + "\u03c9\u0001\u03ca\u0001\u003e\u0001\u03cc\u0001\u03cd\u0004\u003e\u0001"+ + "\uffff\u0001\u03d2\u0003\uffff\u0002\u003e\u0002\uffff\u0003\u003e\u0001"+ + "\uffff\u0001\u03d8\u0001\u003e\u0001\u03da\u0003\u003e\u0001\u03df\u0001"+ + "\u03e0\u0003\u003e\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u03e5\u0001"+ + "\u03e6\u0001\u003e\u0001\uffff\u0001\u03e8\u0003\u003e\u0001\uffff\u0001"+ + "\u003e\u0002\uffff\u0001\u003e\u0002\uffff\u0002\u003e\u0001\u03f0\u0001"+ + "\u03f1\u0001\uffff\u0001\u03f2\u0001\u003e\u0001\u03f4\u0002\u003e\u0001"+ + "\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0002\uffff\u0004\u003e\u0002"+ + "\uffff\u0001\u003e\u0001\uffff\u0001\u0401\u0006\u003e\u0003\uffff\u0001"+ + "\u003e\u0001\uffff\u0002\u003e\u0001\u040b\u0009\u003e\u0001\uffff\u0003"+ + "\u003e\u0001\u0418\u0003\u003e\u0001\u041c\u0001\u003e\u0001\uffff\u0004"+ + "\u003e\u0001\u0422\u0007\u003e\u0001\uffff\u0003\u003e\u0001\uffff\u0001"+ + "\u042d\u0001\u003e\u0001\u042f\u0002\u003e\u0001\uffff\u0001\u0432\u0002"+ + "\u003e\u0001\u0435\u0004\u003e\u0001\u043a\u0001\u003e\u0001\uffff\u0001"+ + "\u043c\u0001\uffff\u0002\u003e\u0001\uffff\u0002\u003e\u0001\uffff\u0004"+ + "\u003e\u0001\uffff\u0001\u0445\u0001\uffff\u0007\u003e\u0001\u044d\u0001"+ + "\uffff\u0001\u044e\u0001\u003e\u0001\u0450\u0001\u003e\u0001\u0452\u0001"+ + "\u0453\u0001\u003e\u0002\uffff\u0001\u0455\u0001\uffff\u0001\u0456\u0002"+ + "\uffff\u0001\u003e\u0002\uffff\u0003\u003e\u0001\u045b\u0001\uffff", + DFA19_eofS: + "\u045c\uffff", + DFA19_minS: + "\u0001\u0000\u0001\u0066\u0002\u0061\u0001\u0065\u0001\u006c\u0001"+ + "\u0069\u0001\u0065\u0001\u0064\u0003\u0061\u0001\u0066\u0003\u0061\u0001"+ + "\u0065\u0001\u006e\u0001\u0061\u0001\u0068\u0001\u0071\u0001\u0061\u0002"+ + "\u0065\u0001\u0075\u0001\u0023\u0007\uffff\u0001\u003a\u0001\u003d\u0001"+ + "\u0023\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u002d\u0001\u0021\u0001"+ + "\u003d\u0001\u002f\u0001\u002e\u0002\uffff\u0001\u0029\u0005\uffff\u0001"+ + "\u002e\u0001\uffff\u0001\u0063\u0002\u002d\u0001\u0074\u0001\u006f\u0001"+ + "\u0074\u0001\u0070\u0001\uffff\u0001\u0073\u0001\u0075\u0001\u002d\u0001"+ + "\u0066\u0001\u006f\u0001\u006e\u0001\u0073\u0001\u0065\u0001\u006c\u0001"+ + "\u0063\u0001\u0067\u0001\u0063\u0001\u0065\u0001\u0070\u0001\u0063\u0001"+ + "\u002d\u0001\u0061\u0001\u0063\u0001\u006c\u0001\u006e\u0001\u0072\u0001"+ + "\u006f\u0001\u002d\u0001\u0065\u0001\u002d\u0001\u0069\u0001\u002d\u0001"+ + "\u0070\u0002\u002d\u0001\u0065\u0001\u0073\u0002\u002d\u0001\u0064\u0001"+ + "\u006e\u0001\u0069\u0001\u0074\u0001\u006d\u0003\u002d\u0001\u0074\u0002"+ + "\u002d\u0001\u0074\u0001\u0072\u0001\u0065\u0001\u0072\u0001\u0061\u0001"+ + "\u006e\u0001\u0074\u0001\u0068\u0001\u006c\u0001\u006d\u0001\u0061\u0002"+ + "\u0069\u0001\u006d\u0001\u0078\u0001\u0065\u0001\u002d\u0001\u0065\u0001"+ + "\u0070\u0001\u006d\u0001\u0069\u0001\u0064\u0001\u0069\u0001\u006c\u0001"+ + "\u0072\u0001\u0065\u0001\u006e\u0001\u0075\u0001\u004e\u0001\u0072\u0001"+ + "\u0079\u0001\u0065\u0001\u0009\u000d\uffff\u0001\u0078\u000b\uffff\u0001"+ + "\u002d\u0001\u0009\u0009\uffff\u0001\u0030\u0008\uffff\u0001\u002e\u0001"+ + "\u0030\u0001\uffff\u0001\u0065\u0001\u002d\u0001\u0065\u0001\uffff\u0001"+ + "\u0072\u0001\uffff\u0002\u0065\u0001\u0073\u0001\u006f\u0001\u002d\u0001"+ + "\u0065\u0001\u006e\u0001\uffff\u0001\u006f\u0001\u0063\u0001\u0061\u0001"+ + "\u0065\u0001\u0063\u0001\u006c\u0001\u0063\u0001\u006c\u0001\u006d\u0001"+ + "\u0073\u0001\u0079\u0001\u006e\u0001\u0069\u0001\u0061\u0001\u0063\u0001"+ + "\u0065\u0001\u002d\u0001\u0069\u0001\u0075\u0001\u006d\u0001\u0065\u0001"+ + "\u0074\u0001\u006f\u0001\u002d\u0001\u0061\u0001\uffff\u0001\u0072\u0001"+ + "\u006c\u0002\u0065\u0001\u0074\u0001\u006c\u0001\u002d\u0001\u0063\u0001"+ + "\u0073\u0001\u006d\u0001\uffff\u0001\u0061\u0001\u0075\u0001\uffff\u0001"+ + "\u0076\u0001\uffff\u0001\u006f\u0003\u0065\u0001\u0069\u0001\u0065\u0002"+ + "\uffff\u0001\u006d\u0001\u002d\u0001\u0074\u0001\u0073\u0001\u002d\u0002"+ + "\uffff\u0001\u002d\u0001\u0075\u0001\u006e\u0001\u0075\u0001\u0061\u0001"+ + "\u0065\u0001\u0074\u0001\uffff\u0001\u0069\u0001\u0065\u0001\u002d\u0001"+ + "\uffff\u0001\u0069\u0001\u0065\u0001\uffff\u0001\u0079\u0001\uffff\u0002"+ + "\u0065\u0001\u0074\u0002\u0063\u0001\u0076\u0001\u002d\u0001\u0075\u0001"+ + "\u0061\u0001\u006c\u0001\u0061\u0001\u0064\u0001\u0067\u0001\u0069\u0001"+ + "\u0065\u0001\u0066\u0001\u0075\u0001\u002d\u0001\u0065\u0001\u0062\u0001"+ + "\u0069\u0001\u0064\u0002\u0070\u0001\u0074\u0001\u006e\u0001\uffff\u0001"+ + "\u0061\u0001\u002d\u0001\u0065\u0001\u0062\u0001\u006f\u0001\u0072\u0001"+ + "\u0061\u0001\u006e\u0002\u0069\u0001\u0073\u0001\u006e\u0001\u006c\u0001"+ + "\u0064\u0001\u0068\u0001\u0065\u0001\u002d\u0001\u006f\u0001\u002d\u0001"+ + "\u0075\u0001\u0074\u0004\uffff\u0001\u002d\u0003\uffff\u0001\u0030\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0069\u0001\u0072\u0001\u006e\u0001"+ + "\u002d\u0001\u006d\u0001\uffff\u0001\u002d\u0001\u0064\u0001\u0072\u0001"+ + "\u006b\u0001\u0072\u0002\u002d\u0001\u0068\u0001\u0064\u0001\u006b\u0001"+ + "\u0061\u0001\u0065\u0001\u0074\u0001\u0065\u0001\u002d\u0001\u0074\u0001"+ + "\u0061\u0001\u006d\u0001\u0075\u0001\u0065\u0001\u0074\u0001\uffff\u0001"+ + "\u0074\u0001\u006d\u0001\u0065\u0001\u002d\u0001\u0079\u0001\u0064\u0001"+ + "\uffff\u0001\u006c\u0001\u0079\u0001\u002d\u0001\u0070\u0001\u0072\u0001"+ + "\u002d\u0001\u006f\u0001\u0061\u0001\uffff\u0002\u0074\u0001\u002d\u0001"+ + "\u0074\u0001\u0070\u0001\u002d\u0002\u0072\u0001\u0061\u0001\u0072\u0001"+ + "\u0067\u0001\u002d\u0001\u006e\u0001\u0078\u0001\u002d\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u0066\u0001\uffff\u0001"+ + "\u0073\u0001\u0074\u0001\u0061\u0001\u0062\u0001\u0073\u0001\u002d\u0001"+ + "\u006e\u0001\u0072\u0001\u002d\u0001\uffff\u0001\u006f\u0001\u0072\u0001"+ + "\u002d\u0001\u0072\u0001\u006e\u0003\u0065\u0001\u0069\u0001\u0065\u0001"+ + "\u0061\u0001\u0065\u0001\u006d\u0001\u0072\u0001\u006d\u0001\u0061\u0001"+ + "\u006c\u0001\u002d\u0001\u0065\u0001\u0073\u0001\u006d\u0001\u002d\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\u006c\u0001\u0074\u0001\u0063\u0001"+ + "\u0069\u0001\u002d\u0001\u006c\u0002\u002d\u0001\u0074\u0001\uffff\u0001"+ + "\u0073\u0001\u006c\u0001\u006e\u0001\u0075\u0001\u0064\u0001\u0074\u0001"+ + "\u0067\u0001\u0064\u0001\u0065\u0001\u0061\u0001\u0069\u0001\u0065\u0001"+ + "\u002d\u0001\u0065\u0001\u006f\u0001\u002d\u0001\u0072\u0001\uffff\u0001"+ + "\u002d\u0001\uffff\u0001\u0065\u0001\u002d\u0001\u0000\u0001\u0074\u0001"+ + "\u0064\u0001\u0062\u0001\u002d\u0001\u0064\u0001\uffff\u0001\u0061\u0001"+ + "\u0075\u0001\u0061\u0001\u0065\u0001\u002d\u0001\u0079\u0001\uffff\u0001"+ + "\u0062\u0001\uffff\u0003\u002d\u0001\u0074\u0001\u0063\u0001\u006e\u0001"+ + "\u002d\u0001\u0078\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0072\u0001"+ + "\u0061\u0001\u006c\u0001\u006e\u0001\u0065\u0001\u002d\u0001\u0065\u0001"+ + "\u006e\u0001\uffff\u0001\u002d\u0002\u0069\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\uffff\u0001\u0077\u0001\u0063\u0001\u0067\u0001"+ + "\u0069\u0001\u002d\u0001\uffff\u0001\u0065\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u0069\u0001\u006e\u0001\u0074\u0001\u0073\u0001\u0072\u0001"+ + "\uffff\u0001\u0069\u0001\u002d\u0002\uffff\u0001\u002d\u0001\u0065\u0001"+ + "\u0079\u0001\u002d\u0001\u0061\u0002\u006c\u0001\u0070\u0001\uffff\u0001"+ + "\u0068\u0001\u0065\u0001\u002d\u0001\uffff\u0001\u006e\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0074\u0001\u0072\u0001\u0064\u0001\u0072\u0001"+ + "\u006f\u0001\u0073\u0001\u0074\u0001\u006e\u0001\u0069\u0001\u006e\u0001"+ + "\u0065\u0001\u0063\u0001\u0069\u0001\u006f\u0001\u002d\u0001\u0066\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0065\u0001\u002d\u0001"+ + "\u0074\u0001\u002d\u0001\u006e\u0001\uffff\u0001\u0065\u0002\uffff\u0001"+ + "\u002d\u0001\u0077\u0001\u0069\u0001\u002d\u0002\u0065\u0001\u0069\u0001"+ + "\u002d\u0001\u0061\u0001\u002d\u0001\u0062\u0001\u006f\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0077\u0001\uffff\u0001\u0079\u0001\u0064\u0001"+ + "\u002d\u0003\uffff\u0001\u006f\u0001\u0069\u0001\u0075\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0002\u0072\u0001\u002d\u0001\uffff\u0001\u002d\u0001"+ + "\u006c\u0003\uffff\u0001\u0069\u0002\u0074\u0001\u0061\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\u0061\u0001\uffff\u0001\u0065\u0001\u006c\u0001"+ + "\u0074\u0001\u0064\u0001\u002d\u0001\uffff\u0001\u006e\u0001\u0074\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u002d\u0001"+ + "\u0061\u0001\u0069\u0001\u0068\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0073\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0074\u0001\u0063\u0001"+ + "\u002d\u0001\u0065\u0001\u0069\u0001\u0074\u0002\uffff\u0002\u002d\u0001"+ + "\u0073\u0001\u0069\u0001\u006c\u0001\u0065\u0001\u0061\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u002d\u0001\u0064\u0001\u006e\u0002\uffff\u0001"+ + "\u002d\u0001\u006e\u0001\u0069\u0001\u0076\u0001\u0075\u0001\u0073\u0001"+ + "\u0065\u0001\u0074\u0001\u006c\u0002\u002d\u0001\u0065\u0001\u0064\u0001"+ + "\u006e\u0001\uffff\u0001\u0069\u0001\u002d\u0001\u0074\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\uffff\u0001\u0067\u0001\u002d\u0001\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0072\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u006e\u0002\uffff\u0002"+ + "\u002d\u0001\u0069\u0001\uffff\u0001\u0072\u0001\u006e\u0001\u0074\u0001"+ + "\u006f\u0002\u0069\u0001\u0079\u0002\uffff\u0001\u0065\u0001\u006f\u0001"+ + "\u0069\u0001\u002d\u0001\u0063\u0001\u0069\u0001\u0074\u0001\u002d\u0001"+ + "\u006d\u0003\u002d\u0001\u0061\u0001\uffff\u0001\u0074\u0001\u002d\u0001"+ + "\u0065\u0001\u0067\u0001\u0079\u0001\uffff\u0001\u006c\u0001\u006e\u0002"+ + "\u002d\u0001\u006e\u0001\u0074\u0001\u0067\u0001\uffff\u0001\u002d\u0001"+ + "\u0065\u0001\uffff\u0001\u0063\u0001\u0074\u0001\u0079\u0002\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\u0079\u0001\u002d\u0001\u0063\u0001\u0072\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\u0067\u0001\uffff\u0001\u002d\u0001"+ + "\u006e\u0001\u0065\u0001\u0073\u0001\u0069\u0002\u002d\u0001\u006c\u0001"+ + "\u006e\u0002\uffff\u0001\u002d\u0001\u0061\u0001\u006c\u0001\u0065\u0001"+ + "\u0061\u0001\uffff\u0001\u0069\u0002\uffff\u0001\u002d\u0001\uffff\u0001"+ + "\u0074\u0001\u0067\u0001\uffff\u0001\u0065\u0001\u0067\u0002\u0065\u0001"+ + "\u002d\u0002\uffff\u0001\u0067\u0001\u002d\u0001\u0067\u0001\u0065\u0001"+ + "\u006e\u0001\u0063\u0003\u002d\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\u002d\u0001\uffff\u0001\u0065\u0001\uffff\u0001"+ + "\u0066\u0001\uffff\u0002\u006e\u0001\u002d\u0001\uffff\u0001\u0071\u0003"+ + "\u002d\u0001\u0067\u0002\uffff\u0003\u002d\u0001\uffff\u0001\u002d\u0001"+ + "\u0074\u0001\u0079\u0001\u002d\u0001\u0067\u0001\u0065\u0001\u002d\u0001"+ + "\uffff\u0001\u0065\u0001\u0069\u0001\u0072\u0001\uffff\u0001\u002d\u0001"+ + "\u0073\u0001\u0067\u0002\u002d\u0001\u006e\u0002\uffff\u0001\u0065\u0001"+ + "\u0067\u0001\uffff\u0001\u0074\u0001\u0079\u0001\u0073\u0001\u0074\u0001"+ + "\u006c\u0001\u0061\u0001\uffff\u0001\u0063\u0001\u002d\u0001\u0064\u0003"+ + "\u002d\u0001\uffff\u0001\u0069\u0001\u006f\u0001\uffff\u0002\u002d\u0001"+ + "\u006c\u0001\u0061\u0001\uffff\u0001\u0073\u0001\uffff\u0001\u002d\u0001"+ + "\u006e\u0001\u0069\u0001\u0074\u0001\uffff\u0001\u0073\u0001\u006f\u0001"+ + "\u0065\u0001\u0074\u0001\u0067\u0001\u006e\u0001\uffff\u0001\u0075\u0003"+ + "\uffff\u0001\u002d\u0002\uffff\u0001\u0073\u0001\uffff\u0002\u002d\u0001"+ + "\uffff\u0001\u006e\u0001\u0064\u0001\uffff\u0001\u002d\u0001\u0074\u0001"+ + "\u0076\u0001\uffff\u0001\u0065\u0001\u002d\u0002\uffff\u0001\u0067\u0002"+ + "\u002d\u0001\u0069\u0002\u002d\u0001\u0074\u0001\u0065\u0001\u006c\u0001"+ + "\u0068\u0001\uffff\u0001\u002d\u0003\uffff\u0001\u0074\u0001\u0072\u0002"+ + "\uffff\u0001\u0079\u0001\u006c\u0001\u0070\u0001\uffff\u0001\u002d\u0001"+ + "\u006f\u0001\u002d\u0001\u0070\u0001\u0072\u0001\u0070\u0002\u002d\u0001"+ + "\u006f\u0001\u0065\u0001\u0073\u0001\uffff\u0001\u0065\u0002\uffff\u0002"+ + "\u002d\u0001\u006e\u0001\uffff\u0001\u002d\u0001\u0065\u0001\u0070\u0001"+ + "\u0073\u0001\uffff\u0001\u002d\u0002\uffff\u0001\u006f\u0002\uffff\u0001"+ + "\u0072\u0001\u006d\u0002\u002d\u0001\uffff\u0003\u002d\u0001\u006c\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0061\u0001\u006d\u0001"+ + "\u0061\u0001\u006f\u0002\uffff\u0001\u0064\u0001\u006e\u0001\u0069\u0001"+ + "\u0070\u0002\uffff\u0001\u006f\u0001\uffff\u0001\u002d\u0001\u0061\u0002"+ + "\u0069\u0001\u006e\u0001\u0069\u0001\u0065\u0003\uffff\u0001\u0073\u0001"+ + "\uffff\u0001\u0079\u0001\u0063\u0001\u002d\u0001\u0063\u0001\u0061\u0002"+ + "\u0072\u0001\u0065\u0001\u0063\u0001\u0062\u0001\u0061\u0001\u0064\u0001"+ + "\uffff\u0001\u0072\u0001\u0062\u0001\u006e\u0001\u002d\u0001\u0062\u0001"+ + "\u006e\u0001\u0065\u0001\u002d\u0001\u0065\u0001\uffff\u0001\u0065\u0001"+ + "\u0074\u0001\u0061\u0002\u002d\u0001\u0065\u0001\u006c\u0001\u0072\u0001"+ + "\u0065\u0001\u0061\u0001\u006c\u0001\u0073\u0001\uffff\u0001\u0075\u0001"+ + "\u0074\u0001\u006c\u0001\uffff\u0001\u002d\u0001\u0073\u0001\u002d\u0001"+ + "\u0074\u0001\u0073\u0001\uffff\u0001\u002d\u0001\u0069\u0001\u0061\u0001"+ + "\u002d\u0001\u0074\u0001\u0069\u0002\u0074\u0001\u002d\u0001\u0066\u0001"+ + "\uffff\u0001\u002d\u0001\uffff\u0001\u006f\u0001\u0065\u0001\uffff\u0001"+ + "\u006e\u0001\u0074\u0001\uffff\u0001\u006f\u0001\u006e\u0001\u0072\u0001"+ + "\u0065\u0001\uffff\u0001\u002d\u0001\uffff\u0001\u0072\u0001\u006c\u0001"+ + "\u0067\u0001\u006f\u0001\u0072\u0001\u0067\u0001\u0075\u0001\u002d\u0001"+ + "\uffff\u0001\u002d\u0001\u0066\u0001\u002d\u0001\u0072\u0002\u002d\u0001"+ + "\u0063\u0002\uffff\u0001\u002d\u0001\uffff\u0001\u002d\u0002\uffff\u0001"+ + "\u0074\u0002\uffff\u0001\u0069\u0001\u006f\u0001\u006e\u0001\u002d\u0001"+ + "\uffff", + DFA19_maxS: + "\u0001\uffff\u0001\u0075\u0001\u0079\u0002\u006f\u0001\u0078\u0001"+ + "\u0075\u0003\u0074\u0001\u0075\u0001\u006f\u0001\u0075\u0001\u0072\u0001"+ + "\u0065\u0001\u0074\u0001\u0079\u0001\u0073\u0001\u0065\u0001\u0069\u0001"+ + "\u0071\u0001\u0061\u0002\u0065\u0001\u0075\u0001\u003a\u0007\uffff\u0002"+ + "\u003d\u0001\u0023\u0001\uffff\u0001\u003e\u0002\uffff\u0001\u002d\u0001"+ + "\u003f\u0002\u003e\u0001\u0039\u0002\uffff\u0001\u0029\u0005\uffff\u0001"+ + "\u0065\u0001\uffff\u0001\u0064\u0002\u007a\u0001\u0074\u0001\u0070\u0001"+ + "\u0074\u0001\u0070\u0001\uffff\u0001\u0073\u0001\u0075\u0001\u007a\u0001"+ + "\u0066\u0001\u006f\u0001\u006e\u0001\u0074\u0001\u0069\u0001\u0075\u0001"+ + "\u0073\u0001\u0076\u0001\u0063\u0001\u0073\u0001\u0070\u0001\u0064\u0001"+ + "\u007a\u0001\u0065\u0001\u0074\u0001\u0072\u0001\u006e\u0001\u0072\u0001"+ + "\u006f\u0001\u007a\u0001\u006f\u0001\u007a\u0001\u0069\u0001\u007a\u0001"+ + "\u0070\u0002\u007a\u0001\u0065\u0001\u0078\u0002\u007a\u0001\u0064\u0002"+ + "\u006e\u0001\u0074\u0001\u006d\u0001\u007a\u0001\u006e\u0001\u007a\u0001"+ + "\u0074\u0002\u007a\u0002\u0074\u0001\u006f\u0001\u0072\u0001\u0076\u0001"+ + "\u006e\u0001\u0074\u0001\u0068\u0001\u0074\u0001\u006d\u0001\u0072\u0002"+ + "\u0069\u0001\u006d\u0001\u0078\u0001\u0065\u0001\u007a\u0001\u0079\u0001"+ + "\u0070\u0001\u006d\u0001\u006f\u0001\u0064\u0001\u0069\u0002\u0072\u0001"+ + "\u0069\u0001\u0074\u0001\u0075\u0001\u004e\u0001\u0072\u0001\u0079\u0001"+ + "\u006f\u0001\u007a\u000d\uffff\u0001\u0078\u000b\uffff\u0001\u002d\u0001"+ + "\u007a\u0009\uffff\u0001\u0065\u0008\uffff\u0002\u0065\u0001\uffff\u0001"+ + "\u0065\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0072\u0001\uffff\u0002"+ + "\u0065\u0001\u0073\u0001\u006f\u0001\u007a\u0001\u0065\u0001\u006e\u0001"+ + "\uffff\u0001\u006f\u0001\u0063\u0001\u0061\u0001\u0074\u0001\u0063\u0001"+ + "\u006c\u0001\u0063\u0001\u006c\u0001\u006d\u0001\u0074\u0001\u0079\u0001"+ + "\u006e\u0001\u006c\u0001\u0061\u0001\u0063\u0001\u0065\u0001\u007a\u0001"+ + "\u0069\u0001\u0075\u0001\u006d\u0001\u0065\u0001\u0074\u0001\u006f\u0001"+ + "\u007a\u0001\u0061\u0001\uffff\u0001\u0072\u0001\u006c\u0002\u0065\u0001"+ + "\u0074\u0001\u006c\u0001\u007a\u0001\u0063\u0001\u0073\u0001\u006d\u0001"+ + "\uffff\u0001\u0061\u0001\u0075\u0001\uffff\u0001\u0076\u0001\uffff\u0001"+ + "\u006f\u0001\u0065\u0001\u0074\u0001\u006f\u0001\u0069\u0001\u0065\u0002"+ + "\uffff\u0001\u006d\u0001\u007a\u0001\u0074\u0001\u0073\u0001\u007a\u0002"+ + "\uffff\u0001\u007a\u0001\u0075\u0001\u006e\u0001\u0075\u0001\u0061\u0001"+ + "\u0065\u0001\u0074\u0001\uffff\u0001\u0070\u0001\u0065\u0001\u007a\u0001"+ + "\uffff\u0001\u0069\u0001\u0065\u0001\uffff\u0001\u0079\u0001\uffff\u0002"+ + "\u0065\u0001\u0074\u0001\u0076\u0001\u0063\u0001\u0076\u0001\u0063\u0001"+ + "\u0075\u0001\u0061\u0001\u006c\u0001\u0061\u0001\u0064\u0001\u0067\u0001"+ + "\u0069\u0001\u0065\u0001\u0066\u0001\u0075\u0001\u007a\u0001\u0065\u0001"+ + "\u0072\u0001\u0069\u0001\u0064\u0002\u0070\u0001\u0074\u0001\u006e\u0001"+ + "\uffff\u0001\u0061\u0001\u007a\u0001\u0065\u0001\u0062\u0001\u0071\u0001"+ + "\u0072\u0001\u0061\u0001\u006e\u0001\u0075\u0001\u0069\u0001\u0073\u0001"+ + "\u0072\u0001\u006c\u0001\u0064\u0001\u0068\u0001\u0065\u0001\u007a\u0001"+ + "\u006f\u0001\u007a\u0001\u0075\u0001\u0074\u0004\uffff\u0001\u002d\u0003"+ + "\uffff\u0001\u0065\u0001\u0073\u0001\uffff\u0001\u006e\u0001\u0069\u0001"+ + "\u0072\u0001\u006e\u0001\u007a\u0001\u006d\u0001\uffff\u0001\u002d\u0001"+ + "\u0064\u0001\u0072\u0001\u006b\u0001\u0072\u0002\u007a\u0001\u0068\u0001"+ + "\u0064\u0001\u006b\u0002\u0065\u0001\u0074\u0001\u0065\u0001\u007a\u0001"+ + "\u0074\u0001\u0061\u0001\u006d\u0001\u0075\u0001\u0065\u0001\u0074\u0001"+ + "\uffff\u0001\u0074\u0001\u006d\u0001\u0065\u0001\u007a\u0001\u0079\u0001"+ + "\u0064\u0001\uffff\u0001\u006c\u0001\u0079\u0001\u007a\u0001\u0070\u0001"+ + "\u0072\u0001\u007a\u0001\u006f\u0001\u0069\u0001\uffff\u0002\u0074\u0001"+ + "\u007a\u0001\u0074\u0001\u0070\u0001\u007a\u0002\u0072\u0001\u0061\u0002"+ + "\u0072\u0001\u007a\u0001\u006e\u0001\u0078\u0001\u007a\u0001\uffff\u0001"+ + "\u007a\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u0066\u0001\uffff\u0001"+ + "\u0073\u0001\u0074\u0001\u0061\u0001\u0062\u0001\u0073\u0001\u007a\u0001"+ + "\u006e\u0001\u0072\u0001\u007a\u0001\uffff\u0001\u006f\u0001\u0072\u0001"+ + "\u007a\u0001\u0072\u0001\u006e\u0003\u0065\u0001\u0069\u0001\u0065\u0001"+ + "\u0061\u0001\u0065\u0001\u006d\u0001\u0072\u0001\u006d\u0001\u0061\u0001"+ + "\u006c\u0001\u002d\u0001\u0065\u0001\u0073\u0001\u006d\u0001\u007a\u0001"+ + "\u0065\u0001\uffff\u0001\u007a\u0001\u006c\u0001\u0074\u0001\u0070\u0001"+ + "\u0069\u0001\u007a\u0001\u006c\u0002\u007a\u0001\u0074\u0001\uffff\u0001"+ + "\u0073\u0001\u006c\u0001\u006e\u0001\u0075\u0001\u0064\u0001\u0074\u0001"+ + "\u0067\u0001\u0064\u0001\u0065\u0001\u0061\u0001\u0069\u0001\u0065\u0001"+ + "\u007a\u0001\u0065\u0001\u006f\u0001\u007a\u0001\u0072\u0001\uffff\u0001"+ + "\u002d\u0001\uffff\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u0074\u0001"+ + "\u0064\u0001\u0062\u0001\u007a\u0001\u0064\u0001\uffff\u0001\u0061\u0001"+ + "\u0075\u0001\u0061\u0001\u0065\u0001\u007a\u0001\u0079\u0001\uffff\u0001"+ + "\u0062\u0001\uffff\u0003\u007a\u0001\u0074\u0001\u0063\u0001\u006e\u0001"+ + "\u007a\u0001\u0078\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0072\u0001"+ + "\u0061\u0001\u006c\u0001\u006e\u0001\u0065\u0001\u007a\u0001\u0065\u0001"+ + "\u006e\u0001\uffff\u0001\u007a\u0002\u0069\u0001\u007a\u0001\uffff\u0001"+ + "\u0074\u0001\u006e\u0001\uffff\u0001\u0077\u0001\u0063\u0001\u0067\u0001"+ + "\u0069\u0001\u007a\u0001\uffff\u0001\u0065\u0001\u007a\u0001\uffff\u0001"+ + "\u0074\u0001\u0069\u0001\u006e\u0001\u0074\u0001\u0073\u0001\u0072\u0001"+ + "\uffff\u0001\u0069\u0001\u007a\u0002\uffff\u0001\u007a\u0001\u0065\u0001"+ + "\u0079\u0001\u002d\u0001\u0061\u0002\u006c\u0001\u0070\u0001\uffff\u0001"+ + "\u0068\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u006e\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\u0074\u0001\u0072\u0001\u0064\u0001\u0072\u0001"+ + "\u006f\u0001\u0073\u0001\u0074\u0001\u006e\u0001\u0069\u0001\u006e\u0001"+ + "\u0065\u0001\u0063\u0001\u0069\u0001\u006f\u0001\u007a\u0001\u0066\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0065\u0001\u007a\u0001"+ + "\u0074\u0001\u007a\u0001\u006e\u0001\uffff\u0001\u0065\u0002\uffff\u0001"+ + "\u007a\u0001\u0077\u0001\u0069\u0001\u007a\u0002\u0065\u0001\u0069\u0001"+ + "\u007a\u0001\u0061\u0001\u007a\u0001\u0062\u0001\u006f\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\u0077\u0001\uffff\u0001\u0079\u0001\u0064\u0001"+ + "\u007a\u0003\uffff\u0001\u006f\u0001\u0069\u0001\u0075\u0001\uffff\u0001"+ + "\u002d\u0001\u0074\u0002\u0072\u0001\u007a\u0001\uffff\u0001\u007a\u0001"+ + "\u006c\u0003\uffff\u0001\u0069\u0002\u0074\u0001\u0075\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\u0061\u0001\uffff\u0001\u0065\u0001\u006c\u0001"+ + "\u0074\u0001\u0064\u0001\u007a\u0001\uffff\u0001\u006e\u0001\u0074\u0001"+ + "\u0073\u0001\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u007a\u0001"+ + "\u0061\u0001\u0069\u0001\u0068\u0001\u006e\u0001\u006f\u0001\uffff\u0001"+ + "\u0073\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0063\u0001"+ + "\u007a\u0001\u0065\u0001\u0069\u0001\u0074\u0002\uffff\u0002\u007a\u0001"+ + "\u0073\u0001\u0069\u0001\u006c\u0001\u0065\u0001\u0061\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u007a\u0001\u0064\u0001\u006e\u0002\uffff\u0001"+ + "\u007a\u0001\u006e\u0001\u0069\u0001\u0076\u0001\u0075\u0001\u0073\u0001"+ + "\u0065\u0001\u0074\u0001\u006c\u0002\u007a\u0001\u0065\u0001\u0064\u0001"+ + "\u006e\u0001\uffff\u0001\u0069\u0001\u007a\u0001\u0074\u0001\u007a\u0001"+ + "\uffff\u0001\u007a\u0001\uffff\u0001\u0067\u0001\u007a\u0001\uffff\u0001"+ + "\u0069\u0001\u006e\u0001\uffff\u0001\u007a\u0001\u0072\u0001\u006e\u0001"+ + "\uffff\u0001\u0074\u0001\uffff\u0001\u006c\u0001\u006e\u0002\uffff\u0002"+ + "\u007a\u0001\u0069\u0001\uffff\u0001\u0072\u0001\u006e\u0001\u0074\u0001"+ + "\u006f\u0002\u0069\u0001\u0079\u0002\uffff\u0001\u0065\u0001\u006f\u0001"+ + "\u0069\u0001\u007a\u0001\u0063\u0001\u0069\u0001\u0074\u0001\u007a\u0001"+ + "\u006d\u0001\u007a\u0001\u002d\u0001\u007a\u0001\u0069\u0001\uffff\u0001"+ + "\u0074\u0001\u007a\u0001\u0065\u0001\u0067\u0001\u0079\u0001\uffff\u0001"+ + "\u006c\u0001\u006e\u0002\u007a\u0001\u006e\u0001\u0074\u0001\u0067\u0001"+ + "\uffff\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0063\u0001\u0074\u0001"+ + "\u0079\u0002\uffff\u0001\u0069\u0001\u006e\u0001\u0079\u0001\u007a\u0001"+ + "\u0063\u0001\u0072\u0001\u0065\u0001\uffff\u0001\u007a\u0001\u0067\u0001"+ + "\uffff\u0001\u002d\u0001\u006e\u0001\u0065\u0001\u0073\u0001\u0069\u0002"+ + "\u007a\u0001\u006c\u0001\u006e\u0002\uffff\u0001\u007a\u0001\u0061\u0001"+ + "\u006c\u0002\u0065\u0001\uffff\u0001\u0069\u0002\uffff\u0001\u007a\u0001"+ + "\uffff\u0001\u0074\u0001\u0067\u0001\uffff\u0001\u0065\u0001\u0067\u0002"+ + "\u0065\u0001\u007a\u0002\uffff\u0001\u0067\u0001\u007a\u0001\u0067\u0001"+ + "\u0065\u0001\u006e\u0001\u0063\u0001\u007a\u0001\u002d\u0001\u007a\u0001"+ + "\u006e\u0001\u006f\u0001\uffff\u0001\u0074\u0001\u006e\u0001\u007a\u0001"+ + "\uffff\u0001\u0065\u0001\uffff\u0001\u0073\u0001\uffff\u0002\u006e\u0001"+ + "\u007a\u0001\uffff\u0001\u0071\u0003\u007a\u0001\u0067\u0002\uffff\u0002"+ + "\u007a\u0001\u002d\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0079\u0001"+ + "\u007a\u0001\u0067\u0001\u0065\u0001\u007a\u0001\uffff\u0001\u0065\u0001"+ + "\u0069\u0001\u0072\u0001\uffff\u0001\u007a\u0001\u0073\u0001\u0067\u0002"+ + "\u007a\u0001\u006e\u0002\uffff\u0001\u0065\u0001\u0067\u0001\uffff\u0001"+ + "\u0074\u0001\u0079\u0001\u0073\u0001\u0074\u0001\u006c\u0001\u0061\u0001"+ + "\uffff\u0001\u0063\u0001\u007a\u0001\u0064\u0003\u007a\u0001\uffff\u0001"+ + "\u0069\u0001\u006f\u0001\uffff\u0002\u007a\u0001\u006c\u0001\u0061\u0001"+ + "\uffff\u0001\u0073\u0001\uffff\u0001\u007a\u0001\u006e\u0001\u0069\u0001"+ + "\u0074\u0001\uffff\u0001\u0073\u0001\u006f\u0001\u0065\u0001\u0074\u0001"+ + "\u0067\u0001\u006e\u0001\uffff\u0001\u0075\u0003\uffff\u0001\u007a\u0002"+ + "\uffff\u0001\u0073\u0001\uffff\u0002\u007a\u0001\uffff\u0001\u006e\u0001"+ + "\u0064\u0001\uffff\u0001\u007a\u0001\u0074\u0001\u0076\u0001\uffff\u0001"+ + "\u0065\u0001\u007a\u0002\uffff\u0001\u0067\u0002\u007a\u0001\u0069\u0002"+ + "\u007a\u0001\u0074\u0001\u0065\u0001\u006c\u0001\u0068\u0001\uffff\u0001"+ + "\u007a\u0003\uffff\u0001\u0074\u0001\u0072\u0002\uffff\u0001\u0079\u0001"+ + "\u006c\u0001\u0070\u0001\uffff\u0001\u007a\u0001\u006f\u0001\u007a\u0001"+ + "\u0070\u0001\u0072\u0001\u0070\u0002\u007a\u0001\u006f\u0001\u0065\u0001"+ + "\u0073\u0001\uffff\u0001\u0065\u0002\uffff\u0002\u007a\u0001\u006e\u0001"+ + "\uffff\u0001\u007a\u0001\u0065\u0001\u0070\u0001\u0073\u0001\uffff\u0001"+ + "\u002d\u0002\uffff\u0001\u006f\u0002\uffff\u0001\u0072\u0001\u006d\u0002"+ + "\u007a\u0001\uffff\u0001\u007a\u0001\u002d\u0001\u007a\u0001\u006c\u0001"+ + "\u0061\u0001\uffff\u0001\u006e\u0001\uffff\u0001\u0061\u0001\u006d\u0001"+ + "\u0061\u0001\u006f\u0002\uffff\u0001\u0064\u0001\u006e\u0001\u0069\u0001"+ + "\u0070\u0002\uffff\u0001\u006f\u0001\uffff\u0001\u007a\u0001\u0061\u0002"+ + "\u0069\u0001\u006e\u0001\u0069\u0001\u0065\u0003\uffff\u0001\u0073\u0001"+ + "\uffff\u0001\u0079\u0001\u0063\u0001\u007a\u0001\u0063\u0001\u0061\u0002"+ + "\u0072\u0001\u0065\u0001\u0063\u0001\u0062\u0001\u0061\u0001\u0064\u0001"+ + "\uffff\u0001\u0072\u0001\u0062\u0001\u006e\u0001\u007a\u0001\u0062\u0001"+ + "\u006e\u0001\u0065\u0001\u007a\u0001\u0065\u0001\uffff\u0001\u0065\u0001"+ + "\u0074\u0001\u0061\u0001\u002d\u0001\u007a\u0001\u0065\u0001\u006c\u0001"+ + "\u0072\u0001\u0065\u0001\u0061\u0001\u006c\u0001\u0073\u0001\uffff\u0001"+ + "\u0075\u0001\u0074\u0001\u006c\u0001\uffff\u0001\u007a\u0001\u0073\u0001"+ + "\u007a\u0001\u0074\u0001\u0073\u0001\uffff\u0001\u007a\u0001\u0069\u0001"+ + "\u0061\u0001\u007a\u0001\u0074\u0001\u0069\u0002\u0074\u0001\u007a\u0001"+ + "\u0066\u0001\uffff\u0001\u007a\u0001\uffff\u0001\u006f\u0001\u0065\u0001"+ + "\uffff\u0001\u006e\u0001\u0074\u0001\uffff\u0001\u006f\u0001\u006e\u0001"+ + "\u0072\u0001\u0065\u0001\uffff\u0001\u007a\u0001\uffff\u0001\u0072\u0001"+ + "\u006c\u0001\u0067\u0001\u006f\u0001\u0072\u0001\u0067\u0001\u0075\u0001"+ + "\u007a\u0001\uffff\u0001\u007a\u0001\u0066\u0001\u007a\u0001\u0072\u0002"+ + "\u007a\u0001\u0063\u0002\uffff\u0001\u007a\u0001\uffff\u0001\u007a\u0002"+ + "\uffff\u0001\u0074\u0002\uffff\u0001\u0069\u0001\u006f\u0001\u006e\u0001"+ + "\u007a\u0001\uffff", + DFA19_acceptS: + "\u001a\uffff\u0001\u00b3\u0001\u00b4\u0001\u00b5\u0001\u00b6\u0001"+ + "\u00b7\u0001\u00b8\u0001\u00b9\u0003\uffff\u0001\u00bd\u0001\uffff\u0001"+ + "\u00bf\u0001\u00c0\u0005\uffff\u0001\u00d0\u0001\u00d1\u0001\uffff\u0001"+ + "\u00d8\u0001\u00db\u0001\u00dc\u0001\u00dd\u0001\u00de\u0001\uffff\u0001"+ + "\u00e6\u0007\uffff\u0001\u00dd\u004e\uffff\u0001\u00e5\u0001\u00b2\u0001"+ + "\u00b3\u0001\u00b4\u0001\u00b5\u0001\u00b6\u0001\u00b7\u0001\u00b8\u0001"+ + "\u00b9\u0001\u00ba\u0001\u00cd\u0001\u00cc\u0001\u00bb\u0001\uffff\u0001"+ + "\u00bc\u0001\u00bd\u0001\u00d7\u0001\u00be\u0001\u00bf\u0001\u00c0\u0001"+ + "\u00d5\u0001\u00c1\u0001\u00c4\u0001\u00c6\u0001\u00cf\u0002\uffff\u0001"+ + "\u00c2\u0001\u00c5\u0001\u00c7\u0001\u00c3\u0001\u00c9\u0001\u00ce\u0001"+ + "\u00c8\u0001\u00cb\u0001\u00ca\u0001\uffff\u0001\u00d0\u0001\u00d1\u0001"+ + "\u00d3\u0001\u00d8\u0001\u00db\u0001\u00dc\u0001\u00de\u0001\u00e2\u0002"+ + "\uffff\u0001\u00e4\u0003\uffff\u0001\u0004\u0001\uffff\u0001\u0006\u0007"+ + "\uffff\u0001\u000a\u0019\uffff\u0001\u0020\u000a\uffff\u0001\u0028\u0002"+ + "\uffff\u0001\u002a\u0001\uffff\u0001\u002c\u0006\uffff\u0001\u002e\u0001"+ + "\u0032\u0005\uffff\u0001\u0035\u0001\u0038\u0007\uffff\u0001\u003c\u0003"+ + "\uffff\u0001\u0040\u0002\uffff\u0001\u0042\u0001\uffff\u0001\u00a8\u001a"+ + "\uffff\u0001\u0057\u0015\uffff\u0001\u00d2\u0001\u00df\u0001\u00da\u0001"+ + "\u00d9\u0001\uffff\u0001\u00d6\u0001\u00e1\u0001\u00e3\u0002\uffff\u0001"+ + "\u0003\u0006\uffff\u0001\u00af\u0015\uffff\u0001\u0018\u0006\uffff\u0001"+ + "\u0067\u0008\uffff\u0001\u0026\u000f\uffff\u0001\u0034\u0002\uffff\u0001"+ + "\u0037\u0002\uffff\u0001\u0039\u0009\uffff\u0001\u00a7\u0017\uffff\u0001"+ + "\u0092\u000a\uffff\u0001\u0077\u0011\uffff\u0001\u006d\u0001\uffff\u0001"+ + "\u00a3\u0008\uffff\u0001\u00b0\u0006\uffff\u0001\u000b\u0001\uffff\u0001"+ + "\u000c\u0009\uffff\u0001\u007e\u0009\uffff\u0001\u001c\u0004\uffff\u0001"+ + "\u0095\u0002\uffff\u0001\u008f\u0005\uffff\u0001\u00a0\u0002\uffff\u0001"+ + "\u002b\u0006\uffff\u0001\u0082\u0002\uffff\u0001\u0033\u0001\u0083\u0008"+ + "\uffff\u0001\u006e\u0003\uffff\u0001\u003f\u0002\uffff\u0001\u006f\u0012"+ + "\uffff\u0001\u0050\u0001\uffff\u0001\u0051\u0005\uffff\u0001\u0089\u0001"+ + "\uffff\u0001\u0055\u0001\u0056\u000d\uffff\u0001\u0079\u0002\uffff\u0001"+ + "\u008c\u0003\uffff\u0001\u00b1\u0001\u00d4\u0001\u00e0\u0003\uffff\u0001"+ + "\u007c\u0005\uffff\u0001\u008d\u0002\uffff\u0001\u0061\u0001\u000e\u0001"+ + "\u0099\u0005\uffff\u0001\u009c\u0002\uffff\u0001\u0063\u0005\uffff\u0001"+ + "\u0066\u0003\uffff\u0001\u001d\u0002\uffff\u0001\u0021\u0006\uffff\u0001"+ + "\u0080\u0002\uffff\u0001\u0068\u0007\uffff\u0001\u00a1\u0001\u0036\u0009"+ + "\uffff\u0001\u0085\u0003\uffff\u0001\u0043\u0001\u0070\u000e\uffff\u0001"+ + "\u00aa\u0004\uffff\u0001\u0076\u0001\uffff\u0001\u0054\u0002\uffff\u0001"+ + "\u0058\u0002\uffff\u0001\u005a\u0003\uffff\u0001\u0096\u0001\uffff\u0001"+ + "\u008b\u0002\uffff\u0001\u005f\u0001\u0094\u0003\uffff\u0001\u00a9\u0007"+ + "\uffff\u0001\u007d\u0001\u00ad\u000d\uffff\u0001\u007f\u0005\uffff\u0001"+ + "\u0022\u0007\uffff\u0001\u002d\u0002\uffff\u0001\u0081\u0003\uffff\u0001"+ + "\u003a\u0001\u0084\u0007\uffff\u0001\u0041\u0002\uffff\u0001\u0046\u0009"+ + "\uffff\u0001\u004b\u0001\u0086\u0005\uffff\u0001\u004d\u0001\uffff\u0001"+ + "\u0052\u0001\u0053\u0001\uffff\u0001\u0093\u0002\uffff\u0001\u00ac\u0005"+ + "\uffff\u0001\u007a\u0001\u0060\u000b\uffff\u0001\u0010\u0003\uffff\u0001"+ + "\u0062\u0001\uffff\u0001\u0013\u0001\uffff\u0001\u0014\u0003\uffff\u0001"+ + "\u001b\u0005\uffff\u0001\u009e\u0001\u009f\u0003\uffff\u0001\u002f\u0007"+ + "\uffff\u0001\u00a6\u0003\uffff\u0001\u0044\u0006\uffff\u0001\u00ae\u0001"+ + "\u0072\u0002\uffff\u0001\u0087\u0006\uffff\u0001\u0075\u0006\uffff\u0001"+ + "\u005e\u0002\uffff\u0001\u0001\u0004\uffff\u0001\u0008\u0001\uffff\u0001"+ + "\u000d\u0004\uffff\u0001\u008e\u0006\uffff\u0001\u0019\u0001\uffff\u0001"+ + "\u001f\u0001\u009d\u0001\u0023\u0001\uffff\u0001\u0027\u0001\u0029\u0001"+ + "\uffff\u0001\u0030\u0002\uffff\u0001\u006a\u0002\uffff\u0001\u00a5\u0003"+ + "\uffff\u0001\u0045\u0002\uffff\u0001\u0049\u0001\u0074\u000a\uffff\u0001"+ + "\u0078\u0001\uffff\u0001\u008a\u0001\u005c\u0001\u005d\u0002\uffff\u0001"+ + "\u0005\u0001\u0007\u0003\uffff\u0001\u000f\u000b\uffff\u0001\u0024\u0001"+ + "\uffff\u0001\u0031\u0001\u00a2\u0003\uffff\u0001\u003b\u0004\uffff\u0001"+ + "\u0047\u0001\uffff\u0001\u0073\u0001\u0090\u0001\uffff\u0001\u00ab\u0001"+ + "\u004c\u0004\uffff\u0001\u005b\u0005\uffff\u0001\u009a\u0001\uffff\u0001"+ + "\u009b\u0004\uffff\u0001\u0015\u0001\u0017\u0004\uffff\u0001\u006b\u0001"+ + "\u00a4\u0001\uffff\u0001\u003d\u0007\uffff\u0001\u0091\u0001\u0059\u0001"+ + "\u007b\u0001\uffff\u0001\u0097\u000c\uffff\u0001\u003e\u0009\uffff\u0001"+ + "\u0011\u000c\uffff\u0001\u0088\u0003\uffff\u0001\u0098\u0005\uffff\u0001"+ + "\u001a\u000a\uffff\u0001\u0009\u0001\uffff\u0001\u0064\u0002\uffff\u0001"+ + "\u001e\u0002\uffff\u0001\u006c\u0004\uffff\u0001\u004f\u0001\uffff\u0001"+ + "\u0012\u0008\uffff\u0001\u0002\u0007\uffff\u0001\u004e\u0001\u0065\u0001"+ + "\uffff\u0001\u0025\u0001\uffff\u0001\u0071\u0001\u0048\u0001\uffff\u0001"+ + "\u0016\u0001\u0069\u0004\uffff\u0001\u004a", + DFA19_specialS: + "\u0001\u0001\u01d5\uffff\u0001\u0000\u0285\uffff}>", + DFA19_transitionS: [ + "\u0009\u0036\u0002\u0034\u0002\u0036\u0001\u0034\u0012\u0036"+ + "\u0001\u0034\u0001\u0022\u0001\u0032\u0001\u002f\u0001\u001b"+ + "\u0001\u0036\u0001\u0023\u0001\u0031\u0001\u0019\u0001\u001a"+ + "\u0001\u0026\u0001\u0027\u0001\u0024\u0001\u0028\u0001\u002c"+ + "\u0001\u002b\u000a\u0035\u0001\u0021\u0001\u002d\u0001\u0029"+ + "\u0001\u0020\u0001\u002a\u0001\u0025\u0001\u0030\u000d\u0033"+ + "\u0001\u0015\u000c\u0033\u0001\u001e\u0001\u0036\u0001\u001f"+ + "\u0001\u0036\u0001\u0033\u0001\u0036\u0001\u0001\u0001\u0002"+ + "\u0001\u0003\u0001\u0004\u0001\u0005\u0001\u0006\u0001\u0007"+ + "\u0001\u0033\u0001\u0008\u0001\u0033\u0001\u0017\u0001\u0009"+ + "\u0001\u000a\u0001\u000b\u0001\u000c\u0001\u000d\u0001\u0018"+ + "\u0001\u000e\u0001\u000f\u0001\u0010\u0001\u0011\u0001\u0012"+ + "\u0001\u0013\u0001\u0014\u0001\u0033\u0001\u0016\u0001\u001c"+ + "\u0001\u002e\u0001\u001d\uff82\u0036", + "\u0001\u003a\u0006\uffff\u0001\u003d\u0001\u0037\u0001\uffff"+ + "\u0001\u003b\u0002\uffff\u0001\u0038\u0001\u0039\u0001\u003c", + "\u0001\u003f\u0003\uffff\u0001\u0042\u0003\uffff\u0001\u0044"+ + "\u0002\uffff\u0001\u0043\u0002\uffff\u0001\u0040\u0009\uffff"+ + "\u0001\u0041", + "\u0001\u0045\u0006\uffff\u0001\u0046\u0006\uffff\u0001\u0047", + "\u0001\u0048\u0003\uffff\u0001\u0049\u0005\uffff\u0001\u004a", + "\u0001\u004b\u0001\u004c\u0001\u004d\u0002\uffff\u0001\u004e"+ + "\u0004\uffff\u0001\u004f\u0001\uffff\u0001\u0050", + "\u0001\u0053\u0005\uffff\u0001\u0051\u0002\uffff\u0001\u0054"+ + "\u0002\uffff\u0001\u0052", + "\u0001\u0055\u000c\uffff\u0001\u0056\u0001\uffff\u0001\u0057", + "\u0001\u0058\u0001\uffff\u0001\u0059\u0006\uffff\u0001\u005a"+ + "\u0001\u005b\u0004\uffff\u0001\u005c\u0001\u005d", + "\u0001\u005e\u0003\uffff\u0001\u005f\u000e\uffff\u0001\u0060", + "\u0001\u0063\u0007\uffff\u0001\u0062\u0005\uffff\u0001\u0061"+ + "\u0005\uffff\u0001\u0064", + "\u0001\u0065\u0003\uffff\u0001\u0066\u0009\uffff\u0001\u0067", + "\u0001\u0068\u0007\uffff\u0001\u006b\u0001\uffff\u0001\u0069"+ + "\u0001\uffff\u0001\u006a\u0002\uffff\u0001\u006c", + "\u0001\u006d\u0003\uffff\u0001\u006f\u000c\uffff\u0001\u006e", + "\u0001\u0071\u0003\uffff\u0001\u0070", + "\u0001\u0072\u0001\uffff\u0001\u0073\u0001\uffff\u0001\u0074"+ + "\u0003\uffff\u0001\u0079\u0001\uffff\u0001\u0078\u0001\u0077"+ + "\u0002\uffff\u0001\u0075\u0004\uffff\u0001\u0076", + "\u0001\u007a\u0002\uffff\u0001\u007b\u0006\uffff\u0001\u007c"+ + "\u0002\uffff\u0001\u007d\u0002\uffff\u0001\u007f\u0003\uffff"+ + "\u0001\u007e", + "\u0001\u0080\u0001\uffff\u0001\u0081\u0002\uffff\u0001\u0082", + "\u0001\u0083\u0003\uffff\u0001\u0084", + "\u0001\u0085\u0001\u0086", + "\u0001\u0087", + "\u0001\u0088", + "\u0001\u0089", + "\u0001\u008a", + "\u0001\u008b", + "\u0001\u008c\u0016\uffff\u0001\u008d", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0097\u0002\uffff\u0001\u0096", + "\u0001\u0099", + "\u0001\u009a", + "", + "\u0001\u009d", + "", + "", + "\u0001\u00a1", + "\u0001\u00a6\u000d\uffff\u0001\u00a5\u000c\uffff\u0001\u00a4"+ + "\u0001\u00a3\u0001\uffff\u0001\u00a7", + "\u0001\u00a9\u0001\u00aa", + "\u0001\u00ac\u000e\uffff\u0001\u00ad", + "\u0001\u00af\u0001\uffff\u000a\u00b1", + "", + "", + "\u0001\u00b4", + "", + "", + "", + "", + "", + "\u0001\u00bb\u0001\uffff\u000a\u00ba\u000b\uffff\u0001\u00bc"+ + "\u001f\uffff\u0001\u00bc", + "", + "\u0001\u00bd\u0001\u00be", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0002\u003e\u0001\u00bf"+ + "\u0017\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0013\u003e\u0001\u00c1"+ + "\u0006\u003e", + "\u0001\u00c3", + "\u0001\u00c5\u0001\u00c4", + "\u0001\u00c6", + "\u0001\u00c7", + "", + "\u0001\u00c8", + "\u0001\u00c9", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00cb", + "\u0001\u00cc", + "\u0001\u00cd", + "\u0001\u00ce\u0001\u00cf", + "\u0001\u00d1\u0003\uffff\u0001\u00d0", + "\u0001\u00d2\u0001\u00d3\u0001\u00d4\u0001\uffff\u0001\u00d5"+ + "\u0004\uffff\u0001\u00d6", + "\u0001\u00d7\u0002\uffff\u0001\u00d8\u0005\uffff\u0001\u00da"+ + "\u0006\uffff\u0001\u00d9", + "\u0001\u00dc\u000e\uffff\u0001\u00db", + "\u0001\u00dd", + "\u0001\u00de\u000d\uffff\u0001\u00df", + "\u0001\u00e0", + "\u0001\u00e1\u0001\u00e2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0014\u003e\u0001\u00e3"+ + "\u0005\u003e", + "\u0001\u00e6\u0003\uffff\u0001\u00e5", + "\u0001\u00e7\u0005\uffff\u0001\u00e9\u000a\uffff\u0001\u00e8", + "\u0001\u00ea\u0005\uffff\u0001\u00eb", + "\u0001\u00ec", + "\u0001\u00ed", + "\u0001\u00ee", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f0\u0009\uffff\u0001\u00f1", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00f5", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0003\u003e\u0001\u00fa"+ + "\u0001\u003e\u0001\u00f9\u0001\u003e\u0001\u00f6\u000a\u003e"+ + "\u0001\u00f7\u0001\u00f8\u0006\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u00fd", + "\u0001\u00ff\u0004\uffff\u0001\u00fe", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u0100\u0012\u003e"+ + "\u0001\u0101\u0006\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0104", + "\u0001\u0105", + "\u0001\u0106\u0004\uffff\u0001\u0107", + "\u0001\u0108", + "\u0001\u0109", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0017\u003e\u0001\u010a"+ + "\u0002\u003e", + "\u0001\u010c\u0036\uffff\u0001\u010d\u0009\uffff\u0001\u010e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0110", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0003\u003e\u0001\u0111"+ + "\u0016\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u000b\u003e\u0001\u0113"+ + "\u000e\u003e", + "\u0001\u0115", + "\u0001\u0116\u0001\uffff\u0001\u0117", + "\u0001\u0118\u0003\uffff\u0001\u011a\u0005\uffff\u0001\u0119", + "\u0001\u011b", + "\u0001\u0120\u000c\uffff\u0001\u011d\u0001\uffff\u0001\u011e"+ + "\u0003\uffff\u0001\u011c\u0001\uffff\u0001\u011f", + "\u0001\u0121", + "\u0001\u0122", + "\u0001\u0123", + "\u0001\u0124\u0004\uffff\u0001\u0125\u0002\uffff\u0001\u0126", + "\u0001\u0127", + "\u0001\u0128\u0010\uffff\u0001\u0129", + "\u0001\u012a", + "\u0001\u012b", + "\u0001\u012c", + "\u0001\u012d", + "\u0001\u012e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0130\u0013\uffff\u0001\u0131", + "\u0001\u0132", + "\u0001\u0133", + "\u0001\u0134\u0005\uffff\u0001\u0135", + "\u0001\u0136", + "\u0001\u0137", + "\u0001\u0138\u0005\uffff\u0001\u0139", + "\u0001\u013a", + "\u0001\u013b\u0003\uffff\u0001\u013c", + "\u0001\u013d\u0005\uffff\u0001\u013e", + "\u0001\u013f", + "\u0001\u0140", + "\u0001\u0141", + "\u0001\u0142", + "\u0001\u0143\u0009\uffff\u0001\u0144", + "\u0002\u0146\u0002\uffff\u0001\u0146\u0012\uffff\u0001\u0146"+ + "\u0020\uffff\u001a\u0146\u0004\uffff\u0001\u0146\u0001\uffff"+ + "\u001a\u0146", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0147", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u0149", + "\u0002\u014b\u0002\uffff\u0001\u014b\u0012\uffff\u0001\u014b"+ + "\u0020\uffff\u001a\u014b\u0004\uffff\u0001\u014b\u0001\uffff"+ + "\u001a\u014b", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\u000a\u00b1\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "", + "", + "", + "", + "", + "", + "", + "", + "\u0001\u00bb\u0001\uffff\u000a\u00ba\u000b\uffff\u0001\u00bc"+ + "\u001f\uffff\u0001\u00bc", + "\u000a\u014d\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "", + "\u0001\u014e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0150", + "", + "\u0001\u0151", + "", + "\u0001\u0152", + "\u0001\u0153", + "\u0001\u0154", + "\u0001\u0155", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0157", + "\u0001\u0158", + "", + "\u0001\u0159", + "\u0001\u015a", + "\u0001\u015b", + "\u0001\u015c\u000e\uffff\u0001\u015d", + "\u0001\u015e", + "\u0001\u015f", + "\u0001\u0160", + "\u0001\u0161", + "\u0001\u0162", + "\u0001\u0163\u0001\u0164", + "\u0001\u0165", + "\u0001\u0166", + "\u0001\u0168\u0002\uffff\u0001\u0167", + "\u0001\u0169", + "\u0001\u016a", + "\u0001\u016b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u016d", + "\u0001\u016e", + "\u0001\u016f", + "\u0001\u0170", + "\u0001\u0171", + "\u0001\u0172", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0174", + "", + "\u0001\u0175", + "\u0001\u0176", + "\u0001\u0177", + "\u0001\u0178", + "\u0001\u0179", + "\u0001\u017a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u017b"+ + "\u0015\u003e", + "\u0001\u017d", + "\u0001\u017e", + "\u0001\u017f", + "", + "\u0001\u0180", + "\u0001\u0181", + "", + "\u0001\u0182", + "", + "\u0001\u0183", + "\u0001\u0184", + "\u0001\u0186\u000e\uffff\u0001\u0185", + "\u0001\u0187\u0009\uffff\u0001\u0188", + "\u0001\u0189", + "\u0001\u018a", + "", + "", + "\u0001\u018b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u018d", + "\u0001\u018e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u0191"+ + "\u000b\u003e\u0001\u0190\u0005\u003e", + "\u0001\u0193", + "\u0001\u0194", + "\u0001\u0195", + "\u0001\u0196", + "\u0001\u0197", + "\u0001\u0198", + "", + "\u0001\u0199\u0006\uffff\u0001\u019a", + "\u0001\u019b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u019d", + "\u0001\u019e", + "", + "\u0001\u019f", + "", + "\u0001\u01a0", + "\u0001\u01a1", + "\u0001\u01a2", + "\u0001\u01a3\u000f\uffff\u0001\u01a4\u0002\uffff\u0001\u01a5", + "\u0001\u01a6", + "\u0001\u01a7", + "\u0001\u01a9\u0035\uffff\u0001\u01a8", + "\u0001\u01aa", + "\u0001\u01ab", + "\u0001\u01ac", + "\u0001\u01ad", + "\u0001\u01ae", + "\u0001\u01af", + "\u0001\u01b0", + "\u0001\u01b1", + "\u0001\u01b2", + "\u0001\u01b3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01b5", + "\u0001\u01b6\u000f\uffff\u0001\u01b7", + "\u0001\u01b8", + "\u0001\u01b9", + "\u0001\u01ba", + "\u0001\u01bb", + "\u0001\u01bc", + "\u0001\u01bd", + "", + "\u0001\u01be", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01c0", + "\u0001\u01c1", + "\u0001\u01c2\u0001\uffff\u0001\u01c3", + "\u0001\u01c4", + "\u0001\u01c5", + "\u0001\u01c6", + "\u0001\u01c7\u000b\uffff\u0001\u01c8", + "\u0001\u01c9", + "\u0001\u01ca", + "\u0001\u01cc\u0003\uffff\u0001\u01cb", + "\u0001\u01cd", + "\u0001\u01ce", + "\u0001\u01cf", + "\u0001\u01d0", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01d2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01d4", + "\u0001\u01d5", + "", + "", + "", + "", + "\u0001\u01d6", + "", + "", + "", + "\u000a\u014d\u000b\uffff\u0001\u00bc\u001f\uffff\u0001\u00bc", + "\u0001\u01d7", + "", + "\u0001\u01d8", + "\u0001\u01d9", + "\u0001\u01da", + "\u0001\u01db", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01dd", + "", + "\u0001\u01de", + "\u0001\u01df", + "\u0001\u01e0", + "\u0001\u01e1", + "\u0001\u01e2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u01e4\u0019\u003e", + "\u0001\u01e6", + "\u0001\u01e7", + "\u0001\u01e8", + "\u0001\u01e9\u0003\uffff\u0001\u01ea", + "\u0001\u01eb", + "\u0001\u01ec", + "\u0001\u01ed", + "\u0001\u01ee\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01f0", + "\u0001\u01f1", + "\u0001\u01f2", + "\u0001\u01f3", + "\u0001\u01f4", + "\u0001\u01f5", + "", + "\u0001\u01f6", + "\u0001\u01f7", + "\u0001\u01f8", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01fa", + "\u0001\u01fb", + "", + "\u0001\u01fc", + "\u0001\u01fd", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u01ff", + "\u0001\u0200", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0202", + "\u0001\u0203\u0007\uffff\u0001\u0204", + "", + "\u0001\u0205", + "\u0001\u0206", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0208", + "\u0001\u0209", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u020b", + "\u0001\u020c", + "\u0001\u020d", + "\u0001\u020e", + "\u0001\u0210\u000a\uffff\u0001\u020f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0212", + "\u0001\u0213", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0216", + "", + "\u0001\u0217", + "\u0001\u0218", + "", + "\u0001\u0219", + "\u0001\u021a", + "\u0001\u021b", + "\u0001\u021c", + "\u0001\u021d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u021f", + "\u0001\u0220", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0012\u003e\u0001\u0221"+ + "\u0007\u003e", + "", + "\u0001\u0223", + "\u0001\u0224", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0226", + "\u0001\u0227", + "\u0001\u0228", + "\u0001\u0229", + "\u0001\u022a", + "\u0001\u022b", + "\u0001\u022c", + "\u0001\u022d", + "\u0001\u022e", + "\u0001\u022f", + "\u0001\u0230", + "\u0001\u0231", + "\u0001\u0232", + "\u0001\u0233", + "\u0001\u0234", + "\u0001\u0235", + "\u0001\u0236", + "\u0001\u0237", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0239", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u023b", + "\u0001\u023c", + "\u0001\u023d\u000c\uffff\u0001\u023e", + "\u0001\u023f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0241", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0244", + "", + "\u0001\u0245", + "\u0001\u0246", + "\u0001\u0247", + "\u0001\u0248", + "\u0001\u0249", + "\u0001\u024a", + "\u0001\u024b", + "\u0001\u024c", + "\u0001\u024d", + "\u0001\u024e", + "\u0001\u024f", + "\u0001\u0250", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0252", + "\u0001\u0253", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0255", + "", + "\u0001\u0256", + "", + "\u0001\u0257", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0000\u025a", + "\u0001\u025b", + "\u0001\u025c", + "\u0001\u025d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u025f", + "", + "\u0001\u0260", + "\u0001\u0261", + "\u0001\u0262", + "\u0001\u0263", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0265", + "", + "\u0001\u0266", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u026a", + "\u0001\u026b", + "\u0001\u026c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0001\u026e\u0010\u003e"+ + "\u0001\u026d\u0008\u003e", + "\u0001\u0270", + "\u0001\u0271", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0273", + "\u0001\u0274", + "\u0001\u0275", + "\u0001\u0276", + "\u0001\u0277", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0279", + "\u0001\u027a", + "", + "\u0001\u027b\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u027d", + "\u0001\u027e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0280", + "\u0001\u0281", + "", + "\u0001\u0282", + "\u0001\u0283", + "\u0001\u0284", + "\u0001\u0285", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0287", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u0288"+ + "\u0011\u003e", + "", + "\u0001\u028a", + "\u0001\u028b", + "\u0001\u028c", + "\u0001\u028d", + "\u0001\u028e", + "\u0001\u028f", + "", + "\u0001\u0290", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0293", + "\u0001\u0294", + "\u0001\u0295", + "\u0001\u0296", + "\u0001\u0297", + "\u0001\u0298", + "\u0001\u0299", + "", + "\u0001\u029a", + "\u0001\u029b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u029d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0004\u003e\u0001\u029e"+ + "\u0003\u003e\u0001\u029f\u0011\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02a2", + "\u0001\u02a3", + "\u0001\u02a4", + "\u0001\u02a5", + "\u0001\u02a6", + "\u0001\u02a7", + "\u0001\u02a8", + "\u0001\u02a9", + "\u0001\u02aa", + "\u0001\u02ab", + "\u0001\u02ac", + "\u0001\u02ad", + "\u0001\u02ae", + "\u0001\u02af", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b1", + "\u0001\u02b2", + "", + "\u0001\u02b3", + "", + "\u0001\u02b4", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b6", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02b8", + "", + "\u0001\u02b9", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02bb", + "\u0001\u02bc", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02be", + "\u0001\u02bf", + "\u0001\u02c0", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c4", + "\u0001\u02c5", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02c8", + "", + "\u0001\u02c9", + "\u0001\u02ca", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "", + "\u0001\u02cc", + "\u0001\u02cd", + "\u0001\u02ce", + "", + "\u0001\u02cf", + "\u0001\u02d0", + "\u0001\u02d1", + "\u0001\u02d2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02d5", + "", + "", + "", + "\u0001\u02d6", + "\u0001\u02d7", + "\u0001\u02d8", + "\u0001\u02da\u0013\uffff\u0001\u02d9", + "\u0001\u02db", + "", + "\u0001\u02dc", + "\u0001\u02dd", + "", + "\u0001\u02de", + "\u0001\u02df", + "\u0001\u02e0", + "\u0001\u02e1", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u02e3", + "\u0001\u02e4", + "\u0001\u02e5", + "", + "\u0001\u02e6", + "\u0001\u02e7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02e9", + "\u0001\u02ea", + "\u0001\u02eb", + "\u0001\u02ec", + "\u0001\u02ed", + "", + "\u0001\u02ee", + "\u0001\u02ef", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f1", + "\u0001\u02f2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f4", + "\u0001\u02f5", + "\u0001\u02f6", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u02f9", + "\u0001\u02fa", + "\u0001\u02fb", + "\u0001\u02fc", + "\u0001\u02fd", + "\u0001\u02fe", + "\u0001\u02ff", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0301", + "\u0001\u0302", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0304", + "\u0001\u0305", + "\u0001\u0306", + "\u0001\u0307", + "\u0001\u0308", + "\u0001\u0309", + "\u0001\u030a", + "\u0001\u030b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u0008\u003e\u0001\u030c"+ + "\u0011\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u030f", + "\u0001\u0310", + "\u0001\u0311", + "", + "\u0001\u0312", + "\u0001\u0313\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0315", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0318", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u031a", + "\u0001\u031b", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u031d", + "\u0001\u031e", + "", + "\u0001\u031f", + "", + "\u0001\u0320", + "\u0001\u0321", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0324", + "", + "\u0001\u0325", + "\u0001\u0326", + "\u0001\u0327", + "\u0001\u0328", + "\u0001\u0329", + "\u0001\u032a", + "\u0001\u032b", + "", + "", + "\u0001\u032c", + "\u0001\u032d", + "\u0001\u032e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0330", + "\u0001\u0331", + "\u0001\u0332", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0334", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0336", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0338\u0007\uffff\u0001\u0339", + "", + "\u0001\u033a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u033c", + "\u0001\u033d", + "\u0001\u033e", + "", + "\u0001\u033f", + "\u0001\u0340", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0343", + "\u0001\u0344", + "\u0001\u0345", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0347", + "", + "\u0001\u0348", + "\u0001\u0349", + "\u0001\u034a", + "", + "", + "\u0001\u034b", + "\u0001\u034c", + "\u0001\u034d", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u034f", + "\u0001\u0350", + "\u0001\u0351", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0353", + "", + "\u0001\u0354", + "\u0001\u0355", + "\u0001\u0356", + "\u0001\u0357", + "\u0001\u0358", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u035b", + "\u0001\u035c", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u035e", + "\u0001\u035f", + "\u0001\u0360", + "\u0001\u0361\u0003\uffff\u0001\u0362", + "", + "\u0001\u0363", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0365", + "\u0001\u0366", + "", + "\u0001\u0367", + "\u0001\u0368", + "\u0001\u0369", + "\u0001\u036a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u036c", + "\u0001\u036d\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u036f", + "\u0001\u0370", + "\u0001\u0371", + "\u0001\u0372", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0374", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0376", + "\u0001\u0377", + "", + "\u0001\u0378", + "\u0001\u0379", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u037b", + "", + "\u0001\u037c\u000c\uffff\u0001\u037d", + "", + "\u0001\u037e", + "\u0001\u037f", + "\u0001\u0380\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0382", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0386", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0389", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u038b", + "\u0001\u038c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u038e", + "\u0001\u038f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0391", + "\u0001\u0392", + "\u0001\u0393", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0395", + "\u0001\u0396", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0399", + "", + "", + "\u0001\u039a", + "\u0001\u039b", + "", + "\u0001\u039c", + "\u0001\u039d", + "\u0001\u039e", + "\u0001\u039f", + "\u0001\u03a0", + "\u0001\u03a1", + "", + "\u0001\u03a2", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03a4", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u03a8", + "\u0001\u03a9", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03ac", + "\u0001\u03ad", + "", + "\u0001\u03ae", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03b0", + "\u0001\u03b1", + "\u0001\u03b2", + "", + "\u0001\u03b3", + "\u0001\u03b4", + "\u0001\u03b5", + "\u0001\u03b6", + "\u0001\u03b7", + "\u0001\u03b8", + "", + "\u0001\u03b9", + "", + "", + "", + "\u0001\u03ba\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u03bc", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u03bf", + "\u0001\u03c0", + "", + "\u0001\u03c1\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03c3", + "\u0001\u03c4", + "", + "\u0001\u03c5", + "\u0001\u03c6\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u03c8", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03cb", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03ce", + "\u0001\u03cf", + "\u0001\u03d0", + "\u0001\u03d1", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "", + "\u0001\u03d3", + "\u0001\u03d4", + "", + "", + "\u0001\u03d5", + "\u0001\u03d6", + "\u0001\u03d7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03d9", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03db", + "\u0001\u03dc", + "\u0001\u03dd", + "\u0001\u03de\u0001\u003e\u0001\uffff\u000a\u003e\u0007\uffff"+ + "\u001a\u003e\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e1", + "\u0001\u03e2", + "\u0001\u03e3", + "", + "\u0001\u03e4", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e7", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03e9", + "\u0001\u03ea", + "\u0001\u03eb", + "", + "\u0001\u03ec", + "", + "", + "\u0001\u03ed", + "", + "", + "\u0001\u03ee", + "\u0001\u03ef", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03f3", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u03f5", + "\u0001\u03f6", + "", + "\u0001\u03f7", + "", + "\u0001\u03f8", + "\u0001\u03f9", + "\u0001\u03fa", + "\u0001\u03fb", + "", + "", + "\u0001\u03fc", + "\u0001\u03fd", + "\u0001\u03fe", + "\u0001\u03ff", + "", + "", + "\u0001\u0400", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0402", + "\u0001\u0403", + "\u0001\u0404", + "\u0001\u0405", + "\u0001\u0406", + "\u0001\u0407", + "", + "", + "", + "\u0001\u0408", + "", + "\u0001\u0409", + "\u0001\u040a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u040c", + "\u0001\u040d", + "\u0001\u040e", + "\u0001\u040f", + "\u0001\u0410", + "\u0001\u0411", + "\u0001\u0412", + "\u0001\u0413", + "\u0001\u0414", + "", + "\u0001\u0415", + "\u0001\u0416", + "\u0001\u0417", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0419", + "\u0001\u041a", + "\u0001\u041b", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u041d", + "", + "\u0001\u041e", + "\u0001\u041f", + "\u0001\u0420", + "\u0001\u0421", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0423", + "\u0001\u0424", + "\u0001\u0425", + "\u0001\u0426", + "\u0001\u0427", + "\u0001\u0428", + "\u0001\u0429", + "", + "\u0001\u042a", + "\u0001\u042b", + "\u0001\u042c", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u042e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0430", + "\u0001\u0431", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0433", + "\u0001\u0434", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0436", + "\u0001\u0437", + "\u0001\u0438", + "\u0001\u0439", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u043b", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u043d", + "\u0001\u043e", + "", + "\u0001\u043f", + "\u0001\u0440", + "", + "\u0001\u0441", + "\u0001\u0442", + "\u0001\u0443", + "\u0001\u0444", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0001\u0446", + "\u0001\u0447", + "\u0001\u0448", + "\u0001\u0449", + "\u0001\u044a", + "\u0001\u044b", + "\u0001\u044c", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u044f", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0451", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "\u0001\u0454", + "", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "", + "", + "\u0001\u0457", + "", + "", + "\u0001\u0458", + "\u0001\u0459", + "\u0001\u045a", + "\u0002\u003e\u0001\uffff\u000a\u003e\u0007\uffff\u001a\u003e"+ + "\u0004\uffff\u0001\u003e\u0001\uffff\u001a\u003e", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryLexer, { + DFA19_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_eotS), + DFA19_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_eofS), + DFA19_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryLexer.DFA19_minS), + DFA19_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryLexer.DFA19_maxS), + DFA19_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_acceptS), + DFA19_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryLexer.DFA19_specialS), + DFA19_transition: (function() { + var a = [], + i, + numStates = XQueryLexer.DFA19_transitionS.length; + for (i=0; i='\u0000' && LA19_470<='\uFFFF')) ) {s = 602;} + + else s = 601; + + if ( s>=0 ) return s; + break; + case 1 : + var LA19_0 = input.LA(1); + + s = -1; + if ( (LA19_0=='a') ) {s = 1;} + + else if ( (LA19_0=='b') ) {s = 2;} + + else if ( (LA19_0=='c') ) {s = 3;} + + else if ( (LA19_0=='d') ) {s = 4;} + + else if ( (LA19_0=='e') ) {s = 5;} + + else if ( (LA19_0=='f') ) {s = 6;} + + else if ( (LA19_0=='g') ) {s = 7;} + + else if ( (LA19_0=='i') ) {s = 8;} + + else if ( (LA19_0=='l') ) {s = 9;} + + else if ( (LA19_0=='m') ) {s = 10;} + + else if ( (LA19_0=='n') ) {s = 11;} + + else if ( (LA19_0=='o') ) {s = 12;} + + else if ( (LA19_0=='p') ) {s = 13;} + + else if ( (LA19_0=='r') ) {s = 14;} + + else if ( (LA19_0=='s') ) {s = 15;} + + else if ( (LA19_0=='t') ) {s = 16;} + + else if ( (LA19_0=='u') ) {s = 17;} + + else if ( (LA19_0=='v') ) {s = 18;} + + else if ( (LA19_0=='w') ) {s = 19;} + + else if ( (LA19_0=='x') ) {s = 20;} + + else if ( (LA19_0=='N') ) {s = 21;} + + else if ( (LA19_0=='z') ) {s = 22;} + + else if ( (LA19_0=='k') ) {s = 23;} + + else if ( (LA19_0=='q') ) {s = 24;} + + else if ( (LA19_0=='(') ) {s = 25;} + + else if ( (LA19_0==')') ) {s = 26;} + + else if ( (LA19_0=='$') ) {s = 27;} + + else if ( (LA19_0=='{') ) {s = 28;} + + else if ( (LA19_0=='}') ) {s = 29;} + + else if ( (LA19_0=='[') ) {s = 30;} + + else if ( (LA19_0==']') ) {s = 31;} + + else if ( (LA19_0=='=') ) {s = 32;} + + else if ( (LA19_0==':') ) {s = 33;} + + else if ( (LA19_0=='!') ) {s = 34;} + + else if ( (LA19_0=='&') ) {s = 35;} + + else if ( (LA19_0==',') ) {s = 36;} + + else if ( (LA19_0=='?') ) {s = 37;} + + else if ( (LA19_0=='*') ) {s = 38;} + + else if ( (LA19_0=='+') ) {s = 39;} + + else if ( (LA19_0=='-') ) {s = 40;} + + else if ( (LA19_0=='<') ) {s = 41;} + + else if ( (LA19_0=='>') ) {s = 42;} + + else if ( (LA19_0=='/') ) {s = 43;} + + else if ( (LA19_0=='.') ) {s = 44;} + + else if ( (LA19_0==';') ) {s = 45;} + + else if ( (LA19_0=='|') ) {s = 46;} + + else if ( (LA19_0=='#') ) {s = 47;} + + else if ( (LA19_0=='@') ) {s = 48;} + + else if ( (LA19_0=='\'') ) {s = 49;} + + else if ( (LA19_0=='\"') ) {s = 50;} + + else if ( ((LA19_0>='A' && LA19_0<='M')||(LA19_0>='O' && LA19_0<='Z')||LA19_0=='_'||LA19_0=='h'||LA19_0=='j'||LA19_0=='y') ) {s = 51;} + + else if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0=='\r'||LA19_0==' ') ) {s = 52;} + + else if ( ((LA19_0>='0' && LA19_0<='9')) ) {s = 53;} + + else if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='%'||LA19_0=='\\'||LA19_0=='^'||LA19_0=='`'||(LA19_0>='~' && LA19_0<='\uFFFF')) ) {s = 54;} + + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 19, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + +})(); + +}); +/******************************** + * Copyright (c) 2008, 2009 28msec Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Gabriel Petrovay (28msec) - initial API and implementation + * Sam Neth (Mark Logic) + *******************************************************************************/ + + +define('ace/mode/xquery/XQueryParser', ['require', 'exports', 'module' , 'ace/mode/xquery/antlr3-all'], function(require, exports, module) { +var org = require("./antlr3-all").org; + var XQueryParser = exports.XQueryParser = function(input, state) { + if (!state) { + state = new org.antlr.runtime.RecognizerSharedState(); + } + + (function(){ + }).call(this); + + XQueryParser.superclass.constructor.call(this, input, state); + + this.dfa6 = new XQueryParser.DFA6(this); + this.dfa7 = new XQueryParser.DFA7(this); + this.dfa8 = new XQueryParser.DFA8(this); + this.dfa49 = new XQueryParser.DFA49(this); + this.dfa103 = new XQueryParser.DFA103(this); + this.dfa110 = new XQueryParser.DFA110(this); + this.dfa112 = new XQueryParser.DFA112(this); + this.dfa114 = new XQueryParser.DFA114(this); + this.dfa119 = new XQueryParser.DFA119(this); + this.dfa124 = new XQueryParser.DFA124(this); + this.dfa154 = new XQueryParser.DFA154(this); + this.dfa156 = new XQueryParser.DFA156(this); + + + + /* @todo only create adaptor if output=AST */ + this.adaptor = new org.antlr.runtime.tree.CommonTreeAdaptor(); + +}; + +org.antlr.lang.augmentObject(XQueryParser, { + EOF: -1, + L_QuotAttrContentChar: 4, + L_AposAttrContentChar: 5, + L_ElementContentChar: 6, + L_CDataSection: 7, + L_PredefinedEntityRef: 8, + L_CharRef: 9, + ESCAPE_LBRACKET: 10, + ESCAPE_RBRACKET: 11, + ESCAPE_APOS: 12, + ESCAPE_QUOT: 13, + CDATA_START: 14, + CDATA_END: 15, + ANCESTOR: 16, + ANCESTOR_OR_SELF: 17, + AND: 18, + AS: 19, + ASCENDING: 20, + AT: 21, + ATTRIBUTE: 22, + BASE_URI: 23, + BOUNDARY_SPACE: 24, + BY: 25, + CASE: 26, + CAST: 27, + CASTABLE: 28, + CHILD: 29, + COLLATION: 30, + COMMENT: 31, + CONSTRUCTION: 32, + COPY_NAMESPACES: 33, + DECLARE: 34, + DEFAULT: 35, + DESCENDANT: 36, + DESCENDANT_OR_SELF: 37, + DESCENDING: 38, + DIV: 39, + DOCUMENT: 40, + DOCUMENT_NODE: 41, + ELEMENT: 42, + ELSE: 43, + EMPTY: 44, + EMPTY_SEQUENCE: 45, + ENCODING: 46, + EQ: 47, + EVERY: 48, + EXCEPT: 49, + EXTERNAL: 50, + FOLLOWING: 51, + FOLLOWING_SIBLING: 52, + FOR: 53, + FUNCTION: 54, + GE: 55, + GREATEST: 56, + GT: 57, + IDIV: 58, + IF: 59, + IMPORT: 60, + IN: 61, + INHERIT: 62, + INSTANCE: 63, + INTERSECT: 64, + IS: 65, + ITEM: 66, + LAX: 67, + LE: 68, + LEAST: 69, + LET: 70, + LT: 71, + MOD: 72, + MODULE: 73, + NAMESPACE: 74, + NE: 75, + NO_INHERIT: 76, + NO_PRESERVE: 77, + NODE: 78, + OF: 79, + OPTION: 80, + OR: 81, + ORDER: 82, + ORDERED: 83, + ORDERING: 84, + PARENT: 85, + PRECEDING: 86, + PRECEDING_SIBLING: 87, + PRESERVE: 88, + PROCESSING_INSTRUCTION: 89, + RETURN: 90, + SATISFIES: 91, + SCHEMA: 92, + SCHEMA_ATTRIBUTE: 93, + SCHEMA_ELEMENT: 94, + SELF: 95, + SOME: 96, + STABLE: 97, + STRICT: 98, + STRIP: 99, + TEXT: 100, + THEN: 101, + TO: 102, + TREAT: 103, + TYPESWITCH: 104, + UNION: 105, + UNORDERED: 106, + VALIDATE: 107, + VARIABLE: 108, + VERSION: 109, + WHERE: 110, + XQUERY: 111, + CATCH: 112, + CONTEXT: 113, + COUNT: 114, + DECIMAL_FORMAT: 115, + DECIMAL_SEPARATOR: 116, + DIGIT: 117, + END: 118, + GROUP: 119, + GROUPING_SEPARATOR: 120, + INFINITY: 121, + MINUS_SIGN: 122, + NAMESPACE_NODE: 123, + NAN: 124, + NEXT: 125, + ONLY: 126, + OUTER: 127, + PATTERN_SEPARATOR: 128, + PERCENT: 129, + PER_MILLE: 130, + PREVIOUS: 131, + SLIDING: 132, + START: 133, + TRY: 134, + TUMBLING: 135, + WHEN: 136, + WINDOW: 137, + ZERO_DIGIT: 138, + AFTER: 139, + BEFORE: 140, + COPY: 141, + DELETE: 142, + FIRST: 143, + INSERT: 144, + INTO: 145, + LAST: 146, + MODIFY: 147, + NODES: 148, + RENAME: 149, + REPLACE: 150, + REVALIDATION: 151, + SKIP: 152, + UPDATING: 153, + VALUE: 154, + WITH: 155, + BLOCK: 156, + CONSTANT: 157, + EXIT: 158, + RETURNING: 159, + SEQUENTIAL: 160, + SET: 161, + SIMPLE: 162, + WHILE: 163, + EVAL: 164, + USING: 165, + APPEND_ONLY: 166, + AUTOMATICALLY: 167, + CHECK: 168, + COLLECTION: 169, + CONSTRAINT: 170, + CONST: 171, + EQUALITY: 172, + FOREACH: 173, + FOREIGN: 174, + FROM: 175, + INDEX: 176, + INTEGRITY: 177, + KEY: 178, + MAINTAINED: 179, + MANUALLY: 180, + MUTABLE: 181, + NON: 182, + ON: 183, + QUEUE: 184, + RANGE: 185, + READ_ONLY: 186, + UNIQUE: 187, + BINARY: 188, + PRIVATE: 189, + AMP_ER: 190, + APOS_ER: 191, + QUOT_ER: 192, + LPAREN: 193, + RPAREN: 194, + DOLLAR: 195, + LBRACKET: 196, + RBRACKET: 197, + LSQUARE: 198, + RSQUARE: 199, + EQUAL: 200, + BIND: 201, + NOTEQUAL: 202, + AMP: 203, + COMMA: 204, + QUESTION: 205, + STAR: 206, + PLUS: 207, + MINUS: 208, + SMALLER: 209, + GREATER: 210, + SMALLEREQ: 211, + GREATEREQ: 212, + SMALLER_SMALLER: 213, + GREATER_GREATER: 214, + SLASH: 215, + SLASH_SLASH: 216, + DOT: 217, + DOT_DOT: 218, + COLON: 219, + COLON_COLON: 220, + EMPTY_CLOSE_TAG: 221, + CLOSE_TAG: 222, + SEMICOLON: 223, + VBAR: 224, + PRAGMA_START: 225, + PRAGMA_END: 226, + XML_COMMENT_START: 227, + XML_COMMENT_END: 228, + PI_START: 229, + PI_END: 230, + ATTR_SIGN: 231, + CHARREF_DEC: 232, + CHARREF_HEX: 233, + APOS: 234, + QUOT: 235, + NCNameStartChar: 236, + NCNameChar: 237, + L_NCName: 238, + Letter: 239, + HexLetter: 240, + Digit: 241, + Digits: 242, + S: 243, + SU: 244, + L_Pragma: 245, + L_DirCommentConstructor: 246, + L_DirPIConstructor: 247, + L_IntegerLiteral: 248, + L_DecimalLiteral: 249, + L_DoubleLiteral: 250, + L_Comment: 251, + L_AnyChar: 252, + L_QuotStringLiteralChar: 253, + L_AposStringLiteralChar: 254, + LibraryModule: 255, + MainModule: 256, + VersionDecl: 257, + VersionDeclEncoding: 258, + VersionDeclVersion: 259, + ModuleDecl: 260, + Prolog: 261, + DefaultNamespaceDecls: 262, + DefaultNamespaceDecl: 263, + Setters: 264, + Setter: 265, + NamespaceDecls: 266, + NamespaceDecl: 267, + Imports: 268, + SchemaImport: 269, + SchemaPrefix: 270, + NamespaceName: 271, + DefaultElementNamespace: 272, + AtHints: 273, + ModuleImport: 274, + BaseURIDecl: 275, + OrderedDecls: 276, + VarDecl: 277, + VarType: 278, + VarValue: 279, + VarDefaultValue: 280, + VarConstantDecl: 281, + VarVariableDecl: 282, + FunctionDecl: 283, + ParamList: 284, + ReturnType: 285, + OptionDecl: 286, + TypeDeclaration: 287, + Param: 288, + EnclosedExpr: 289, + QueryBody: 290, + UnaryExpr: 291, + DirElemConstructor: 292, + DirAttributeList: 293, + DirAttributeValue: 294, + DirElemContent: 295, + CommonContent: 296, + SequenceType: 297, + EmptySequenceTest: 298, + KindTest: 299, + ItemTest: 300, + AtomicType: 301, + StringLiteral: 302, + ElementContentChar: 303, + AttributeValueChar: 304, + QName: 305, + Block: 306, + BlockDecls: 307, + BlockVarDecl: 308, + BinaryTest: 309, + LETDOLLAR: 310, + EXPLICITLY: 311 +}); + +(function(){ +// public class variables +var EOF= -1, + L_QuotAttrContentChar= 4, + L_AposAttrContentChar= 5, + L_ElementContentChar= 6, + L_CDataSection= 7, + L_PredefinedEntityRef= 8, + L_CharRef= 9, + ESCAPE_LBRACKET= 10, + ESCAPE_RBRACKET= 11, + ESCAPE_APOS= 12, + ESCAPE_QUOT= 13, + CDATA_START= 14, + CDATA_END= 15, + ANCESTOR= 16, + ANCESTOR_OR_SELF= 17, + AND= 18, + AS= 19, + ASCENDING= 20, + AT= 21, + ATTRIBUTE= 22, + BASE_URI= 23, + BOUNDARY_SPACE= 24, + BY= 25, + CASE= 26, + CAST= 27, + CASTABLE= 28, + CHILD= 29, + COLLATION= 30, + COMMENT= 31, + CONSTRUCTION= 32, + COPY_NAMESPACES= 33, + DECLARE= 34, + DEFAULT= 35, + DESCENDANT= 36, + DESCENDANT_OR_SELF= 37, + DESCENDING= 38, + DIV= 39, + DOCUMENT= 40, + DOCUMENT_NODE= 41, + ELEMENT= 42, + ELSE= 43, + EMPTY= 44, + EMPTY_SEQUENCE= 45, + ENCODING= 46, + EQ= 47, + EVERY= 48, + EXCEPT= 49, + EXTERNAL= 50, + FOLLOWING= 51, + FOLLOWING_SIBLING= 52, + FOR= 53, + FUNCTION= 54, + GE= 55, + GREATEST= 56, + GT= 57, + IDIV= 58, + IF= 59, + IMPORT= 60, + IN= 61, + INHERIT= 62, + INSTANCE= 63, + INTERSECT= 64, + IS= 65, + ITEM= 66, + LAX= 67, + LE= 68, + LEAST= 69, + LET= 70, + LT= 71, + MOD= 72, + MODULE= 73, + NAMESPACE= 74, + NE= 75, + NO_INHERIT= 76, + NO_PRESERVE= 77, + NODE= 78, + OF= 79, + OPTION= 80, + OR= 81, + ORDER= 82, + ORDERED= 83, + ORDERING= 84, + PARENT= 85, + PRECEDING= 86, + PRECEDING_SIBLING= 87, + PRESERVE= 88, + PROCESSING_INSTRUCTION= 89, + RETURN= 90, + SATISFIES= 91, + SCHEMA= 92, + SCHEMA_ATTRIBUTE= 93, + SCHEMA_ELEMENT= 94, + SELF= 95, + SOME= 96, + STABLE= 97, + STRICT= 98, + STRIP= 99, + TEXT= 100, + THEN= 101, + TO= 102, + TREAT= 103, + TYPESWITCH= 104, + UNION= 105, + UNORDERED= 106, + VALIDATE= 107, + VARIABLE= 108, + VERSION= 109, + WHERE= 110, + XQUERY= 111, + CATCH= 112, + CONTEXT= 113, + COUNT= 114, + DECIMAL_FORMAT= 115, + DECIMAL_SEPARATOR= 116, + DIGIT= 117, + END= 118, + GROUP= 119, + GROUPING_SEPARATOR= 120, + INFINITY= 121, + MINUS_SIGN= 122, + NAMESPACE_NODE= 123, + NAN= 124, + NEXT= 125, + ONLY= 126, + OUTER= 127, + PATTERN_SEPARATOR= 128, + PERCENT= 129, + PER_MILLE= 130, + PREVIOUS= 131, + SLIDING= 132, + START= 133, + TRY= 134, + TUMBLING= 135, + WHEN= 136, + WINDOW= 137, + ZERO_DIGIT= 138, + AFTER= 139, + BEFORE= 140, + COPY= 141, + DELETE= 142, + FIRST= 143, + INSERT= 144, + INTO= 145, + LAST= 146, + MODIFY= 147, + NODES= 148, + RENAME= 149, + REPLACE= 150, + REVALIDATION= 151, + SKIP= 152, + UPDATING= 153, + VALUE= 154, + WITH= 155, + BLOCK= 156, + CONSTANT= 157, + EXIT= 158, + RETURNING= 159, + SEQUENTIAL= 160, + SET= 161, + SIMPLE= 162, + WHILE= 163, + EVAL= 164, + USING= 165, + APPEND_ONLY= 166, + AUTOMATICALLY= 167, + CHECK= 168, + COLLECTION= 169, + CONSTRAINT= 170, + CONST= 171, + EQUALITY= 172, + FOREACH= 173, + FOREIGN= 174, + FROM= 175, + INDEX= 176, + INTEGRITY= 177, + KEY= 178, + MAINTAINED= 179, + MANUALLY= 180, + MUTABLE= 181, + NON= 182, + ON= 183, + QUEUE= 184, + RANGE= 185, + READ_ONLY= 186, + UNIQUE= 187, + BINARY= 188, + PRIVATE= 189, + AMP_ER= 190, + APOS_ER= 191, + QUOT_ER= 192, + LPAREN= 193, + RPAREN= 194, + DOLLAR= 195, + LBRACKET= 196, + RBRACKET= 197, + LSQUARE= 198, + RSQUARE= 199, + EQUAL= 200, + BIND= 201, + NOTEQUAL= 202, + AMP= 203, + COMMA= 204, + QUESTION= 205, + STAR= 206, + PLUS= 207, + MINUS= 208, + SMALLER= 209, + GREATER= 210, + SMALLEREQ= 211, + GREATEREQ= 212, + SMALLER_SMALLER= 213, + GREATER_GREATER= 214, + SLASH= 215, + SLASH_SLASH= 216, + DOT= 217, + DOT_DOT= 218, + COLON= 219, + COLON_COLON= 220, + EMPTY_CLOSE_TAG= 221, + CLOSE_TAG= 222, + SEMICOLON= 223, + VBAR= 224, + PRAGMA_START= 225, + PRAGMA_END= 226, + XML_COMMENT_START= 227, + XML_COMMENT_END= 228, + PI_START= 229, + PI_END= 230, + ATTR_SIGN= 231, + CHARREF_DEC= 232, + CHARREF_HEX= 233, + APOS= 234, + QUOT= 235, + NCNameStartChar= 236, + NCNameChar= 237, + L_NCName= 238, + Letter= 239, + HexLetter= 240, + Digit= 241, + Digits= 242, + S= 243, + SU= 244, + L_Pragma= 245, + L_DirCommentConstructor= 246, + L_DirPIConstructor= 247, + L_IntegerLiteral= 248, + L_DecimalLiteral= 249, + L_DoubleLiteral= 250, + L_Comment= 251, + L_AnyChar= 252, + L_QuotStringLiteralChar= 253, + L_AposStringLiteralChar= 254, + LibraryModule= 255, + MainModule= 256, + VersionDecl= 257, + VersionDeclEncoding= 258, + VersionDeclVersion= 259, + ModuleDecl= 260, + Prolog= 261, + DefaultNamespaceDecls= 262, + DefaultNamespaceDecl= 263, + Setters= 264, + Setter= 265, + NamespaceDecls= 266, + NamespaceDecl= 267, + Imports= 268, + SchemaImport= 269, + SchemaPrefix= 270, + NamespaceName= 271, + DefaultElementNamespace= 272, + AtHints= 273, + ModuleImport= 274, + BaseURIDecl= 275, + OrderedDecls= 276, + VarDecl= 277, + VarType= 278, + VarValue= 279, + VarDefaultValue= 280, + VarConstantDecl= 281, + VarVariableDecl= 282, + FunctionDecl= 283, + ParamList= 284, + ReturnType= 285, + OptionDecl= 286, + TypeDeclaration= 287, + Param= 288, + EnclosedExpr= 289, + QueryBody= 290, + UnaryExpr= 291, + DirElemConstructor= 292, + DirAttributeList= 293, + DirAttributeValue= 294, + DirElemContent= 295, + CommonContent= 296, + SequenceType= 297, + EmptySequenceTest= 298, + KindTest= 299, + ItemTest= 300, + AtomicType= 301, + StringLiteral= 302, + ElementContentChar= 303, + AttributeValueChar= 304, + QName= 305, + Block= 306, + BlockDecls= 307, + BlockVarDecl= 308, + BinaryTest= 309, + LETDOLLAR= 310, + EXPLICITLY= 311; + +// public instance methods/vars +org.antlr.lang.extend(XQueryParser, org.antlr.runtime.Parser, { + + setTreeAdaptor: function(adaptor) { + this.adaptor = adaptor; + }, + getTreeAdaptor: function() { + return this.adaptor; + }, + + getTokenNames: function() { return XQueryParser.tokenNames; }, + getGrammarFileName: function() { return "XQueryParser.g"; } +}); +org.antlr.lang.augmentObject(XQueryParser.prototype, { + + // inline static return class + p_Module_return: (function() { + XQueryParser.p_Module_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Module_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:119:1: p_Module : (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF ; + // $ANTLR start "p_Module" + p_Module: function() { + var retval = new XQueryParser.p_Module_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EOF1 = null; + var vd = null; + var lm = null; + var mm = null; + + var EOF1_tree=null; + var stream_EOF=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EOF"); + var stream_p_VersionDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_VersionDecl"); + var stream_p_LibraryModule=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_LibraryModule"); + var stream_p_MainModule=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_MainModule"); + try { + // XQueryParser.g:120:9: ( (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF ) + // XQueryParser.g:120:11: (vd= p_VersionDecl )? (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) EOF + // XQueryParser.g:120:13: (vd= p_VersionDecl )? + var alt1=2; + var LA1_0 = this.input.LA(1); + + if ( (LA1_0==XQUERY) ) { + var LA1_1 = this.input.LA(2); + + if ( (LA1_1==ENCODING||LA1_1==VERSION) ) { + alt1=1; + } + } + switch (alt1) { + case 1 : + // XQueryParser.g:120:13: vd= p_VersionDecl + this.pushFollow(XQueryParser.FOLLOW_p_VersionDecl_in_p_Module523); + vd=this.p_VersionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VersionDecl.add(vd.getTree()); + + + break; + + } + + // XQueryParser.g:121:13: (lm= p_LibraryModule[$vd.tree] -> | mm= p_MainModule[$vd.tree] ->) + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( (LA2_0==MODULE) ) { + var LA2_1 = this.input.LA(2); + + if ( (LA2_1==NAMESPACE) ) { + alt2=1; + } + else if ( (LA2_1==EOF||LA2_1==AND||(LA2_1>=CAST && LA2_1<=CASTABLE)||LA2_1==DIV||LA2_1==EQ||LA2_1==EXCEPT||LA2_1==GE||(LA2_1>=GT && LA2_1<=IDIV)||(LA2_1>=INSTANCE && LA2_1<=IS)||LA2_1==LE||(LA2_1>=LT && LA2_1<=MOD)||LA2_1==NE||LA2_1==OR||(LA2_1>=TO && LA2_1<=TREAT)||LA2_1==UNION||LA2_1==LPAREN||LA2_1==LSQUARE||LA2_1==EQUAL||LA2_1==NOTEQUAL||LA2_1==COMMA||(LA2_1>=STAR && LA2_1<=SLASH_SLASH)||LA2_1==COLON||(LA2_1>=SEMICOLON && LA2_1<=VBAR)) ) { + alt2=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 2, 1, this.input); + + throw nvae; + } + } + else if ( ((LA2_0>=ANCESTOR && LA2_0<=MOD)||(LA2_0>=NAMESPACE && LA2_0<=EXIT)||(LA2_0>=SEQUENTIAL && LA2_0<=MAINTAINED)||(LA2_0>=MUTABLE && LA2_0<=LPAREN)||LA2_0==DOLLAR||(LA2_0>=STAR && LA2_0<=SMALLER)||(LA2_0>=SLASH && LA2_0<=DOT_DOT)||LA2_0==ATTR_SIGN||(LA2_0>=APOS && LA2_0<=QUOT)||LA2_0==L_NCName||(LA2_0>=L_Pragma && LA2_0<=L_DoubleLiteral)||(LA2_0>=LETDOLLAR && LA2_0<=EXPLICITLY)) ) { + alt2=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 2, 0, this.input); + + throw nvae; + } + switch (alt2) { + case 1 : + // XQueryParser.g:122:17: lm= p_LibraryModule[$vd.tree] + this.pushFollow(XQueryParser.FOLLOW_p_LibraryModule_in_p_Module558); + lm=this.p_LibraryModule((vd?vd.tree:null)); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_LibraryModule.add(lm.getTree()); + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 122:49: -> + { + this.adaptor.addChild(root_0, (lm?lm.tree:null)); + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:123:15: mm= p_MainModule[$vd.tree] + this.pushFollow(XQueryParser.FOLLOW_p_MainModule_in_p_Module584); + mm=this.p_MainModule((vd?vd.tree:null)); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_MainModule.add(mm.getTree()); + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 123:49: -> + { + this.adaptor.addChild(root_0, (mm?mm.tree:null)); + + } + + retval.tree = root_0;} + + break; + + } + + EOF1=this.match(this.input,EOF,XQueryParser.FOLLOW_EOF_in_p_Module613); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EOF.add(EOF1); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VersionDecl_return: (function() { + XQueryParser.p_VersionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VersionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:128:1: p_VersionDecl : k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) ; + // $ANTLR start "p_VersionDecl" + p_VersionDecl: function() { + var retval = new XQueryParser.p_VersionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON2 = null; + var k = null; + var list_k=null; + var enc = null; + var ver = null; + + var SEMICOLON2_tree=null; + var k_tree=null; + var stream_ENCODING=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ENCODING"); + var stream_VERSION=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token VERSION"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_XQUERY=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token XQUERY"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:129:9: (k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) ) + // XQueryParser.g:129:11: k+= XQUERY ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) SEMICOLON + k=this.match(this.input,XQUERY,XQueryParser.FOLLOW_XQUERY_in_p_VersionDecl641); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_XQUERY.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:129:21: ( (k+= ENCODING enc= p_StringLiteral ) | (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) ) + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( (LA4_0==ENCODING) ) { + alt4=1; + } + else if ( (LA4_0==VERSION) ) { + alt4=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 4, 0, this.input); + + throw nvae; + } + switch (alt4) { + case 1 : + // XQueryParser.g:129:22: (k+= ENCODING enc= p_StringLiteral ) + // XQueryParser.g:129:22: (k+= ENCODING enc= p_StringLiteral ) + // XQueryParser.g:129:23: k+= ENCODING enc= p_StringLiteral + k=this.match(this.input,ENCODING,XQueryParser.FOLLOW_ENCODING_in_p_VersionDecl647); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ENCODING.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl651); + enc=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(enc.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:130:13: (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) + // XQueryParser.g:130:13: (k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? ) + // XQueryParser.g:130:14: k+= VERSION ver= p_StringLiteral (k+= ENCODING enc= p_StringLiteral )? + k=this.match(this.input,VERSION,XQueryParser.FOLLOW_VERSION_in_p_VersionDecl672); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_VERSION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl676); + ver=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ver.getTree()); + // XQueryParser.g:130:46: (k+= ENCODING enc= p_StringLiteral )? + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( (LA3_0==ENCODING) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // XQueryParser.g:130:47: k+= ENCODING enc= p_StringLiteral + k=this.match(this.input,ENCODING,XQueryParser.FOLLOW_ENCODING_in_p_VersionDecl682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ENCODING.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_VersionDecl686); + enc=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(enc.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON2=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_VersionDecl692); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON2); + + + + // AST REWRITE + // elements: enc, ver + // token labels: + // rule labels: retval, ver, enc + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_ver=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ver",ver!=null?ver.tree:null); + var stream_enc=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token enc",enc!=null?enc.tree:null); + + root_0 = this.adaptor.nil(); + // 131:17: -> ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) + { + // XQueryParser.g:131:20: ^( VersionDecl ^( VersionDeclVersion ( $ver)? ) ^( VersionDeclEncoding ( $enc)? ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(VersionDecl, "VersionDecl"), root_1); + + // XQueryParser.g:131:34: ^( VersionDeclVersion ( $ver)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VersionDeclVersion, "VersionDeclVersion"), root_2); + + // XQueryParser.g:131:55: ( $ver)? + if ( stream_ver.hasNext() ) { + this.adaptor.addChild(root_2, stream_ver.nextTree()); + + } + stream_ver.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:131:62: ^( VersionDeclEncoding ( $enc)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VersionDeclEncoding, "VersionDeclEncoding"), root_2); + + // XQueryParser.g:131:84: ( $enc)? + if ( stream_enc.hasNext() ) { + this.adaptor.addChild(root_2, stream_enc.nextTree()); + + } + stream_enc.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_MainModule_return: (function() { + XQueryParser.p_MainModule_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_MainModule_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:135:1: p_MainModule[vd] : pm_Prolog p_QueryBody -> ^( MainModule pm_Prolog p_QueryBody ) ; + // $ANTLR start "p_MainModule" + p_MainModule: function(vd) { + var retval = new XQueryParser.p_MainModule_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Prolog3 = null; + var p_QueryBody4 = null; + + var stream_p_QueryBody=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QueryBody"); + var stream_pm_Prolog=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Prolog"); + try { + // XQueryParser.g:136:9: ( pm_Prolog p_QueryBody -> ^( MainModule pm_Prolog p_QueryBody ) ) + // XQueryParser.g:136:11: pm_Prolog p_QueryBody + this.pushFollow(XQueryParser.FOLLOW_pm_Prolog_in_p_MainModule758); + pm_Prolog3=this.pm_Prolog(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Prolog.add(pm_Prolog3.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_QueryBody_in_p_MainModule760); + p_QueryBody4=this.p_QueryBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QueryBody.add(p_QueryBody4.getTree()); + + + // AST REWRITE + // elements: pm_Prolog, p_QueryBody + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 137:17: -> ^( MainModule pm_Prolog p_QueryBody ) + { + // XQueryParser.g:137:20: ^( MainModule pm_Prolog p_QueryBody ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(MainModule, "MainModule"), root_1); + + this.adaptor.addChild(root_1, vd); + this.adaptor.addChild(root_1, stream_pm_Prolog.nextTree()); + this.adaptor.addChild(root_1, stream_p_QueryBody.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LibraryModule_return: (function() { + XQueryParser.p_LibraryModule_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LibraryModule_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:141:1: p_LibraryModule[vd] : p_ModuleDecl pm_Prolog -> ^( LibraryModule p_ModuleDecl pm_Prolog ) ; + // $ANTLR start "p_LibraryModule" + p_LibraryModule: function(vd) { + var retval = new XQueryParser.p_LibraryModule_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ModuleDecl5 = null; + var pm_Prolog6 = null; + + var stream_pm_Prolog=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Prolog"); + var stream_p_ModuleDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ModuleDecl"); + try { + // XQueryParser.g:142:9: ( p_ModuleDecl pm_Prolog -> ^( LibraryModule p_ModuleDecl pm_Prolog ) ) + // XQueryParser.g:142:11: p_ModuleDecl pm_Prolog + this.pushFollow(XQueryParser.FOLLOW_p_ModuleDecl_in_p_LibraryModule816); + p_ModuleDecl5=this.p_ModuleDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ModuleDecl.add(p_ModuleDecl5.getTree()); + this.pushFollow(XQueryParser.FOLLOW_pm_Prolog_in_p_LibraryModule818); + pm_Prolog6=this.pm_Prolog(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Prolog.add(pm_Prolog6.getTree()); + + + // AST REWRITE + // elements: p_ModuleDecl, pm_Prolog + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 143:17: -> ^( LibraryModule p_ModuleDecl pm_Prolog ) + { + // XQueryParser.g:143:20: ^( LibraryModule p_ModuleDecl pm_Prolog ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(LibraryModule, "LibraryModule"), root_1); + + this.adaptor.addChild(root_1, vd); + this.adaptor.addChild(root_1, stream_p_ModuleDecl.nextTree()); + this.adaptor.addChild(root_1, stream_pm_Prolog.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ModuleDecl_return: (function() { + XQueryParser.p_ModuleDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ModuleDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:147:1: p_ModuleDecl : k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON -> ^( ModuleDecl p_NCName p_StringLiteral ) ; + // $ANTLR start "p_ModuleDecl" + p_ModuleDecl: function() { + var retval = new XQueryParser.p_ModuleDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL8 = null; + var SEMICOLON10 = null; + var k = null; + var list_k=null; + var p_NCName7 = null; + var p_StringLiteral9 = null; + + var EQUAL8_tree=null; + var SEMICOLON10_tree=null; + var k_tree=null; + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_MODULE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MODULE"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:148:9: (k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON -> ^( ModuleDecl p_NCName p_StringLiteral ) ) + // XQueryParser.g:148:11: k+= MODULE k+= NAMESPACE p_NCName EQUAL p_StringLiteral SEMICOLON + k=this.match(this.input,MODULE,XQueryParser.FOLLOW_MODULE_in_p_ModuleDecl874); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MODULE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_ModuleDecl878); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_ModuleDecl880); + p_NCName7=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(p_NCName7.getTree()); + EQUAL8=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_ModuleDecl882); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL8); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_ModuleDecl884); + p_StringLiteral9=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(p_StringLiteral9.getTree()); + SEMICOLON10=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_ModuleDecl886); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON10); + + + + // AST REWRITE + // elements: p_StringLiteral, p_NCName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 149:17: -> ^( ModuleDecl p_NCName p_StringLiteral ) + { + // XQueryParser.g:149:21: ^( ModuleDecl p_NCName p_StringLiteral ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ModuleDecl, "ModuleDecl"), root_1); + + this.adaptor.addChild(root_1, stream_p_NCName.nextTree()); + this.adaptor.addChild(root_1, stream_p_StringLiteral.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_Prolog_return: (function() { + XQueryParser.pm_Prolog_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_Prolog_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:155:1: pm_Prolog : ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) ; + // $ANTLR start "pm_Prolog" + pm_Prolog: function() { + var retval = new XQueryParser.pm_Prolog_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var list_dnd=null; + var list_s=null; + var list_nd=null; + var list_i=null; + var od = null; + var dnd = null; + var s = null; + var nd = null; + var i = null; + var stream_pm_NamespaceDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_NamespaceDecl"); + var stream_p_Import=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Import"); + var stream_p_Setter=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Setter"); + var stream_pm_DefaultNamespaceDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_DefaultNamespaceDecl"); + var stream_pg_OrderedDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pg_OrderedDecl"); + try { + // XQueryParser.g:156:9: ( ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) ) + // XQueryParser.g:156:11: ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* od= pg_OrderedDecl + // XQueryParser.g:156:11: ( (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) )* + loop6: + do { + var alt6=2; + alt6 = this.dfa6.predict(this.input); + switch (alt6) { + case 1 : + // XQueryParser.g:156:12: (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) + // XQueryParser.g:156:12: (dnd+= pm_DefaultNamespaceDecl | s+= p_Setter | nd+= pm_NamespaceDecl | i+= p_Import ) + var alt5=4; + var LA5_0 = this.input.LA(1); + + if ( (LA5_0==DECLARE) ) { + var LA5_1 = this.input.LA(2); + + if ( (LA5_1==DEFAULT) ) { + var LA5_3 = this.input.LA(3); + + if ( (LA5_3==COLLATION||LA5_3==ORDER) ) { + alt5=2; + } + else if ( (LA5_3==ELEMENT||LA5_3==FUNCTION) ) { + alt5=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 3, this.input); + + throw nvae; + } + } + else if ( ((LA5_1>=BASE_URI && LA5_1<=BOUNDARY_SPACE)||LA5_1==CONSTRUCTION||LA5_1==ORDERING) ) { + alt5=2; + } + else if ( (LA5_1==REVALIDATION) && ((true))) { + alt5=2; + } + else if ( (LA5_1==COPY_NAMESPACES) ) { + alt5=2; + } + else if ( (LA5_1==NAMESPACE) ) { + alt5=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 1, this.input); + + throw nvae; + } + } + else if ( (LA5_0==IMPORT) ) { + alt5=4; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 5, 0, this.input); + + throw nvae; + } + switch (alt5) { + case 1 : + // XQueryParser.g:156:13: dnd+= pm_DefaultNamespaceDecl + this.pushFollow(XQueryParser.FOLLOW_pm_DefaultNamespaceDecl_in_pm_Prolog945); + dnd=this.pm_DefaultNamespaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_DefaultNamespaceDecl.add(dnd.getTree()); + if (org.antlr.lang.isNull(list_dnd)) list_dnd = []; + list_dnd.push(dnd.getTree()); + + + + break; + case 2 : + // XQueryParser.g:156:44: s+= p_Setter + this.pushFollow(XQueryParser.FOLLOW_p_Setter_in_pm_Prolog951); + s=this.p_Setter(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Setter.add(s.getTree()); + if (org.antlr.lang.isNull(list_s)) list_s = []; + list_s.push(s.getTree()); + + + + break; + case 3 : + // XQueryParser.g:156:58: nd+= pm_NamespaceDecl + this.pushFollow(XQueryParser.FOLLOW_pm_NamespaceDecl_in_pm_Prolog957); + nd=this.pm_NamespaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_NamespaceDecl.add(nd.getTree()); + if (org.antlr.lang.isNull(list_nd)) list_nd = []; + list_nd.push(nd.getTree()); + + + + break; + case 4 : + // XQueryParser.g:156:81: i+= p_Import + this.pushFollow(XQueryParser.FOLLOW_p_Import_in_pm_Prolog963); + i=this.p_Import(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Import.add(i.getTree()); + if (org.antlr.lang.isNull(list_i)) list_i = []; + list_i.push(i.getTree()); + + + + break; + + } + + + + break; + + default : + break loop6; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_pg_OrderedDecl_in_pm_Prolog970); + od=this.pg_OrderedDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pg_OrderedDecl.add(od.getTree()); + + + // AST REWRITE + // elements: s, i, nd, od, dnd + // token labels: + // rule labels: retval, od + // token list labels: + // rule list labels: s, nd, dnd, i + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_od=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token od",od!=null?od.tree:null); + var stream_s=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token s",list_s); + var stream_nd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nd",list_nd); + var stream_dnd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token dnd",list_dnd); + var stream_i=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token i",list_i); + root_0 = this.adaptor.nil(); + // 157:17: -> ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) + { + // XQueryParser.g:157:21: ^( Prolog ^( DefaultNamespaceDecls ( $dnd)* ) ^( Setters ( $s)* ) ^( NamespaceDecls ( $nd)* ) ^( Imports ( $i)* ) ^( OrderedDecls ( $od)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Prolog, "Prolog"), root_1); + + // XQueryParser.g:158:33: ^( DefaultNamespaceDecls ( $dnd)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DefaultNamespaceDecls, "DefaultNamespaceDecls"), root_2); + + // XQueryParser.g:158:57: ( $dnd)* + while ( stream_dnd.hasNext() ) { + this.adaptor.addChild(root_2, stream_dnd.nextTree()); + + } + stream_dnd.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:159:33: ^( Setters ( $s)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(Setters, "Setters"), root_2); + + // XQueryParser.g:159:43: ( $s)* + while ( stream_s.hasNext() ) { + this.adaptor.addChild(root_2, stream_s.nextTree()); + + } + stream_s.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:160:33: ^( NamespaceDecls ( $nd)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceDecls, "NamespaceDecls"), root_2); + + // XQueryParser.g:160:50: ( $nd)* + while ( stream_nd.hasNext() ) { + this.adaptor.addChild(root_2, stream_nd.nextTree()); + + } + stream_nd.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:161:33: ^( Imports ( $i)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(Imports, "Imports"), root_2); + + // XQueryParser.g:161:43: ( $i)* + while ( stream_i.hasNext() ) { + this.adaptor.addChild(root_2, stream_i.nextTree()); + + } + stream_i.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:162:33: ^( OrderedDecls ( $od)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(OrderedDecls, "OrderedDecls"), root_2); + + // XQueryParser.g:162:48: ( $od)* + while ( stream_od.hasNext() ) { + this.adaptor.addChild(root_2, stream_od.nextTree()); + + } + stream_od.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_OrderedDecl_return: (function() { + XQueryParser.pg_OrderedDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_OrderedDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:170:1: pg_OrderedDecl : ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* ; + // $ANTLR start "pg_OrderedDecl" + pg_OrderedDecl: function() { + var retval = new XQueryParser.pg_OrderedDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_VarDecl11 = null; + var pm_ContextItemDecl12 = null; + var pm_FunctionDecl13 = null; + var pm_OptionDecl14 = null; + var p_CollectionDecl15 = null; + var p_IndexDecl16 = null; + var p_ICDecl17 = null; + + + try { + // XQueryParser.g:171:9: ( ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* ) + // XQueryParser.g:171:11: ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:171:11: ( pm_VarDecl | pm_ContextItemDecl | pm_FunctionDecl | pm_OptionDecl | {...}? => p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )* + loop7: + do { + var alt7=8; + alt7 = this.dfa7.predict(this.input); + switch (alt7) { + case 1 : + // XQueryParser.g:171:12: pm_VarDecl + this.pushFollow(XQueryParser.FOLLOW_pm_VarDecl_in_pg_OrderedDecl1248); + pm_VarDecl11=this.pm_VarDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_VarDecl11.getTree()); + + + break; + case 2 : + // XQueryParser.g:171:25: pm_ContextItemDecl + this.pushFollow(XQueryParser.FOLLOW_pm_ContextItemDecl_in_pg_OrderedDecl1252); + pm_ContextItemDecl12=this.pm_ContextItemDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ContextItemDecl12.getTree()); + + + break; + case 3 : + // XQueryParser.g:171:46: pm_FunctionDecl + this.pushFollow(XQueryParser.FOLLOW_pm_FunctionDecl_in_pg_OrderedDecl1256); + pm_FunctionDecl13=this.pm_FunctionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_FunctionDecl13.getTree()); + + + break; + case 4 : + // XQueryParser.g:171:64: pm_OptionDecl + this.pushFollow(XQueryParser.FOLLOW_pm_OptionDecl_in_pg_OrderedDecl1260); + pm_OptionDecl14=this.pm_OptionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_OptionDecl14.getTree()); + + + break; + case 5 : + // XQueryParser.g:172:11: {...}? => p_CollectionDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_CollectionDecl_in_pg_OrderedDecl1275); + p_CollectionDecl15=this.p_CollectionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollectionDecl15.getTree()); + + + break; + case 6 : + // XQueryParser.g:173:11: {...}? => p_IndexDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_IndexDecl_in_pg_OrderedDecl1290); + p_IndexDecl16=this.p_IndexDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexDecl16.getTree()); + + + break; + case 7 : + // XQueryParser.g:174:11: {...}? => p_ICDecl + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_OrderedDecl", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICDecl_in_pg_OrderedDecl1305); + p_ICDecl17=this.p_ICDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICDecl17.getTree()); + + + break; + + default : + break loop7; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Setter_return: (function() { + XQueryParser.p_Setter_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Setter_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:179:1: p_Setter : ( pm_BoundarySpaceDecl | pm_DefaultCollationDecl | pm_BaseURIDecl | pm_ConstructionDecl | pm_OrderingModeDecl | pm_EmptyOrderDecl | {...}? => pm_RevalidationDecl | pm_CopyNamespacesDecl ); + // $ANTLR start "p_Setter" + p_Setter: function() { + var retval = new XQueryParser.p_Setter_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_BoundarySpaceDecl18 = null; + var pm_DefaultCollationDecl19 = null; + var pm_BaseURIDecl20 = null; + var pm_ConstructionDecl21 = null; + var pm_OrderingModeDecl22 = null; + var pm_EmptyOrderDecl23 = null; + var pm_RevalidationDecl24 = null; + var pm_CopyNamespacesDecl25 = null; + + + try { + // XQueryParser.g:180:9: ( pm_BoundarySpaceDecl | pm_DefaultCollationDecl | pm_BaseURIDecl | pm_ConstructionDecl | pm_OrderingModeDecl | pm_EmptyOrderDecl | {...}? => pm_RevalidationDecl | pm_CopyNamespacesDecl ) + var alt8=8; + alt8 = this.dfa8.predict(this.input); + switch (alt8) { + case 1 : + // XQueryParser.g:180:11: pm_BoundarySpaceDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_BoundarySpaceDecl_in_p_Setter1334); + pm_BoundarySpaceDecl18=this.pm_BoundarySpaceDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_BoundarySpaceDecl18.getTree()); + + + break; + case 2 : + // XQueryParser.g:181:11: pm_DefaultCollationDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_DefaultCollationDecl_in_p_Setter1346); + pm_DefaultCollationDecl19=this.pm_DefaultCollationDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_DefaultCollationDecl19.getTree()); + + + break; + case 3 : + // XQueryParser.g:182:11: pm_BaseURIDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_BaseURIDecl_in_p_Setter1358); + pm_BaseURIDecl20=this.pm_BaseURIDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_BaseURIDecl20.getTree()); + + + break; + case 4 : + // XQueryParser.g:183:11: pm_ConstructionDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_ConstructionDecl_in_p_Setter1370); + pm_ConstructionDecl21=this.pm_ConstructionDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ConstructionDecl21.getTree()); + + + break; + case 5 : + // XQueryParser.g:184:11: pm_OrderingModeDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_OrderingModeDecl_in_p_Setter1382); + pm_OrderingModeDecl22=this.pm_OrderingModeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_OrderingModeDecl22.getTree()); + + + break; + case 6 : + // XQueryParser.g:185:11: pm_EmptyOrderDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_EmptyOrderDecl_in_p_Setter1394); + pm_EmptyOrderDecl23=this.pm_EmptyOrderDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_EmptyOrderDecl23.getTree()); + + + break; + case 7 : + // XQueryParser.g:186:11: {...}? => pm_RevalidationDecl + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_Setter", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_pm_RevalidationDecl_in_p_Setter1409); + pm_RevalidationDecl24=this.pm_RevalidationDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_RevalidationDecl24.getTree()); + + + break; + case 8 : + // XQueryParser.g:187:11: pm_CopyNamespacesDecl + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_CopyNamespacesDecl_in_p_Setter1421); + pm_CopyNamespacesDecl25=this.pm_CopyNamespacesDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_CopyNamespacesDecl25.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Import_return: (function() { + XQueryParser.p_Import_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Import_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:191:1: p_Import : ( pm_SchemaImport | pm_ModuleImport ); + // $ANTLR start "p_Import" + p_Import: function() { + var retval = new XQueryParser.p_Import_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_SchemaImport26 = null; + var pm_ModuleImport27 = null; + + + try { + // XQueryParser.g:192:9: ( pm_SchemaImport | pm_ModuleImport ) + var alt9=2; + var LA9_0 = this.input.LA(1); + + if ( (LA9_0==IMPORT) ) { + var LA9_1 = this.input.LA(2); + + if ( (LA9_1==SCHEMA) ) { + alt9=1; + } + else if ( (LA9_1==MODULE) ) { + alt9=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 9, 1, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 9, 0, this.input); + + throw nvae; + } + switch (alt9) { + case 1 : + // XQueryParser.g:192:11: pm_SchemaImport + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_SchemaImport_in_p_Import1447); + pm_SchemaImport26=this.pm_SchemaImport(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_SchemaImport26.getTree()); + + + break; + case 2 : + // XQueryParser.g:192:29: pm_ModuleImport + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_ModuleImport_in_p_Import1451); + pm_ModuleImport27=this.pm_ModuleImport(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ModuleImport27.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_NamespaceDecl_return: (function() { + XQueryParser.pm_NamespaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_NamespaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:199:1: pm_NamespaceDecl : k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON -> ^( NamespaceDecl $nn $us) ; + // $ANTLR start "pm_NamespaceDecl" + pm_NamespaceDecl: function() { + var retval = new XQueryParser.pm_NamespaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL28 = null; + var SEMICOLON29 = null; + var k = null; + var list_k=null; + var nn = null; + var us = null; + + var EQUAL28_tree=null; + var SEMICOLON29_tree=null; + var k_tree=null; + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:200:9: (k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON -> ^( NamespaceDecl $nn $us) ) + // XQueryParser.g:200:11: k+= DECLARE k+= NAMESPACE nn= p_NCName EQUAL us= p_StringLiteral SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_NamespaceDecl1482); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_NamespaceDecl1486); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_pm_NamespaceDecl1490); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL28=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_pm_NamespaceDecl1492); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL28); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_NamespaceDecl1496); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + SEMICOLON29=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_NamespaceDecl1498); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON29); + + + + // AST REWRITE + // elements: us, nn + // token labels: + // rule labels: retval, nn, us + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + + root_0 = this.adaptor.nil(); + // 201:17: -> ^( NamespaceDecl $nn $us) + { + // XQueryParser.g:201:20: ^( NamespaceDecl $nn $us) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceDecl, "NamespaceDecl"), root_1); + + this.adaptor.addChild(root_1, stream_nn.nextTree()); + this.adaptor.addChild(root_1, stream_us.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BoundarySpaceDecl_return: (function() { + XQueryParser.pm_BoundarySpaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BoundarySpaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:205:1: pm_BoundarySpaceDecl : k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON ; + // $ANTLR start "pm_BoundarySpaceDecl" + pm_BoundarySpaceDecl: function() { + var retval = new XQueryParser.pm_BoundarySpaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON30 = null; + var k = null; + var list_k=null; + + var SEMICOLON30_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:206:9: (k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON ) + // XQueryParser.g:206:13: k+= DECLARE k+= BOUNDARY_SPACE (k+= PRESERVE | k+= STRIP ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BoundarySpaceDecl1561); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BOUNDARY_SPACE,XQueryParser.FOLLOW_BOUNDARY_SPACE_in_pm_BoundarySpaceDecl1565); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:206:42: (k+= PRESERVE | k+= STRIP ) + var alt10=2; + var LA10_0 = this.input.LA(1); + + if ( (LA10_0==PRESERVE) ) { + alt10=1; + } + else if ( (LA10_0==STRIP) ) { + alt10=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 10, 0, this.input); + + throw nvae; + } + switch (alt10) { + case 1 : + // XQueryParser.g:206:43: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_pm_BoundarySpaceDecl1570); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:206:57: k+= STRIP + k=this.match(this.input,STRIP,XQueryParser.FOLLOW_STRIP_in_pm_BoundarySpaceDecl1576); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON30=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BoundarySpaceDecl1579); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON30_tree = this.adaptor.create(SEMICOLON30); + this.adaptor.addChild(root_0, SEMICOLON30_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DefaultNamespaceDecl_return: (function() { + XQueryParser.pm_DefaultNamespaceDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DefaultNamespaceDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:210:1: pm_DefaultNamespaceDecl : k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_DefaultNamespaceDecl" + pm_DefaultNamespaceDecl: function() { + var retval = new XQueryParser.pm_DefaultNamespaceDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON32 = null; + var k = null; + var list_k=null; + var p_StringLiteral31 = null; + + var SEMICOLON32_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:211:9: (k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON ) + // XQueryParser.g:211:11: k+= DECLARE k+= DEFAULT (k+= ELEMENT | k+= FUNCTION ) k+= NAMESPACE p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_DefaultNamespaceDecl1607); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_DefaultNamespaceDecl1611); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:211:33: (k+= ELEMENT | k+= FUNCTION ) + var alt11=2; + var LA11_0 = this.input.LA(1); + + if ( (LA11_0==ELEMENT) ) { + alt11=1; + } + else if ( (LA11_0==FUNCTION) ) { + alt11=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 11, 0, this.input); + + throw nvae; + } + switch (alt11) { + case 1 : + // XQueryParser.g:211:34: k+= ELEMENT + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_pm_DefaultNamespaceDecl1616); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:211:47: k+= FUNCTION + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_DefaultNamespaceDecl1622); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_DefaultNamespaceDecl1627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_DefaultNamespaceDecl1629); + p_StringLiteral31=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral31.getTree()); + SEMICOLON32=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_DefaultNamespaceDecl1631); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON32_tree = this.adaptor.create(SEMICOLON32); + this.adaptor.addChild(root_0, SEMICOLON32_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_OptionDecl_return: (function() { + XQueryParser.pm_OptionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_OptionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:215:1: pm_OptionDecl : k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_OptionDecl" + pm_OptionDecl: function() { + var retval = new XQueryParser.pm_OptionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON35 = null; + var k = null; + var list_k=null; + var p_QName33 = null; + var p_StringLiteral34 = null; + + var SEMICOLON35_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:216:9: (k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON ) + // XQueryParser.g:216:13: k+= DECLARE k+= OPTION p_QName p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_OptionDecl1662); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,OPTION,XQueryParser.FOLLOW_OPTION_in_pm_OptionDecl1666); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_OptionDecl1668); + p_QName33=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName33.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_OptionDecl1670); + p_StringLiteral34=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral34.getTree()); + SEMICOLON35=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_OptionDecl1672); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON35_tree = this.adaptor.create(SEMICOLON35); + this.adaptor.addChild(root_0, SEMICOLON35_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_OrderingModeDecl_return: (function() { + XQueryParser.pm_OrderingModeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_OrderingModeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:220:1: pm_OrderingModeDecl : k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON ; + // $ANTLR start "pm_OrderingModeDecl" + pm_OrderingModeDecl: function() { + var retval = new XQueryParser.pm_OrderingModeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON36 = null; + var k = null; + var list_k=null; + + var SEMICOLON36_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:221:9: (k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON ) + // XQueryParser.g:221:13: k+= DECLARE k+= ORDERING (k+= ORDERED | k+= UNORDERED ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_OrderingModeDecl1703); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDERING,XQueryParser.FOLLOW_ORDERING_in_pm_OrderingModeDecl1707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:221:36: (k+= ORDERED | k+= UNORDERED ) + var alt12=2; + var LA12_0 = this.input.LA(1); + + if ( (LA12_0==ORDERED) ) { + alt12=1; + } + else if ( (LA12_0==UNORDERED) ) { + alt12=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 12, 0, this.input); + + throw nvae; + } + switch (alt12) { + case 1 : + // XQueryParser.g:221:37: k+= ORDERED + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_pm_OrderingModeDecl1712); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:221:50: k+= UNORDERED + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_pm_OrderingModeDecl1718); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON36=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_OrderingModeDecl1721); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON36_tree = this.adaptor.create(SEMICOLON36); + this.adaptor.addChild(root_0, SEMICOLON36_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_EmptyOrderDecl_return: (function() { + XQueryParser.pm_EmptyOrderDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_EmptyOrderDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:225:1: pm_EmptyOrderDecl : k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON ; + // $ANTLR start "pm_EmptyOrderDecl" + pm_EmptyOrderDecl: function() { + var retval = new XQueryParser.pm_EmptyOrderDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON37 = null; + var k = null; + var list_k=null; + + var SEMICOLON37_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:226:9: (k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON ) + // XQueryParser.g:226:13: k+= DECLARE k+= DEFAULT k+= ORDER k+= EMPTY (k+= GREATEST | k+= LEAST ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_EmptyOrderDecl1752); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_EmptyOrderDecl1756); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_pm_EmptyOrderDecl1760); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,EMPTY,XQueryParser.FOLLOW_EMPTY_in_pm_EmptyOrderDecl1764); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:226:53: (k+= GREATEST | k+= LEAST ) + var alt13=2; + var LA13_0 = this.input.LA(1); + + if ( (LA13_0==GREATEST) ) { + alt13=1; + } + else if ( (LA13_0==LEAST) ) { + alt13=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 13, 0, this.input); + + throw nvae; + } + switch (alt13) { + case 1 : + // XQueryParser.g:226:54: k+= GREATEST + k=this.match(this.input,GREATEST,XQueryParser.FOLLOW_GREATEST_in_pm_EmptyOrderDecl1769); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:226:68: k+= LEAST + k=this.match(this.input,LEAST,XQueryParser.FOLLOW_LEAST_in_pm_EmptyOrderDecl1775); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON37=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_EmptyOrderDecl1778); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON37_tree = this.adaptor.create(SEMICOLON37); + this.adaptor.addChild(root_0, SEMICOLON37_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_CopyNamespacesDecl_return: (function() { + XQueryParser.pm_CopyNamespacesDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_CopyNamespacesDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:230:1: pm_CopyNamespacesDecl : k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON ; + // $ANTLR start "pm_CopyNamespacesDecl" + pm_CopyNamespacesDecl: function() { + var retval = new XQueryParser.pm_CopyNamespacesDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA39 = null; + var SEMICOLON41 = null; + var k = null; + var list_k=null; + var p_PreserveMode38 = null; + var p_InheritMode40 = null; + + var COMMA39_tree=null; + var SEMICOLON41_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:231:9: (k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON ) + // XQueryParser.g:231:13: k+= DECLARE k+= COPY_NAMESPACES p_PreserveMode COMMA p_InheritMode SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_CopyNamespacesDecl1809); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COPY_NAMESPACES,XQueryParser.FOLLOW_COPY_NAMESPACES_in_pm_CopyNamespacesDecl1813); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PreserveMode_in_pm_CopyNamespacesDecl1815); + p_PreserveMode38=this.p_PreserveMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PreserveMode38.getTree()); + COMMA39=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_CopyNamespacesDecl1817); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA39_tree = this.adaptor.create(COMMA39); + this.adaptor.addChild(root_0, COMMA39_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_InheritMode_in_pm_CopyNamespacesDecl1819); + p_InheritMode40=this.p_InheritMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InheritMode40.getTree()); + SEMICOLON41=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_CopyNamespacesDecl1821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON41_tree = this.adaptor.create(SEMICOLON41); + this.adaptor.addChild(root_0, SEMICOLON41_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DecimalFormatDecl_return: (function() { + XQueryParser.p_DecimalFormatDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DecimalFormatDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:235:1: p_DecimalFormatDecl : k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON ; + // $ANTLR start "p_DecimalFormatDecl" + p_DecimalFormatDecl: function() { + var retval = new XQueryParser.p_DecimalFormatDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DECIMAL_FORMAT42 = null; + var DEFAULT44 = null; + var DECIMAL_FORMAT45 = null; + var EQ47 = null; + var SEMICOLON49 = null; + var k = null; + var list_k=null; + var p_QName43 = null; + var p_DFPropertyName46 = null; + var p_StringLiteral48 = null; + + var DECIMAL_FORMAT42_tree=null; + var DEFAULT44_tree=null; + var DECIMAL_FORMAT45_tree=null; + var EQ47_tree=null; + var SEMICOLON49_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:236:9: (k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON ) + // XQueryParser.g:236:13: k+= DECLARE ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) ( p_DFPropertyName ) EQ p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_DecimalFormatDecl1852); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:236:24: ( ( DECIMAL_FORMAT p_QName ) | ( DEFAULT DECIMAL_FORMAT ) ) + var alt14=2; + var LA14_0 = this.input.LA(1); + + if ( (LA14_0==DECIMAL_FORMAT) ) { + alt14=1; + } + else if ( (LA14_0==DEFAULT) ) { + alt14=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 14, 0, this.input); + + throw nvae; + } + switch (alt14) { + case 1 : + // XQueryParser.g:236:25: ( DECIMAL_FORMAT p_QName ) + // XQueryParser.g:236:25: ( DECIMAL_FORMAT p_QName ) + // XQueryParser.g:236:26: DECIMAL_FORMAT p_QName + DECIMAL_FORMAT42=this.match(this.input,DECIMAL_FORMAT,XQueryParser.FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1856); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DECIMAL_FORMAT42_tree = this.adaptor.create(DECIMAL_FORMAT42); + this.adaptor.addChild(root_0, DECIMAL_FORMAT42_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DecimalFormatDecl1858); + p_QName43=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName43.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:236:52: ( DEFAULT DECIMAL_FORMAT ) + // XQueryParser.g:236:52: ( DEFAULT DECIMAL_FORMAT ) + // XQueryParser.g:236:53: DEFAULT DECIMAL_FORMAT + DEFAULT44=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_DecimalFormatDecl1864); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DEFAULT44_tree = this.adaptor.create(DEFAULT44); + this.adaptor.addChild(root_0, DEFAULT44_tree); + } + DECIMAL_FORMAT45=this.match(this.input,DECIMAL_FORMAT,XQueryParser.FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1866); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DECIMAL_FORMAT45_tree = this.adaptor.create(DECIMAL_FORMAT45); + this.adaptor.addChild(root_0, DECIMAL_FORMAT45_tree); + } + + + + + + break; + + } + + // XQueryParser.g:236:78: ( p_DFPropertyName ) + // XQueryParser.g:236:79: p_DFPropertyName + this.pushFollow(XQueryParser.FOLLOW_p_DFPropertyName_in_p_DecimalFormatDecl1871); + p_DFPropertyName46=this.p_DFPropertyName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DFPropertyName46.getTree()); + + + + EQ47=this.match(this.input,EQ,XQueryParser.FOLLOW_EQ_in_p_DecimalFormatDecl1874); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + EQ47_tree = this.adaptor.create(EQ47); + this.adaptor.addChild(root_0, EQ47_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_DecimalFormatDecl1876); + p_StringLiteral48=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral48.getTree()); + SEMICOLON49=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_DecimalFormatDecl1878); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON49_tree = this.adaptor.create(SEMICOLON49); + this.adaptor.addChild(root_0, SEMICOLON49_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DFPropertyName_return: (function() { + XQueryParser.p_DFPropertyName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DFPropertyName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:240:1: p_DFPropertyName : (k= DECIMAL_SEPARATOR | k= GROUPING_SEPARATOR | k= INFINITY | k= MINUS_SIGN | k= NAN | k= PERCENT | k= PER_MILLE | k= ZERO_DIGIT | k= DIGIT | k= PATTERN_SEPARATOR ); + // $ANTLR start "p_DFPropertyName" + p_DFPropertyName: function() { + var retval = new XQueryParser.p_DFPropertyName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + + var k_tree=null; + + try { + // XQueryParser.g:241:9: (k= DECIMAL_SEPARATOR | k= GROUPING_SEPARATOR | k= INFINITY | k= MINUS_SIGN | k= NAN | k= PERCENT | k= PER_MILLE | k= ZERO_DIGIT | k= DIGIT | k= PATTERN_SEPARATOR ) + var alt15=10; + switch ( this.input.LA(1) ) { + case DECIMAL_SEPARATOR: + alt15=1; + break; + case GROUPING_SEPARATOR: + alt15=2; + break; + case INFINITY: + alt15=3; + break; + case MINUS_SIGN: + alt15=4; + break; + case NAN: + alt15=5; + break; + case PERCENT: + alt15=6; + break; + case PER_MILLE: + alt15=7; + break; + case ZERO_DIGIT: + alt15=8; + break; + case DIGIT: + alt15=9; + break; + case PATTERN_SEPARATOR: + alt15=10; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 15, 0, this.input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // XQueryParser.g:241:11: k= DECIMAL_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECIMAL_SEPARATOR,XQueryParser.FOLLOW_DECIMAL_SEPARATOR_in_p_DFPropertyName1907); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:241:33: k= GROUPING_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,GROUPING_SEPARATOR,XQueryParser.FOLLOW_GROUPING_SEPARATOR_in_p_DFPropertyName1913); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:241:56: k= INFINITY + root_0 = this.adaptor.nil(); + + k=this.match(this.input,INFINITY,XQueryParser.FOLLOW_INFINITY_in_p_DFPropertyName1919); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 4 : + // XQueryParser.g:241:69: k= MINUS_SIGN + root_0 = this.adaptor.nil(); + + k=this.match(this.input,MINUS_SIGN,XQueryParser.FOLLOW_MINUS_SIGN_in_p_DFPropertyName1925); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 5 : + // XQueryParser.g:241:84: k= NAN + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NAN,XQueryParser.FOLLOW_NAN_in_p_DFPropertyName1931); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 6 : + // XQueryParser.g:241:92: k= PERCENT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PERCENT,XQueryParser.FOLLOW_PERCENT_in_p_DFPropertyName1937); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 7 : + // XQueryParser.g:241:104: k= PER_MILLE + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PER_MILLE,XQueryParser.FOLLOW_PER_MILLE_in_p_DFPropertyName1943); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 8 : + // XQueryParser.g:241:118: k= ZERO_DIGIT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ZERO_DIGIT,XQueryParser.FOLLOW_ZERO_DIGIT_in_p_DFPropertyName1949); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 9 : + // XQueryParser.g:241:133: k= DIGIT + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DIGIT,XQueryParser.FOLLOW_DIGIT_in_p_DFPropertyName1955); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 10 : + // XQueryParser.g:241:143: k= PATTERN_SEPARATOR + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PATTERN_SEPARATOR,XQueryParser.FOLLOW_PATTERN_SEPARATOR_in_p_DFPropertyName1961); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PreserveMode_return: (function() { + XQueryParser.p_PreserveMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PreserveMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:245:1: p_PreserveMode : (k+= PRESERVE | k+= NO_PRESERVE ) ; + // $ANTLR start "p_PreserveMode" + p_PreserveMode: function() { + var retval = new XQueryParser.p_PreserveMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:246:9: ( (k+= PRESERVE | k+= NO_PRESERVE ) ) + // XQueryParser.g:246:13: (k+= PRESERVE | k+= NO_PRESERVE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:246:13: (k+= PRESERVE | k+= NO_PRESERVE ) + var alt16=2; + var LA16_0 = this.input.LA(1); + + if ( (LA16_0==PRESERVE) ) { + alt16=1; + } + else if ( (LA16_0==NO_PRESERVE) ) { + alt16=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 16, 0, this.input); + + throw nvae; + } + switch (alt16) { + case 1 : + // XQueryParser.g:246:14: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_p_PreserveMode1993); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:246:28: k+= NO_PRESERVE + k=this.match(this.input,NO_PRESERVE,XQueryParser.FOLLOW_NO_PRESERVE_in_p_PreserveMode1999); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InheritMode_return: (function() { + XQueryParser.p_InheritMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InheritMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:250:1: p_InheritMode : (k+= INHERIT | k+= NO_INHERIT ) ; + // $ANTLR start "p_InheritMode" + p_InheritMode: function() { + var retval = new XQueryParser.p_InheritMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:251:9: ( (k+= INHERIT | k+= NO_INHERIT ) ) + // XQueryParser.g:251:13: (k+= INHERIT | k+= NO_INHERIT ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:251:13: (k+= INHERIT | k+= NO_INHERIT ) + var alt17=2; + var LA17_0 = this.input.LA(1); + + if ( (LA17_0==INHERIT) ) { + alt17=1; + } + else if ( (LA17_0==NO_INHERIT) ) { + alt17=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 17, 0, this.input); + + throw nvae; + } + switch (alt17) { + case 1 : + // XQueryParser.g:251:14: k+= INHERIT + k=this.match(this.input,INHERIT,XQueryParser.FOLLOW_INHERIT_in_p_InheritMode2032); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:251:27: k+= NO_INHERIT + k=this.match(this.input,NO_INHERIT,XQueryParser.FOLLOW_NO_INHERIT_in_p_InheritMode2038); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DefaultCollationDecl_return: (function() { + XQueryParser.pm_DefaultCollationDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DefaultCollationDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:255:1: pm_DefaultCollationDecl : k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON ; + // $ANTLR start "pm_DefaultCollationDecl" + pm_DefaultCollationDecl: function() { + var retval = new XQueryParser.pm_DefaultCollationDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON51 = null; + var k = null; + var list_k=null; + var p_StringLiteral50 = null; + + var SEMICOLON51_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:256:9: (k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON ) + // XQueryParser.g:256:13: k+= DECLARE k+= DEFAULT k+= COLLATION p_StringLiteral SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_DefaultCollationDecl2078); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_pm_DefaultCollationDecl2082); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_pm_DefaultCollationDecl2086); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_DefaultCollationDecl2088); + p_StringLiteral50=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral50.getTree()); + SEMICOLON51=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_DefaultCollationDecl2090); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON51_tree = this.adaptor.create(SEMICOLON51); + this.adaptor.addChild(root_0, SEMICOLON51_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BaseURIDecl_return: (function() { + XQueryParser.pm_BaseURIDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BaseURIDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:260:1: pm_BaseURIDecl : k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON -> ^( BaseURIDecl $sl) ; + // $ANTLR start "pm_BaseURIDecl" + pm_BaseURIDecl: function() { + var retval = new XQueryParser.pm_BaseURIDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON52 = null; + var k = null; + var list_k=null; + var sl = null; + + var SEMICOLON52_tree=null; + var k_tree=null; + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_BASE_URI=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BASE_URI"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:261:9: (k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON -> ^( BaseURIDecl $sl) ) + // XQueryParser.g:261:13: k+= DECLARE k+= BASE_URI sl= p_StringLiteral SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BaseURIDecl2129); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BASE_URI,XQueryParser.FOLLOW_BASE_URI_in_pm_BaseURIDecl2133); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BASE_URI.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_BaseURIDecl2137); + sl=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(sl.getTree()); + SEMICOLON52=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BaseURIDecl2139); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON52); + + + + // AST REWRITE + // elements: sl + // token labels: + // rule labels: sl, retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_sl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token sl",sl!=null?sl.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 262:17: -> ^( BaseURIDecl $sl) + { + // XQueryParser.g:262:20: ^( BaseURIDecl $sl) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BaseURIDecl, "BaseURIDecl"), root_1); + + this.adaptor.addChild(root_1, stream_sl.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_SchemaImport_return: (function() { + XQueryParser.pm_SchemaImport_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_SchemaImport_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:266:1: pm_SchemaImport : k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) ; + // $ANTLR start "pm_SchemaImport" + pm_SchemaImport: function() { + var retval = new XQueryParser.pm_SchemaImport_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA53 = null; + var SEMICOLON54 = null; + var k = null; + var list_k=null; + var list_ah=null; + var sp = null; + var us = null; + var ah = null; + var COMMA53_tree=null; + var SEMICOLON54_tree=null; + var k_tree=null; + var stream_AT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AT"); + var stream_IMPORT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token IMPORT"); + var stream_SCHEMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SCHEMA"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_p_SchemaPrefix=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_SchemaPrefix"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:267:9: (k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) ) + // XQueryParser.g:267:11: k+= IMPORT k+= SCHEMA (sp= p_SchemaPrefix )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON + k=this.match(this.input,IMPORT,XQueryParser.FOLLOW_IMPORT_in_pm_SchemaImport2193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_IMPORT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,SCHEMA,XQueryParser.FOLLOW_SCHEMA_in_pm_SchemaImport2197); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SCHEMA.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:267:33: (sp= p_SchemaPrefix )? + var alt18=2; + var LA18_0 = this.input.LA(1); + + if ( (LA18_0==DEFAULT||LA18_0==NAMESPACE) ) { + alt18=1; + } + switch (alt18) { + case 1 : + // XQueryParser.g:267:33: sp= p_SchemaPrefix + this.pushFollow(XQueryParser.FOLLOW_p_SchemaPrefix_in_pm_SchemaImport2201); + sp=this.p_SchemaPrefix(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_SchemaPrefix.add(sp.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2206); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + // XQueryParser.g:267:69: (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? + var alt20=2; + var LA20_0 = this.input.LA(1); + + if ( (LA20_0==AT) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // XQueryParser.g:267:70: k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* + k=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_pm_SchemaImport2211); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2215); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + // XQueryParser.g:267:96: ( COMMA ah+= p_StringLiteral )* + loop19: + do { + var alt19=2; + var LA19_0 = this.input.LA(1); + + if ( (LA19_0==COMMA) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // XQueryParser.g:267:97: COMMA ah+= p_StringLiteral + COMMA53=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_SchemaImport2218); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA53); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_SchemaImport2222); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + + + break; + + default : + break loop19; + } + } while (true); + + + + break; + + } + + SEMICOLON54=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_SchemaImport2228); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON54); + + + + // AST REWRITE + // elements: ah, sp, us + // token labels: + // rule labels: retval, sp, us + // token list labels: + // rule list labels: ah + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_sp=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token sp",sp!=null?sp.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + var stream_ah=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ah",list_ah); + root_0 = this.adaptor.nil(); + // 268:17: -> ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) + { + // XQueryParser.g:268:20: ^( SchemaImport ^( SchemaPrefix ( $sp)? ) $us ^( AtHints ( $ah)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SchemaImport, "SchemaImport"), root_1); + + // XQueryParser.g:268:35: ^( SchemaPrefix ( $sp)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(SchemaPrefix, "SchemaPrefix"), root_2); + + // XQueryParser.g:268:50: ( $sp)? + if ( stream_sp.hasNext() ) { + this.adaptor.addChild(root_2, stream_sp.nextTree()); + + } + stream_sp.reset(); + + this.adaptor.addChild(root_1, root_2); + } + this.adaptor.addChild(root_1, stream_us.nextTree()); + // XQueryParser.g:268:60: ^( AtHints ( $ah)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(AtHints, "AtHints"), root_2); + + // XQueryParser.g:268:70: ( $ah)* + while ( stream_ah.hasNext() ) { + this.adaptor.addChild(root_2, stream_ah.nextTree()); + + } + stream_ah.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaPrefix_return: (function() { + XQueryParser.p_SchemaPrefix_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaPrefix_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:272:1: p_SchemaPrefix : (k+= NAMESPACE nn= p_NCName EQUAL -> ^( NamespaceName $nn) | k+= DEFAULT k+= ELEMENT k+= NAMESPACE -> DefaultElementNamespace ); + // $ANTLR start "p_SchemaPrefix" + p_SchemaPrefix: function() { + var retval = new XQueryParser.p_SchemaPrefix_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL55 = null; + var k = null; + var list_k=null; + var nn = null; + + var EQUAL55_tree=null; + var k_tree=null; + var stream_ELEMENT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ELEMENT"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_DEFAULT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DEFAULT"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + try { + // XQueryParser.g:273:9: (k+= NAMESPACE nn= p_NCName EQUAL -> ^( NamespaceName $nn) | k+= DEFAULT k+= ELEMENT k+= NAMESPACE -> DefaultElementNamespace ) + var alt21=2; + var LA21_0 = this.input.LA(1); + + if ( (LA21_0==NAMESPACE) ) { + alt21=1; + } + else if ( (LA21_0==DEFAULT) ) { + alt21=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 21, 0, this.input); + + throw nvae; + } + switch (alt21) { + case 1 : + // XQueryParser.g:273:11: k+= NAMESPACE nn= p_NCName EQUAL + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_SchemaPrefix2299); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_SchemaPrefix2303); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL55=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_SchemaPrefix2305); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL55); + + + + // AST REWRITE + // elements: nn + // token labels: + // rule labels: retval, nn + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + + root_0 = this.adaptor.nil(); + // 274:17: -> ^( NamespaceName $nn) + { + // XQueryParser.g:274:20: ^( NamespaceName $nn) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceName, "NamespaceName"), root_1); + + this.adaptor.addChild(root_1, stream_nn.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:275:11: k+= DEFAULT k+= ELEMENT k+= NAMESPACE + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_SchemaPrefix2345); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DEFAULT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_SchemaPrefix2349); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ELEMENT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_SchemaPrefix2353); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 276:17: -> DefaultElementNamespace + { + this.adaptor.addChild(root_0, this.adaptor.create(DefaultElementNamespace, "DefaultElementNamespace")); + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ModuleImport_return: (function() { + XQueryParser.pm_ModuleImport_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ModuleImport_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:280:1: pm_ModuleImport : k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) ; + // $ANTLR start "pm_ModuleImport" + pm_ModuleImport: function() { + var retval = new XQueryParser.pm_ModuleImport_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var EQUAL56 = null; + var COMMA57 = null; + var SEMICOLON58 = null; + var k = null; + var list_k=null; + var list_ah=null; + var nn = null; + var us = null; + var ah = null; + var EQUAL56_tree=null; + var COMMA57_tree=null; + var SEMICOLON58_tree=null; + var k_tree=null; + var stream_AT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AT"); + var stream_IMPORT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token IMPORT"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_MODULE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MODULE"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_NAMESPACE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token NAMESPACE"); + var stream_EQUAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EQUAL"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + var stream_p_StringLiteral=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_StringLiteral"); + try { + // XQueryParser.g:281:9: (k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) ) + // XQueryParser.g:281:11: k+= IMPORT k+= MODULE (k+= NAMESPACE nn= p_NCName EQUAL )? us= p_StringLiteral (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? SEMICOLON + k=this.match(this.input,IMPORT,XQueryParser.FOLLOW_IMPORT_in_pm_ModuleImport2402); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_IMPORT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MODULE,XQueryParser.FOLLOW_MODULE_in_pm_ModuleImport2406); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MODULE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:281:31: (k+= NAMESPACE nn= p_NCName EQUAL )? + var alt22=2; + var LA22_0 = this.input.LA(1); + + if ( (LA22_0==NAMESPACE) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // XQueryParser.g:281:32: k+= NAMESPACE nn= p_NCName EQUAL + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_pm_ModuleImport2411); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_NAMESPACE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_pm_ModuleImport2415); + nn=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(nn.getTree()); + EQUAL56=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_pm_ModuleImport2417); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EQUAL.add(EQUAL56); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2423); + us=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(us.getTree()); + // XQueryParser.g:281:84: (k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* )? + var alt24=2; + var LA24_0 = this.input.LA(1); + + if ( (LA24_0==AT) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // XQueryParser.g:281:85: k+= AT ah+= p_StringLiteral ( COMMA ah+= p_StringLiteral )* + k=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_pm_ModuleImport2428); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AT.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2432); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + // XQueryParser.g:281:111: ( COMMA ah+= p_StringLiteral )* + loop23: + do { + var alt23=2; + var LA23_0 = this.input.LA(1); + + if ( (LA23_0==COMMA) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // XQueryParser.g:281:112: COMMA ah+= p_StringLiteral + COMMA57=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_ModuleImport2435); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA57); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_pm_ModuleImport2439); + ah=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_StringLiteral.add(ah.getTree()); + if (org.antlr.lang.isNull(list_ah)) list_ah = []; + list_ah.push(ah.getTree()); + + + + break; + + default : + break loop23; + } + } while (true); + + + + break; + + } + + SEMICOLON58=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ModuleImport2445); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON58); + + + + // AST REWRITE + // elements: nn, us, ah + // token labels: + // rule labels: retval, nn, us + // token list labels: + // rule list labels: ah + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_nn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token nn",nn!=null?nn.tree:null); + var stream_us=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token us",us!=null?us.tree:null); + var stream_ah=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ah",list_ah); + root_0 = this.adaptor.nil(); + // 282:17: -> ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) + { + // XQueryParser.g:282:20: ^( ModuleImport ^( NamespaceName ( $nn)? ) $us ^( AtHints ( $ah)* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ModuleImport, "ModuleImport"), root_1); + + // XQueryParser.g:282:35: ^( NamespaceName ( $nn)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(NamespaceName, "NamespaceName"), root_2); + + // XQueryParser.g:282:51: ( $nn)? + if ( stream_nn.hasNext() ) { + this.adaptor.addChild(root_2, stream_nn.nextTree()); + + } + stream_nn.reset(); + + this.adaptor.addChild(root_1, root_2); + } + this.adaptor.addChild(root_1, stream_us.nextTree()); + // XQueryParser.g:282:61: ^( AtHints ( $ah)* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(AtHints, "AtHints"), root_2); + + // XQueryParser.g:282:71: ( $ah)* + while ( stream_ah.hasNext() ) { + this.adaptor.addChild(root_2, stream_ah.nextTree()); + + } + stream_ah.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_VarDecl_return: (function() { + XQueryParser.pm_VarDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_VarDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:286:1: pm_VarDecl : k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) ; + // $ANTLR start "pm_VarDecl" + pm_VarDecl: function() { + var retval = new XQueryParser.pm_VarDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR60 = null; + var BIND61 = null; + var BIND62 = null; + var SEMICOLON63 = null; + var k = null; + var list_k=null; + var vdt = null; + var qn = null; + var td = null; + var es = null; + var des = null; + var p_PrivateOption59 = null; + + var DOLLAR60_tree=null; + var BIND61_tree=null; + var BIND62_tree=null; + var SEMICOLON63_tree=null; + var k_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_EXTERNAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EXTERNAL"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_BIND=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BIND"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + var stream_p_PrivateOption=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_PrivateOption"); + var stream_p_ExprSingle=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ExprSingle"); + var stream_pg_VarDeclType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pg_VarDeclType"); + try { + // XQueryParser.g:287:9: (k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) ) + // XQueryParser.g:287:11: k+= DECLARE p_PrivateOption vdt= pg_VarDeclType DOLLAR qn= p_QName (td= p_TypeDeclaration )? ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_VarDecl2515); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PrivateOption_in_pm_VarDecl2517); + p_PrivateOption59=this.p_PrivateOption(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_PrivateOption.add(p_PrivateOption59.getTree()); + this.pushFollow(XQueryParser.FOLLOW_pg_VarDeclType_in_pm_VarDecl2521); + vdt=this.pg_VarDeclType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pg_VarDeclType.add(vdt.getTree()); + DOLLAR60=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_VarDecl2523); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR60); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_VarDecl2527); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + // XQueryParser.g:287:77: (td= p_TypeDeclaration )? + var alt25=2; + var LA25_0 = this.input.LA(1); + + if ( (LA25_0==AS) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // XQueryParser.g:287:77: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_VarDecl2531); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:287:97: ( ( BIND es= p_ExprSingle ) | (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) ) + var alt27=2; + var LA27_0 = this.input.LA(1); + + if ( (LA27_0==BIND) ) { + alt27=1; + } + else if ( (LA27_0==EXTERNAL) ) { + alt27=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 27, 0, this.input); + + throw nvae; + } + switch (alt27) { + case 1 : + // XQueryParser.g:287:98: ( BIND es= p_ExprSingle ) + // XQueryParser.g:287:98: ( BIND es= p_ExprSingle ) + // XQueryParser.g:287:99: BIND es= p_ExprSingle + BIND61=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_VarDecl2536); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND61); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_VarDecl2540); + es=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(es.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:287:123: (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) + // XQueryParser.g:287:123: (k+= EXTERNAL ( BIND des= p_ExprSingle )? ) + // XQueryParser.g:287:124: k+= EXTERNAL ( BIND des= p_ExprSingle )? + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_VarDecl2548); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:287:136: ( BIND des= p_ExprSingle )? + var alt26=2; + var LA26_0 = this.input.LA(1); + + if ( (LA26_0==BIND) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // XQueryParser.g:287:137: BIND des= p_ExprSingle + BIND62=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_VarDecl2551); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND62); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_VarDecl2555); + des=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(des.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON63=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_VarDecl2561); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON63); + + + + // AST REWRITE + // elements: des, td, es, vdt, qn + // token labels: + // rule labels: qn, retval, des, td, vdt, es + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_des=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token des",des!=null?des.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + var stream_vdt=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token vdt",vdt!=null?vdt.tree:null); + var stream_es=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token es",es!=null?es.tree:null); + + root_0 = this.adaptor.nil(); + // 288:17: -> ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) + { + // XQueryParser.g:288:20: ^( VarDecl $vdt $qn ^( VarType ( $td)? ) ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(VarDecl, "VarDecl"), root_1); + + this.adaptor.addChild(root_1, stream_vdt.nextTree()); + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:288:39: ^( VarType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VarType, "VarType"), root_2); + + // XQueryParser.g:288:49: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:288:55: ^( VarValue ( $es)? ^( VarDefaultValue ( $des)? ) ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(VarValue, "VarValue"), root_2); + + // XQueryParser.g:288:66: ( $es)? + if ( stream_es.hasNext() ) { + this.adaptor.addChild(root_2, stream_es.nextTree()); + + } + stream_es.reset(); + // XQueryParser.g:288:71: ^( VarDefaultValue ( $des)? ) + { + var root_3 = this.adaptor.nil(); + root_3 = this.adaptor.becomeRoot(this.adaptor.create(VarDefaultValue, "VarDefaultValue"), root_3); + + // XQueryParser.g:288:89: ( $des)? + if ( stream_des.hasNext() ) { + this.adaptor.addChild(root_3, stream_des.nextTree()); + + } + stream_des.reset(); + + this.adaptor.addChild(root_2, root_3); + } + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_VarDeclType_return: (function() { + XQueryParser.pg_VarDeclType_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_VarDeclType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:295:1: pg_VarDeclType : ({...}? =>ku= CONSTANT -> VarConstantDecl | kv= VARIABLE -> VarVariableDecl ); + // $ANTLR start "pg_VarDeclType" + pg_VarDeclType: function() { + var retval = new XQueryParser.pg_VarDeclType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var kv = null; + + var ku_tree=null; + var kv_tree=null; + var stream_CONSTANT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token CONSTANT"); + var stream_VARIABLE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token VARIABLE"); + + try { + // XQueryParser.g:296:9: ({...}? =>ku= CONSTANT -> VarConstantDecl | kv= VARIABLE -> VarVariableDecl ) + var alt28=2; + var LA28_0 = this.input.LA(1); + + if ( (LA28_0==CONSTANT) && ((true))) { + alt28=1; + } + else if ( (LA28_0==VARIABLE) ) { + alt28=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 28, 0, this.input); + + throw nvae; + } + switch (alt28) { + case 1 : + // XQueryParser.g:296:11: {...}? =>ku= CONSTANT + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pg_VarDeclType", "true"); + } + ku=this.match(this.input,CONSTANT,XQueryParser.FOLLOW_CONSTANT_in_pg_VarDeclType2648); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_CONSTANT.add(ku); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 297:17: -> VarConstantDecl + { + this.adaptor.addChild(root_0, this.adaptor.create(VarConstantDecl, "VarConstantDecl")); + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:298:11: kv= VARIABLE + kv=this.match(this.input,VARIABLE,XQueryParser.FOLLOW_VARIABLE_in_pg_VarDeclType2682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_VARIABLE.add(kv); + + + + // AST REWRITE + // elements: + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 299:17: -> VarVariableDecl + { + this.adaptor.addChild(root_0, this.adaptor.create(VarVariableDecl, "VarVariableDecl")); + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ContextItemDecl_return: (function() { + XQueryParser.pm_ContextItemDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ContextItemDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:310:1: pm_ContextItemDecl : k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON ; + // $ANTLR start "pm_ContextItemDecl" + pm_ContextItemDecl: function() { + var retval = new XQueryParser.pm_ContextItemDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var BIND65 = null; + var BIND67 = null; + var SEMICOLON69 = null; + var k = null; + var list_k=null; + var p_ItemType64 = null; + var p_ExprSingle66 = null; + var p_ExprSingle68 = null; + + var BIND65_tree=null; + var BIND67_tree=null; + var SEMICOLON69_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:311:9: (k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON ) + // XQueryParser.g:311:13: k+= DECLARE k+= CONTEXT k+= ITEM (k+= AS p_ItemType )? ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_ContextItemDecl2739); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONTEXT,XQueryParser.FOLLOW_CONTEXT_in_pm_ContextItemDecl2743); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ITEM,XQueryParser.FOLLOW_ITEM_in_pm_ContextItemDecl2747); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:311:43: (k+= AS p_ItemType )? + var alt29=2; + var LA29_0 = this.input.LA(1); + + if ( (LA29_0==AS) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // XQueryParser.g:311:44: k+= AS p_ItemType + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_pm_ContextItemDecl2752); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ItemType_in_pm_ContextItemDecl2754); + p_ItemType64=this.p_ItemType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ItemType64.getTree()); + + + break; + + } + + // XQueryParser.g:311:63: ( ( BIND p_ExprSingle ) | (k+= EXTERNAL ( BIND p_ExprSingle )? ) ) + var alt31=2; + var LA31_0 = this.input.LA(1); + + if ( (LA31_0==BIND) ) { + alt31=1; + } + else if ( (LA31_0==EXTERNAL) ) { + alt31=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 31, 0, this.input); + + throw nvae; + } + switch (alt31) { + case 1 : + // XQueryParser.g:311:64: ( BIND p_ExprSingle ) + // XQueryParser.g:311:64: ( BIND p_ExprSingle ) + // XQueryParser.g:311:65: BIND p_ExprSingle + BIND65=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_ContextItemDecl2760); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND65_tree = this.adaptor.create(BIND65); + this.adaptor.addChild(root_0, BIND65_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2762); + p_ExprSingle66=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle66.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:311:86: (k+= EXTERNAL ( BIND p_ExprSingle )? ) + // XQueryParser.g:311:86: (k+= EXTERNAL ( BIND p_ExprSingle )? ) + // XQueryParser.g:311:87: k+= EXTERNAL ( BIND p_ExprSingle )? + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_ContextItemDecl2770); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:311:99: ( BIND p_ExprSingle )? + var alt30=2; + var LA30_0 = this.input.LA(1); + + if ( (LA30_0==BIND) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // XQueryParser.g:311:100: BIND p_ExprSingle + BIND67=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_ContextItemDecl2773); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND67_tree = this.adaptor.create(BIND67); + this.adaptor.addChild(root_0, BIND67_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2775); + p_ExprSingle68=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle68.getTree()); + + + break; + + } + + + + + + + break; + + } + + SEMICOLON69=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ContextItemDecl2781); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON69_tree = this.adaptor.create(SEMICOLON69); + this.adaptor.addChild(root_0, SEMICOLON69_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ConstructionDecl_return: (function() { + XQueryParser.pm_ConstructionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ConstructionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:318:1: pm_ConstructionDecl : k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON ; + // $ANTLR start "pm_ConstructionDecl" + pm_ConstructionDecl: function() { + var retval = new XQueryParser.pm_ConstructionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON70 = null; + var k = null; + var list_k=null; + + var SEMICOLON70_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:319:9: (k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON ) + // XQueryParser.g:319:13: k+= DECLARE k+= CONSTRUCTION (k+= STRIP | k+= PRESERVE ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_ConstructionDecl2815); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONSTRUCTION,XQueryParser.FOLLOW_CONSTRUCTION_in_pm_ConstructionDecl2819); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:319:40: (k+= STRIP | k+= PRESERVE ) + var alt32=2; + var LA32_0 = this.input.LA(1); + + if ( (LA32_0==STRIP) ) { + alt32=1; + } + else if ( (LA32_0==PRESERVE) ) { + alt32=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 32, 0, this.input); + + throw nvae; + } + switch (alt32) { + case 1 : + // XQueryParser.g:319:41: k+= STRIP + k=this.match(this.input,STRIP,XQueryParser.FOLLOW_STRIP_in_pm_ConstructionDecl2824); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:319:52: k+= PRESERVE + k=this.match(this.input,PRESERVE,XQueryParser.FOLLOW_PRESERVE_in_pm_ConstructionDecl2830); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON70=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ConstructionDecl2833); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON70_tree = this.adaptor.create(SEMICOLON70); + this.adaptor.addChild(root_0, SEMICOLON70_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_FunctionDecl_return: (function() { + XQueryParser.pm_FunctionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_FunctionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:325:1: pm_FunctionDecl : ({...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) | k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) ); + // $ANTLR start "pm_FunctionDecl" + pm_FunctionDecl: function() { + var retval = new XQueryParser.pm_FunctionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN71 = null; + var RPAREN72 = null; + var SEMICOLON73 = null; + var LPAREN76 = null; + var RPAREN77 = null; + var SEMICOLON78 = null; + var k = null; + var list_k=null; + var qn = null; + var pl = null; + var td = null; + var b = null; + var ee = null; + var p_PrivateOption74 = null; + var p_FunctionType75 = null; + + var LPAREN71_tree=null; + var RPAREN72_tree=null; + var SEMICOLON73_tree=null; + var LPAREN76_tree=null; + var RPAREN77_tree=null; + var SEMICOLON78_tree=null; + var k_tree=null; + var stream_FUNCTION=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token FUNCTION"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_EXTERNAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EXTERNAL"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_SEQUENTIAL=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEQUENTIAL"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_Block=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Block"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + var stream_p_ParamList=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ParamList"); + var stream_p_PrivateOption=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_PrivateOption"); + var stream_p_FunctionType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_FunctionType"); + var stream_p_EnclosedExpr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_EnclosedExpr"); + try { + // XQueryParser.g:326:9: ({...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) | k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) ) + var alt39=2; + var LA39_0 = this.input.LA(1); + + if ( (LA39_0==DECLARE) ) { + var LA39_1 = this.input.LA(2); + + if ( (LA39_1==SEQUENTIAL) && ((true))) { + alt39=1; + } + else if ( (LA39_1==FUNCTION||LA39_1==UPDATING||LA39_1==SIMPLE||LA39_1==PRIVATE) ) { + alt39=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 39, 1, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 39, 0, this.input); + + throw nvae; + } + switch (alt39) { + case 1 : + // XQueryParser.g:326:13: {...}? =>k+= DECLARE k+= SEQUENTIAL k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (b= p_Block | k+= EXTERNAL ) SEMICOLON + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_FunctionDecl", "true"); + } + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_FunctionDecl2869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,SEQUENTIAL,XQueryParser.FOLLOW_SEQUENTIAL_in_pm_FunctionDecl2873); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEQUENTIAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_FunctionDecl2877); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_FUNCTION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_FunctionDecl2881); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + LPAREN71=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_pm_FunctionDecl2883); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN71); + + // XQueryParser.g:326:80: (pl= p_ParamList )? + var alt33=2; + var LA33_0 = this.input.LA(1); + + if ( (LA33_0==DOLLAR) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // XQueryParser.g:326:80: pl= p_ParamList + this.pushFollow(XQueryParser.FOLLOW_p_ParamList_in_pm_FunctionDecl2887); + pl=this.p_ParamList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ParamList.add(pl.getTree()); + + + break; + + } + + RPAREN72=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_pm_FunctionDecl2890); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN72); + + // XQueryParser.g:326:103: (td= p_TypeDeclaration )? + var alt34=2; + var LA34_0 = this.input.LA(1); + + if ( (LA34_0==AS) ) { + alt34=1; + } + switch (alt34) { + case 1 : + // XQueryParser.g:326:103: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2894); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:326:123: (b= p_Block | k+= EXTERNAL ) + var alt35=2; + var LA35_0 = this.input.LA(1); + + if ( (LA35_0==LBRACKET) ) { + alt35=1; + } + else if ( (LA35_0==EXTERNAL) ) { + alt35=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 35, 0, this.input); + + throw nvae; + } + switch (alt35) { + case 1 : + // XQueryParser.g:326:124: b= p_Block + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_pm_FunctionDecl2900); + b=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Block.add(b.getTree()); + + + break; + case 2 : + // XQueryParser.g:326:136: k+= EXTERNAL + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_FunctionDecl2906); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON73=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_FunctionDecl2909); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON73); + + + + // AST REWRITE + // elements: b, qn, td, pl + // token labels: + // rule labels: qn, retval, b, pl, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_b=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token b",b!=null?b.tree:null); + var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 327:17: -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) + { + // XQueryParser.g:327:20: ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $b)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(FunctionDecl, "FunctionDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:327:39: ^( ParamList ( $pl)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ParamList, "ParamList"), root_2); + + // XQueryParser.g:327:51: ( $pl)? + if ( stream_pl.hasNext() ) { + this.adaptor.addChild(root_2, stream_pl.nextTree()); + + } + stream_pl.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:327:57: ^( ReturnType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ReturnType, "ReturnType"), root_2); + + // XQueryParser.g:327:70: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:327:76: ( $b)? + if ( stream_b.hasNext() ) { + this.adaptor.addChild(root_1, stream_b.nextTree()); + + } + stream_b.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:328:13: k+= DECLARE p_PrivateOption p_FunctionType k+= FUNCTION qn= p_QName LPAREN (pl= p_ParamList )? RPAREN (td= p_TypeDeclaration )? (ee= p_EnclosedExpr | k+= EXTERNAL ) SEMICOLON + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_FunctionDecl2971); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PrivateOption_in_pm_FunctionDecl2973); + p_PrivateOption74=this.p_PrivateOption(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_PrivateOption.add(p_PrivateOption74.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_FunctionType_in_pm_FunctionDecl2975); + p_FunctionType75=this.p_FunctionType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_FunctionType.add(p_FunctionType75.getTree()); + k=this.match(this.input,FUNCTION,XQueryParser.FOLLOW_FUNCTION_in_pm_FunctionDecl2979); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_FUNCTION.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_pm_FunctionDecl2983); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + LPAREN76=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_pm_FunctionDecl2985); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN76); + + // XQueryParser.g:328:87: (pl= p_ParamList )? + var alt36=2; + var LA36_0 = this.input.LA(1); + + if ( (LA36_0==DOLLAR) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // XQueryParser.g:328:87: pl= p_ParamList + this.pushFollow(XQueryParser.FOLLOW_p_ParamList_in_pm_FunctionDecl2989); + pl=this.p_ParamList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ParamList.add(pl.getTree()); + + + break; + + } + + RPAREN77=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_pm_FunctionDecl2992); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN77); + + // XQueryParser.g:328:110: (td= p_TypeDeclaration )? + var alt37=2; + var LA37_0 = this.input.LA(1); + + if ( (LA37_0==AS) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // XQueryParser.g:328:110: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2996); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:328:130: (ee= p_EnclosedExpr | k+= EXTERNAL ) + var alt38=2; + var LA38_0 = this.input.LA(1); + + if ( (LA38_0==LBRACKET) ) { + alt38=1; + } + else if ( (LA38_0==EXTERNAL) ) { + alt38=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 38, 0, this.input); + + throw nvae; + } + switch (alt38) { + case 1 : + // XQueryParser.g:328:131: ee= p_EnclosedExpr + this.pushFollow(XQueryParser.FOLLOW_p_EnclosedExpr_in_pm_FunctionDecl3002); + ee=this.p_EnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_EnclosedExpr.add(ee.getTree()); + + + break; + case 2 : + // XQueryParser.g:328:151: k+= EXTERNAL + k=this.match(this.input,EXTERNAL,XQueryParser.FOLLOW_EXTERNAL_in_pm_FunctionDecl3008); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EXTERNAL.add(k); + + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON78=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_FunctionDecl3011); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON78); + + + + // AST REWRITE + // elements: qn, td, ee, pl + // token labels: + // rule labels: qn, retval, ee, pl, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_ee=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token ee",ee!=null?ee.tree:null); + var stream_pl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token pl",pl!=null?pl.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 329:17: -> ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) + { + // XQueryParser.g:329:20: ^( FunctionDecl $qn ^( ParamList ( $pl)? ) ^( ReturnType ( $td)? ) ( $ee)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(FunctionDecl, "FunctionDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:329:39: ^( ParamList ( $pl)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ParamList, "ParamList"), root_2); + + // XQueryParser.g:329:51: ( $pl)? + if ( stream_pl.hasNext() ) { + this.adaptor.addChild(root_2, stream_pl.nextTree()); + + } + stream_pl.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:329:57: ^( ReturnType ( $td)? ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(ReturnType, "ReturnType"), root_2); + + // XQueryParser.g:329:70: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_2, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:329:76: ( $ee)? + if ( stream_ee.hasNext() ) { + this.adaptor.addChild(root_1, stream_ee.nextTree()); + + } + stream_ee.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FunctionType_return: (function() { + XQueryParser.p_FunctionType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FunctionType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:336:1: p_FunctionType : ({...}? =>ku= UPDATING | {...}? =>ks= SIMPLE | ); + // $ANTLR start "p_FunctionType" + p_FunctionType: function() { + var retval = new XQueryParser.p_FunctionType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var ks = null; + + var ku_tree=null; + var ks_tree=null; + + try { + // XQueryParser.g:337:9: ({...}? =>ku= UPDATING | {...}? =>ks= SIMPLE | ) + var alt40=3; + var LA40_0 = this.input.LA(1); + + if ( (LA40_0==UPDATING) && ((true))) { + alt40=1; + } + else if ( (LA40_0==SIMPLE) && ((true))) { + alt40=2; + } + else if ( (LA40_0==FUNCTION) ) { + alt40=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 40, 0, this.input); + + throw nvae; + } + switch (alt40) { + case 1 : + // XQueryParser.g:337:11: {...}? =>ku= UPDATING + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_FunctionType", "true"); + } + ku=this.match(this.input,UPDATING,XQueryParser.FOLLOW_UPDATING_in_p_FunctionType3091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + + + break; + case 2 : + // XQueryParser.g:338:11: {...}? =>ks= SIMPLE + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_FunctionType", "true"); + } + ks=this.match(this.input,SIMPLE,XQueryParser.FOLLOW_SIMPLE_in_p_FunctionType3108); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ks_tree = this.adaptor.create(ks); + this.adaptor.addChild(root_0, ks_tree); + } + + + break; + case 3 : + // XQueryParser.g:340:9: + root_0 = this.adaptor.nil(); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PrivateOption_return: (function() { + XQueryParser.p_PrivateOption_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PrivateOption_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:342:1: p_PrivateOption : ({...}? =>kv= PRIVATE | ); + // $ANTLR start "p_PrivateOption" + p_PrivateOption: function() { + var retval = new XQueryParser.p_PrivateOption_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kv = null; + + var kv_tree=null; + + try { + // XQueryParser.g:343:9: ({...}? =>kv= PRIVATE | ) + var alt41=2; + var LA41_0 = this.input.LA(1); + + if ( (LA41_0==PRIVATE) && ((false))) { + alt41=1; + } + else if ( (LA41_0==CONSTANT) && ((true))) { + alt41=2; + } + else if ( (LA41_0==VARIABLE) ) { + alt41=2; + } + else if ( (LA41_0==UPDATING||LA41_0==SIMPLE) && ((true))) { + alt41=2; + } + else if ( (LA41_0==FUNCTION) ) { + alt41=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 41, 0, this.input); + + throw nvae; + } + switch (alt41) { + case 1 : + // XQueryParser.g:343:11: {...}? =>kv= PRIVATE + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_PrivateOption", "false"); + } + kv=this.match(this.input,PRIVATE,XQueryParser.FOLLOW_PRIVATE_in_p_PrivateOption3150); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kv_tree = this.adaptor.create(kv); + this.adaptor.addChild(root_0, kv_tree); + } + + + break; + case 2 : + // XQueryParser.g:345:9: + root_0 = this.adaptor.nil(); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ParamList_return: (function() { + XQueryParser.p_ParamList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ParamList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:351:1: p_ParamList : p+= p_Param ( COMMA p+= p_Param )* -> ( $p)+ ; + // $ANTLR start "p_ParamList" + p_ParamList: function() { + var retval = new XQueryParser.p_ParamList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA79 = null; + var list_p=null; + var p = null; + var COMMA79_tree=null; + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_p_Param=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_Param"); + try { + // XQueryParser.g:352:9: (p+= p_Param ( COMMA p+= p_Param )* -> ( $p)+ ) + // XQueryParser.g:352:11: p+= p_Param ( COMMA p+= p_Param )* + this.pushFollow(XQueryParser.FOLLOW_p_Param_in_p_ParamList3193); + p=this.p_Param(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Param.add(p.getTree()); + if (org.antlr.lang.isNull(list_p)) list_p = []; + list_p.push(p.getTree()); + + // XQueryParser.g:352:22: ( COMMA p+= p_Param )* + loop42: + do { + var alt42=2; + var LA42_0 = this.input.LA(1); + + if ( (LA42_0==COMMA) ) { + alt42=1; + } + + + switch (alt42) { + case 1 : + // XQueryParser.g:352:23: COMMA p+= p_Param + COMMA79=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ParamList3196); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA79); + + this.pushFollow(XQueryParser.FOLLOW_p_Param_in_p_ParamList3200); + p=this.p_Param(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_Param.add(p.getTree()); + if (org.antlr.lang.isNull(list_p)) list_p = []; + list_p.push(p.getTree()); + + + + break; + + default : + break loop42; + } + } while (true); + + + + // AST REWRITE + // elements: p + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: p + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_p=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token p",list_p); + root_0 = this.adaptor.nil(); + // 353:17: -> ( $p)+ + { + if ( !(stream_p.hasNext()) ) { + throw new org.antlr.runtime.tree.RewriteEarlyExitException(); + } + while ( stream_p.hasNext() ) { + this.adaptor.addChild(root_0, stream_p.nextTree()); + + } + stream_p.reset(); + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Param_return: (function() { + XQueryParser.p_Param_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Param_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:357:1: p_Param : DOLLAR qn= p_QName (td= p_TypeDeclaration )? -> ^( Param $qn ( $td)? ) ; + // $ANTLR start "p_Param" + p_Param: function() { + var retval = new XQueryParser.p_Param_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR80 = null; + var qn = null; + var td = null; + + var DOLLAR80_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:358:9: ( DOLLAR qn= p_QName (td= p_TypeDeclaration )? -> ^( Param $qn ( $td)? ) ) + // XQueryParser.g:358:11: DOLLAR qn= p_QName (td= p_TypeDeclaration )? + DOLLAR80=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_Param3258); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR80); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_Param3262); + qn=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(qn.getTree()); + // XQueryParser.g:358:31: (td= p_TypeDeclaration )? + var alt43=2; + var LA43_0 = this.input.LA(1); + + if ( (LA43_0==AS) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // XQueryParser.g:358:31: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_Param3266); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + + + // AST REWRITE + // elements: qn, td + // token labels: + // rule labels: qn, retval, td + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + + root_0 = this.adaptor.nil(); + // 359:17: -> ^( Param $qn ( $td)? ) + { + // XQueryParser.g:359:20: ^( Param $qn ( $td)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Param, "Param"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:359:32: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_1, stream_td.nextTree()); + + } + stream_td.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_EnclosedExpr_return: (function() { + XQueryParser.p_EnclosedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_EnclosedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:363:1: p_EnclosedExpr : LBRACKET pm_Expr RBRACKET -> ^( EnclosedExpr pm_Expr ) ; + // $ANTLR start "p_EnclosedExpr" + p_EnclosedExpr: function() { + var retval = new XQueryParser.p_EnclosedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET81 = null; + var RBRACKET83 = null; + var pm_Expr82 = null; + + var LBRACKET81_tree=null; + var RBRACKET83_tree=null; + var stream_LBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LBRACKET"); + var stream_RBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RBRACKET"); + var stream_pm_Expr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Expr"); + try { + // XQueryParser.g:364:9: ( LBRACKET pm_Expr RBRACKET -> ^( EnclosedExpr pm_Expr ) ) + // XQueryParser.g:364:11: LBRACKET pm_Expr RBRACKET + LBRACKET81=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_EnclosedExpr3322); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LBRACKET.add(LBRACKET81); + + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_EnclosedExpr3324); + pm_Expr82=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Expr.add(pm_Expr82.getTree()); + RBRACKET83=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_EnclosedExpr3326); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RBRACKET.add(RBRACKET83); + + + + // AST REWRITE + // elements: pm_Expr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 365:17: -> ^( EnclosedExpr pm_Expr ) + { + // XQueryParser.g:365:20: ^( EnclosedExpr pm_Expr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(EnclosedExpr, "EnclosedExpr"), root_1); + + this.adaptor.addChild(root_1, stream_pm_Expr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QueryBody_return: (function() { + XQueryParser.p_QueryBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QueryBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:369:1: p_QueryBody : pm_Expr -> ^( QueryBody pm_Expr ) ; + // $ANTLR start "p_QueryBody" + p_QueryBody: function() { + var retval = new XQueryParser.p_QueryBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Expr84 = null; + + var stream_pm_Expr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_Expr"); + try { + // XQueryParser.g:370:9: ( pm_Expr -> ^( QueryBody pm_Expr ) ) + // XQueryParser.g:370:11: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_QueryBody3376); + pm_Expr84=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_Expr.add(pm_Expr84.getTree()); + + + // AST REWRITE + // elements: pm_Expr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 371:17: -> ^( QueryBody pm_Expr ) + { + // XQueryParser.g:371:20: ^( QueryBody pm_Expr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(QueryBody, "QueryBody"), root_1); + + this.adaptor.addChild(root_1, stream_pm_Expr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_Expr_return: (function() { + XQueryParser.pm_Expr_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_Expr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:376:1: pm_Expr : p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) ; + // $ANTLR start "pm_Expr" + pm_Expr: function() { + var retval = new XQueryParser.pm_Expr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON86 = null; + var SEMICOLON88 = null; + var p_ConcatExpr85 = null; + var pm_ApplyExpr87 = null; + var p_ConcatExpr89 = null; + + var SEMICOLON86_tree=null; + var SEMICOLON88_tree=null; + + try { + // XQueryParser.g:377:9: ( p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) ) + // XQueryParser.g:377:11: p_ConcatExpr ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_Expr3427); + p_ConcatExpr85=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr85.getTree()); + // XQueryParser.g:378:11: ({...}? => ( SEMICOLON ( pm_ApplyExpr )* )? | ) + var alt46=2; + var LA46_0 = this.input.LA(1); + + if ( (LA46_0==SEMICOLON) && ((((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||(true)||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||(false)||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))||((true)&&(false))))) { + var LA46_1 = this.input.LA(2); + + if ( ((((true)&&(false))||(true))) ) { + alt46=1; + } + else if ( ((false)) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 1, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RBRACKET) ) { + var LA46_2 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 2, this.input); + + throw nvae; + } + } + else if ( (LA46_0==EOF) ) { + var LA46_3 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 3, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RPAREN) ) { + var LA46_4 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 4, this.input); + + throw nvae; + } + } + else if ( (LA46_0==RSQUARE) ) { + var LA46_5 = this.input.LA(2); + + if ( ((true)) ) { + alt46=1; + } + else if ( (true) ) { + alt46=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 5, this.input); + + throw nvae; + } + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 46, 0, this.input); + + throw nvae; + } + switch (alt46) { + case 1 : + // XQueryParser.g:378:12: {...}? => ( SEMICOLON ( pm_ApplyExpr )* )? + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_Expr", "true"); + } + // XQueryParser.g:378:22: ( SEMICOLON ( pm_ApplyExpr )* )? + var alt45=2; + var LA45_0 = this.input.LA(1); + + if ( (LA45_0==SEMICOLON) ) { + var LA45_1 = this.input.LA(2); + + if ( (!(((false)))) ) { + alt45=1; + } + } + switch (alt45) { + case 1 : + // XQueryParser.g:378:23: SEMICOLON ( pm_ApplyExpr )* + SEMICOLON86=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_Expr3444); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON86_tree = this.adaptor.create(SEMICOLON86); + this.adaptor.addChild(root_0, SEMICOLON86_tree); + } + // XQueryParser.g:378:33: ( pm_ApplyExpr )* + loop44: + do { + var alt44=2; + var LA44_0 = this.input.LA(1); + + if ( ((LA44_0>=ANCESTOR && LA44_0<=EXIT)||(LA44_0>=SEQUENTIAL && LA44_0<=MAINTAINED)||(LA44_0>=MUTABLE && LA44_0<=LPAREN)||LA44_0==DOLLAR||(LA44_0>=STAR && LA44_0<=SMALLER)||(LA44_0>=SLASH && LA44_0<=DOT_DOT)||LA44_0==ATTR_SIGN||(LA44_0>=APOS && LA44_0<=QUOT)||LA44_0==L_NCName||(LA44_0>=L_Pragma && LA44_0<=L_DoubleLiteral)||(LA44_0>=LETDOLLAR && LA44_0<=EXPLICITLY)) ) { + alt44=1; + } + + + switch (alt44) { + case 1 : + // XQueryParser.g:378:33: pm_ApplyExpr + this.pushFollow(XQueryParser.FOLLOW_pm_ApplyExpr_in_pm_Expr3446); + pm_ApplyExpr87=this.pm_ApplyExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_ApplyExpr87.getTree()); + + + break; + + default : + break loop44; + } + } while (true); + + + + break; + + } + + + + break; + case 2 : + // XQueryParser.g:378:64: + + break; + + } + + // XQueryParser.g:379:11: ({...}? => ( SEMICOLON p_ConcatExpr )+ | ) + var alt48=2; + var LA48_0 = this.input.LA(1); + + if ( (LA48_0==SEMICOLON) && ((false))) { + alt48=1; + } + else if ( (LA48_0==EOF||LA48_0==RPAREN||LA48_0==RBRACKET||LA48_0==RSQUARE) ) { + alt48=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 48, 0, this.input); + + throw nvae; + } + switch (alt48) { + case 1 : + // XQueryParser.g:379:12: {...}? => ( SEMICOLON p_ConcatExpr )+ + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "pm_Expr", "false"); + } + // XQueryParser.g:379:23: ( SEMICOLON p_ConcatExpr )+ + var cnt47=0; + loop47: + do { + var alt47=2; + var LA47_0 = this.input.LA(1); + + if ( (LA47_0==SEMICOLON) ) { + alt47=1; + } + + + switch (alt47) { + case 1 : + // XQueryParser.g:379:24: SEMICOLON p_ConcatExpr + SEMICOLON88=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_Expr3471); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON88_tree = this.adaptor.create(SEMICOLON88); + this.adaptor.addChild(root_0, SEMICOLON88_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_Expr3473); + p_ConcatExpr89=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr89.getTree()); + + + break; + + default : + if ( cnt47 >= 1 ) { + break loop47; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(47, this.input); + throw eee; + } + cnt47++; + } while (true); + + + + break; + case 2 : + // XQueryParser.g:379:64: + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExprSingle_return: (function() { + XQueryParser.p_ExprSingle_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExprSingle_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:384:1: p_ExprSingle : ( p_FLWORExpr | p_QuantifiedExpr | p_TypeswitchExpr | p_IfExpr | p_TryCatchExpr | {...}? => p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr ); + // $ANTLR start "p_ExprSingle" + p_ExprSingle: function() { + var retval = new XQueryParser.p_ExprSingle_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_FLWORExpr90 = null; + var p_QuantifiedExpr91 = null; + var p_TypeswitchExpr92 = null; + var p_IfExpr93 = null; + var p_TryCatchExpr94 = null; + var p_EvalExpr95 = null; + var p_InsertExpr96 = null; + var p_DeleteExpr97 = null; + var p_RenameExpr98 = null; + var p_ReplaceExpr99 = null; + var p_TransformExpr100 = null; + var p_BlockExpr101 = null; + var p_AssignmentExpr102 = null; + var p_ExitExpr103 = null; + var p_WhileExpr104 = null; + var p_OrExpr105 = null; + + + try { + // XQueryParser.g:385:9: ( p_FLWORExpr | p_QuantifiedExpr | p_TypeswitchExpr | p_IfExpr | p_TryCatchExpr | {...}? => p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr ) + var alt49=16; + alt49 = this.dfa49.predict(this.input); + switch (alt49) { + case 1 : + // XQueryParser.g:385:11: p_FLWORExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FLWORExpr_in_p_ExprSingle3507); + p_FLWORExpr90=this.p_FLWORExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FLWORExpr90.getTree()); + + + break; + case 2 : + // XQueryParser.g:386:11: p_QuantifiedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QuantifiedExpr_in_p_ExprSingle3519); + p_QuantifiedExpr91=this.p_QuantifiedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QuantifiedExpr91.getTree()); + + + break; + case 3 : + // XQueryParser.g:387:11: p_TypeswitchExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TypeswitchExpr_in_p_ExprSingle3531); + p_TypeswitchExpr92=this.p_TypeswitchExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeswitchExpr92.getTree()); + + + break; + case 4 : + // XQueryParser.g:388:11: p_IfExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IfExpr_in_p_ExprSingle3543); + p_IfExpr93=this.p_IfExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IfExpr93.getTree()); + + + break; + case 5 : + // XQueryParser.g:389:11: p_TryCatchExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TryCatchExpr_in_p_ExprSingle3555); + p_TryCatchExpr94=this.p_TryCatchExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TryCatchExpr94.getTree()); + + + break; + case 6 : + // XQueryParser.g:390:11: {...}? => p_EvalExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_EvalExpr_in_p_ExprSingle3570); + p_EvalExpr95=this.p_EvalExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_EvalExpr95.getTree()); + + + break; + case 7 : + // XQueryParser.g:391:11: {...}? => p_InsertExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_InsertExpr_in_p_ExprSingle3585); + p_InsertExpr96=this.p_InsertExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InsertExpr96.getTree()); + + + break; + case 8 : + // XQueryParser.g:392:11: {...}? => p_DeleteExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_DeleteExpr_in_p_ExprSingle3600); + p_DeleteExpr97=this.p_DeleteExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DeleteExpr97.getTree()); + + + break; + case 9 : + // XQueryParser.g:393:11: {...}? => p_RenameExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_RenameExpr_in_p_ExprSingle3615); + p_RenameExpr98=this.p_RenameExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RenameExpr98.getTree()); + + + break; + case 10 : + // XQueryParser.g:394:11: {...}? => p_ReplaceExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ReplaceExpr_in_p_ExprSingle3630); + p_ReplaceExpr99=this.p_ReplaceExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReplaceExpr99.getTree()); + + + break; + case 11 : + // XQueryParser.g:395:11: {...}? => p_TransformExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_TransformExpr_in_p_ExprSingle3645); + p_TransformExpr100=this.p_TransformExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TransformExpr100.getTree()); + + + break; + case 12 : + // XQueryParser.g:396:11: {...}? => p_BlockExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_BlockExpr_in_p_ExprSingle3660); + p_BlockExpr101=this.p_BlockExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_BlockExpr101.getTree()); + + + break; + case 13 : + // XQueryParser.g:397:11: {...}? => p_AssignmentExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_AssignmentExpr_in_p_ExprSingle3675); + p_AssignmentExpr102=this.p_AssignmentExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AssignmentExpr102.getTree()); + + + break; + case 14 : + // XQueryParser.g:398:11: {...}? => p_ExitExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExitExpr_in_p_ExprSingle3690); + p_ExitExpr103=this.p_ExitExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExitExpr103.getTree()); + + + break; + case 15 : + // XQueryParser.g:399:11: {...}? => p_WhileExpr + root_0 = this.adaptor.nil(); + + if ( !((true)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ExprSingle", "true"); + } + this.pushFollow(XQueryParser.FOLLOW_p_WhileExpr_in_p_ExprSingle3705); + p_WhileExpr104=this.p_WhileExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhileExpr104.getTree()); + + + break; + case 16 : + // XQueryParser.g:400:11: p_OrExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrExpr_in_p_ExprSingle3717); + p_OrExpr105=this.p_OrExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrExpr105.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FLWORExpr_return: (function() { + XQueryParser.p_FLWORExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FLWORExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:404:1: p_FLWORExpr : p_InitialClause ( p_IntermediateClause )* p_ReturnClause ; + // $ANTLR start "p_FLWORExpr" + p_FLWORExpr: function() { + var retval = new XQueryParser.p_FLWORExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_InitialClause106 = null; + var p_IntermediateClause107 = null; + var p_ReturnClause108 = null; + + + try { + // XQueryParser.g:405:9: ( p_InitialClause ( p_IntermediateClause )* p_ReturnClause ) + // XQueryParser.g:405:11: p_InitialClause ( p_IntermediateClause )* p_ReturnClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InitialClause_in_p_FLWORExpr3743); + p_InitialClause106=this.p_InitialClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InitialClause106.getTree()); + // XQueryParser.g:405:27: ( p_IntermediateClause )* + loop50: + do { + var alt50=2; + var LA50_0 = this.input.LA(1); + + if ( (LA50_0==FOR||LA50_0==ORDER||LA50_0==STABLE||LA50_0==WHERE||LA50_0==COUNT||LA50_0==GROUP||LA50_0==LETDOLLAR) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // XQueryParser.g:405:27: p_IntermediateClause + this.pushFollow(XQueryParser.FOLLOW_p_IntermediateClause_in_p_FLWORExpr3745); + p_IntermediateClause107=this.p_IntermediateClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntermediateClause107.getTree()); + + + break; + + default : + break loop50; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_p_ReturnClause_in_p_FLWORExpr3748); + p_ReturnClause108=this.p_ReturnClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReturnClause108.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InitialClause_return: (function() { + XQueryParser.p_InitialClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InitialClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:409:1: p_InitialClause : ( p_ForClause | p_LetClause | p_WindowClause ); + // $ANTLR start "p_InitialClause" + p_InitialClause: function() { + var retval = new XQueryParser.p_InitialClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ForClause109 = null; + var p_LetClause110 = null; + var p_WindowClause111 = null; + + + try { + // XQueryParser.g:410:9: ( p_ForClause | p_LetClause | p_WindowClause ) + var alt51=3; + var LA51_0 = this.input.LA(1); + + if ( (LA51_0==FOR) ) { + var LA51_1 = this.input.LA(2); + + if ( (LA51_1==DOLLAR) ) { + alt51=1; + } + else if ( (LA51_1==SLIDING||LA51_1==TUMBLING) ) { + alt51=3; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 51, 1, this.input); + + throw nvae; + } + } + else if ( (LA51_0==LETDOLLAR) ) { + alt51=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 51, 0, this.input); + + throw nvae; + } + switch (alt51) { + case 1 : + // XQueryParser.g:410:11: p_ForClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ForClause_in_p_InitialClause3774); + p_ForClause109=this.p_ForClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForClause109.getTree()); + + + break; + case 2 : + // XQueryParser.g:410:25: p_LetClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_LetClause_in_p_InitialClause3778); + p_LetClause110=this.p_LetClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_LetClause110.getTree()); + + + break; + case 3 : + // XQueryParser.g:410:39: p_WindowClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowClause_in_p_InitialClause3782); + p_WindowClause111=this.p_WindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowClause111.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IntermediateClause_return: (function() { + XQueryParser.p_IntermediateClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IntermediateClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:414:1: p_IntermediateClause : ( p_InitialClause | p_WhereClause | p_GroupByClause | p_OrderByClause | p_CountClause ); + // $ANTLR start "p_IntermediateClause" + p_IntermediateClause: function() { + var retval = new XQueryParser.p_IntermediateClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_InitialClause112 = null; + var p_WhereClause113 = null; + var p_GroupByClause114 = null; + var p_OrderByClause115 = null; + var p_CountClause116 = null; + + + try { + // XQueryParser.g:415:9: ( p_InitialClause | p_WhereClause | p_GroupByClause | p_OrderByClause | p_CountClause ) + var alt52=5; + switch ( this.input.LA(1) ) { + case FOR: + case LETDOLLAR: + alt52=1; + break; + case WHERE: + alt52=2; + break; + case GROUP: + alt52=3; + break; + case ORDER: + case STABLE: + alt52=4; + break; + case COUNT: + alt52=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 52, 0, this.input); + + throw nvae; + } + + switch (alt52) { + case 1 : + // XQueryParser.g:415:11: p_InitialClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InitialClause_in_p_IntermediateClause3808); + p_InitialClause112=this.p_InitialClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InitialClause112.getTree()); + + + break; + case 2 : + // XQueryParser.g:415:29: p_WhereClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_WhereClause_in_p_IntermediateClause3812); + p_WhereClause113=this.p_WhereClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhereClause113.getTree()); + + + break; + case 3 : + // XQueryParser.g:415:45: p_GroupByClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupByClause_in_p_IntermediateClause3816); + p_GroupByClause114=this.p_GroupByClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupByClause114.getTree()); + + + break; + case 4 : + // XQueryParser.g:415:63: p_OrderByClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderByClause_in_p_IntermediateClause3820); + p_OrderByClause115=this.p_OrderByClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderByClause115.getTree()); + + + break; + case 5 : + // XQueryParser.g:415:81: p_CountClause + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CountClause_in_p_IntermediateClause3824); + p_CountClause116=this.p_CountClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CountClause116.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForClause_return: (function() { + XQueryParser.p_ForClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:419:1: p_ForClause : k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* ; + // $ANTLR start "p_ForClause" + p_ForClause: function() { + var retval = new XQueryParser.p_ForClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR117 = null; + var COMMA122 = null; + var DOLLAR123 = null; + var k = null; + var list_k=null; + var p_VarName118 = null; + var p_TypeDeclaration119 = null; + var p_PositionalVar120 = null; + var p_ExprSingle121 = null; + var p_VarName124 = null; + var p_TypeDeclaration125 = null; + var p_PositionalVar126 = null; + var p_ExprSingle127 = null; + + var DOLLAR117_tree=null; + var COMMA122_tree=null; + var DOLLAR123_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:420:9: (k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* ) + // XQueryParser.g:420:11: k+= FOR DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOR,XQueryParser.FOLLOW_FOR_in_p_ForClause3852); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR117=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ForClause3854); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR117_tree = this.adaptor.create(DOLLAR117); + this.adaptor.addChild(root_0, DOLLAR117_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_ForClause3856); + p_VarName118=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName118.getTree()); + // XQueryParser.g:420:35: ( p_TypeDeclaration )? + var alt53=2; + var LA53_0 = this.input.LA(1); + + if ( (LA53_0==AS) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // XQueryParser.g:420:35: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_ForClause3858); + p_TypeDeclaration119=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration119.getTree()); + + + break; + + } + + // XQueryParser.g:420:54: ( p_PositionalVar )? + var alt54=2; + var LA54_0 = this.input.LA(1); + + if ( (LA54_0==AT) ) { + alt54=1; + } + switch (alt54) { + case 1 : + // XQueryParser.g:420:54: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_ForClause3861); + p_PositionalVar120=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar120.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_ForClause3866); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ForClause3868); + p_ExprSingle121=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle121.getTree()); + // XQueryParser.g:420:90: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle )* + loop57: + do { + var alt57=2; + var LA57_0 = this.input.LA(1); + + if ( (LA57_0==COMMA) ) { + alt57=1; + } + + + switch (alt57) { + case 1 : + // XQueryParser.g:420:91: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( p_PositionalVar )? k+= IN p_ExprSingle + COMMA122=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ForClause3871); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA122_tree = this.adaptor.create(COMMA122); + this.adaptor.addChild(root_0, COMMA122_tree); + } + DOLLAR123=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ForClause3873); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR123_tree = this.adaptor.create(DOLLAR123); + this.adaptor.addChild(root_0, DOLLAR123_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_ForClause3875); + p_VarName124=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName124.getTree()); + // XQueryParser.g:420:114: ( p_TypeDeclaration )? + var alt55=2; + var LA55_0 = this.input.LA(1); + + if ( (LA55_0==AS) ) { + alt55=1; + } + switch (alt55) { + case 1 : + // XQueryParser.g:420:114: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_ForClause3877); + p_TypeDeclaration125=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration125.getTree()); + + + break; + + } + + // XQueryParser.g:420:133: ( p_PositionalVar )? + var alt56=2; + var LA56_0 = this.input.LA(1); + + if ( (LA56_0==AT) ) { + alt56=1; + } + switch (alt56) { + case 1 : + // XQueryParser.g:420:133: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_ForClause3880); + p_PositionalVar126=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar126.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_ForClause3885); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ForClause3887); + p_ExprSingle127=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle127.getTree()); + + + break; + + default : + break loop57; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PositionalVar_return: (function() { + XQueryParser.p_PositionalVar_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PositionalVar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:424:1: p_PositionalVar : ka= AT DOLLAR p_VarName ; + // $ANTLR start "p_PositionalVar" + p_PositionalVar: function() { + var retval = new XQueryParser.p_PositionalVar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var DOLLAR128 = null; + var p_VarName129 = null; + + var ka_tree=null; + var DOLLAR128_tree=null; + + try { + // XQueryParser.g:425:9: (ka= AT DOLLAR p_VarName ) + // XQueryParser.g:425:11: ka= AT DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AT,XQueryParser.FOLLOW_AT_in_p_PositionalVar3918); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + DOLLAR128=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_PositionalVar3920); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR128_tree = this.adaptor.create(DOLLAR128); + this.adaptor.addChild(root_0, DOLLAR128_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_PositionalVar3922); + p_VarName129=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName129.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LetClause_return: (function() { + XQueryParser.p_LetClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LetClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:429:1: p_LetClause : kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* ; + // $ANTLR start "p_LetClause" + p_LetClause: function() { + var retval = new XQueryParser.p_LetClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kl = null; + var BIND132 = null; + var COMMA134 = null; + var DOLLAR135 = null; + var BIND138 = null; + var p_VarName130 = null; + var p_TypeDeclaration131 = null; + var p_ExprSingle133 = null; + var p_VarName136 = null; + var p_TypeDeclaration137 = null; + var p_ExprSingle139 = null; + + var kl_tree=null; + var BIND132_tree=null; + var COMMA134_tree=null; + var DOLLAR135_tree=null; + var BIND138_tree=null; + + try { + // XQueryParser.g:430:9: (kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* ) + // XQueryParser.g:430:11: kl= LETDOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* + root_0 = this.adaptor.nil(); + + kl=this.match(this.input,LETDOLLAR,XQueryParser.FOLLOW_LETDOLLAR_in_p_LetClause3950); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kl_tree = this.adaptor.create(kl); + this.adaptor.addChild(root_0, kl_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_LetClause3952); + p_VarName130=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName130.getTree()); + // XQueryParser.g:430:34: ( p_TypeDeclaration )? + var alt58=2; + var LA58_0 = this.input.LA(1); + + if ( (LA58_0==AS) ) { + alt58=1; + } + switch (alt58) { + case 1 : + // XQueryParser.g:430:34: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_LetClause3954); + p_TypeDeclaration131=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration131.getTree()); + + + break; + + } + + BIND132=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_LetClause3957); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND132_tree = this.adaptor.create(BIND132); + this.adaptor.addChild(root_0, BIND132_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_LetClause3959); + p_ExprSingle133=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle133.getTree()); + // XQueryParser.g:430:71: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle )* + loop60: + do { + var alt60=2; + var LA60_0 = this.input.LA(1); + + if ( (LA60_0==COMMA) ) { + alt60=1; + } + + + switch (alt60) { + case 1 : + // XQueryParser.g:430:72: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? BIND p_ExprSingle + COMMA134=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_LetClause3962); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA134_tree = this.adaptor.create(COMMA134); + this.adaptor.addChild(root_0, COMMA134_tree); + } + DOLLAR135=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_LetClause3964); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR135_tree = this.adaptor.create(DOLLAR135); + this.adaptor.addChild(root_0, DOLLAR135_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_LetClause3966); + p_VarName136=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName136.getTree()); + // XQueryParser.g:430:95: ( p_TypeDeclaration )? + var alt59=2; + var LA59_0 = this.input.LA(1); + + if ( (LA59_0==AS) ) { + alt59=1; + } + switch (alt59) { + case 1 : + // XQueryParser.g:430:95: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_LetClause3968); + p_TypeDeclaration137=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration137.getTree()); + + + break; + + } + + BIND138=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_LetClause3971); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND138_tree = this.adaptor.create(BIND138); + this.adaptor.addChild(root_0, BIND138_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_LetClause3973); + p_ExprSingle139=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle139.getTree()); + + + break; + + default : + break loop60; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowClause_return: (function() { + XQueryParser.p_WindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:434:1: p_WindowClause : kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) ; + // $ANTLR start "p_WindowClause" + p_WindowClause: function() { + var retval = new XQueryParser.p_WindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kf = null; + var p_TumblingWindowClause140 = null; + var p_SlidingWindowClause141 = null; + + var kf_tree=null; + + try { + // XQueryParser.g:435:9: (kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) ) + // XQueryParser.g:435:11: kf= FOR ( p_TumblingWindowClause | p_SlidingWindowClause ) + root_0 = this.adaptor.nil(); + + kf=this.match(this.input,FOR,XQueryParser.FOLLOW_FOR_in_p_WindowClause4003); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kf_tree = this.adaptor.create(kf); + this.adaptor.addChild(root_0, kf_tree); + } + // XQueryParser.g:435:18: ( p_TumblingWindowClause | p_SlidingWindowClause ) + var alt61=2; + var LA61_0 = this.input.LA(1); + + if ( (LA61_0==TUMBLING) ) { + alt61=1; + } + else if ( (LA61_0==SLIDING) ) { + alt61=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 61, 0, this.input); + + throw nvae; + } + switch (alt61) { + case 1 : + // XQueryParser.g:435:19: p_TumblingWindowClause + this.pushFollow(XQueryParser.FOLLOW_p_TumblingWindowClause_in_p_WindowClause4006); + p_TumblingWindowClause140=this.p_TumblingWindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TumblingWindowClause140.getTree()); + + + break; + case 2 : + // XQueryParser.g:435:44: p_SlidingWindowClause + this.pushFollow(XQueryParser.FOLLOW_p_SlidingWindowClause_in_p_WindowClause4010); + p_SlidingWindowClause141=this.p_SlidingWindowClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SlidingWindowClause141.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TumblingWindowClause_return: (function() { + XQueryParser.p_TumblingWindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TumblingWindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:439:1: p_TumblingWindowClause : k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ; + // $ANTLR start "p_TumblingWindowClause" + p_TumblingWindowClause: function() { + var retval = new XQueryParser.p_TumblingWindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR142 = null; + var IN145 = null; + var k = null; + var list_k=null; + var p_VarName143 = null; + var p_TypeDeclaration144 = null; + var p_ExprSingle146 = null; + var p_WindowStartCondition147 = null; + var p_WindowEndCondition148 = null; + + var DOLLAR142_tree=null; + var IN145_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:440:9: (k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ) + // XQueryParser.g:440:11: k+= TUMBLING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TUMBLING,XQueryParser.FOLLOW_TUMBLING_in_p_TumblingWindowClause4047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,WINDOW,XQueryParser.FOLLOW_WINDOW_in_p_TumblingWindowClause4051); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR142=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TumblingWindowClause4053); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR142_tree = this.adaptor.create(DOLLAR142); + this.adaptor.addChild(root_0, DOLLAR142_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TumblingWindowClause4055); + p_VarName143=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName143.getTree()); + // XQueryParser.g:440:50: ( p_TypeDeclaration )? + var alt62=2; + var LA62_0 = this.input.LA(1); + + if ( (LA62_0==AS) ) { + alt62=1; + } + switch (alt62) { + case 1 : + // XQueryParser.g:440:50: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_TumblingWindowClause4057); + p_TypeDeclaration144=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration144.getTree()); + + + break; + + } + + IN145=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_TumblingWindowClause4060); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + IN145_tree = this.adaptor.create(IN145); + this.adaptor.addChild(root_0, IN145_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TumblingWindowClause4062); + p_ExprSingle146=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle146.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_WindowStartCondition_in_p_TumblingWindowClause4064); + p_WindowStartCondition147=this.p_WindowStartCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowStartCondition147.getTree()); + // XQueryParser.g:440:108: ( p_WindowEndCondition )? + var alt63=2; + var LA63_0 = this.input.LA(1); + + if ( (LA63_0==END||LA63_0==ONLY) ) { + alt63=1; + } + switch (alt63) { + case 1 : + // XQueryParser.g:440:108: p_WindowEndCondition + this.pushFollow(XQueryParser.FOLLOW_p_WindowEndCondition_in_p_TumblingWindowClause4066); + p_WindowEndCondition148=this.p_WindowEndCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowEndCondition148.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SlidingWindowClause_return: (function() { + XQueryParser.p_SlidingWindowClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SlidingWindowClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:444:1: p_SlidingWindowClause : k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ; + // $ANTLR start "p_SlidingWindowClause" + p_SlidingWindowClause: function() { + var retval = new XQueryParser.p_SlidingWindowClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR149 = null; + var IN152 = null; + var k = null; + var list_k=null; + var p_VarName150 = null; + var p_TypeDeclaration151 = null; + var p_ExprSingle153 = null; + var p_WindowStartCondition154 = null; + var p_WindowEndCondition155 = null; + + var DOLLAR149_tree=null; + var IN152_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:445:9: (k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? ) + // XQueryParser.g:445:11: k+= SLIDING k+= WINDOW DOLLAR p_VarName ( p_TypeDeclaration )? IN p_ExprSingle p_WindowStartCondition ( p_WindowEndCondition )? + root_0 = this.adaptor.nil(); + + k=this.match(this.input,SLIDING,XQueryParser.FOLLOW_SLIDING_in_p_SlidingWindowClause4096); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,WINDOW,XQueryParser.FOLLOW_WINDOW_in_p_SlidingWindowClause4100); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR149=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_SlidingWindowClause4102); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR149_tree = this.adaptor.create(DOLLAR149); + this.adaptor.addChild(root_0, DOLLAR149_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_SlidingWindowClause4104); + p_VarName150=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName150.getTree()); + // XQueryParser.g:445:49: ( p_TypeDeclaration )? + var alt64=2; + var LA64_0 = this.input.LA(1); + + if ( (LA64_0==AS) ) { + alt64=1; + } + switch (alt64) { + case 1 : + // XQueryParser.g:445:49: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_SlidingWindowClause4106); + p_TypeDeclaration151=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration151.getTree()); + + + break; + + } + + IN152=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_SlidingWindowClause4109); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + IN152_tree = this.adaptor.create(IN152); + this.adaptor.addChild(root_0, IN152_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_SlidingWindowClause4111); + p_ExprSingle153=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle153.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_WindowStartCondition_in_p_SlidingWindowClause4113); + p_WindowStartCondition154=this.p_WindowStartCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowStartCondition154.getTree()); + // XQueryParser.g:445:107: ( p_WindowEndCondition )? + var alt65=2; + var LA65_0 = this.input.LA(1); + + if ( (LA65_0==END||LA65_0==ONLY) ) { + alt65=1; + } + switch (alt65) { + case 1 : + // XQueryParser.g:445:107: p_WindowEndCondition + this.pushFollow(XQueryParser.FOLLOW_p_WindowEndCondition_in_p_SlidingWindowClause4115); + p_WindowEndCondition155=this.p_WindowEndCondition(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowEndCondition155.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowStartCondition_return: (function() { + XQueryParser.p_WindowStartCondition_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowStartCondition_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:449:1: p_WindowStartCondition : k+= START p_WindowVars k+= WHEN p_ExprSingle ; + // $ANTLR start "p_WindowStartCondition" + p_WindowStartCondition: function() { + var retval = new XQueryParser.p_WindowStartCondition_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_WindowVars156 = null; + var p_ExprSingle157 = null; + + var k_tree=null; + + try { + // XQueryParser.g:450:9: (k+= START p_WindowVars k+= WHEN p_ExprSingle ) + // XQueryParser.g:450:11: k+= START p_WindowVars k+= WHEN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,START,XQueryParser.FOLLOW_START_in_p_WindowStartCondition4145); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowVars_in_p_WindowStartCondition4147); + p_WindowVars156=this.p_WindowVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowVars156.getTree()); + k=this.match(this.input,WHEN,XQueryParser.FOLLOW_WHEN_in_p_WindowStartCondition4151); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WindowStartCondition4153); + p_ExprSingle157=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle157.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowEndCondition_return: (function() { + XQueryParser.p_WindowEndCondition_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowEndCondition_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:454:1: p_WindowEndCondition : (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle ; + // $ANTLR start "p_WindowEndCondition" + p_WindowEndCondition: function() { + var retval = new XQueryParser.p_WindowEndCondition_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_WindowVars158 = null; + var p_ExprSingle159 = null; + + var k_tree=null; + + try { + // XQueryParser.g:455:9: ( (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle ) + // XQueryParser.g:455:11: (k+= ONLY )? k+= END p_WindowVars k+= WHEN p_ExprSingle + root_0 = this.adaptor.nil(); + + // XQueryParser.g:455:12: (k+= ONLY )? + var alt66=2; + var LA66_0 = this.input.LA(1); + + if ( (LA66_0==ONLY) ) { + alt66=1; + } + switch (alt66) { + case 1 : + // XQueryParser.g:455:12: k+= ONLY + k=this.match(this.input,ONLY,XQueryParser.FOLLOW_ONLY_in_p_WindowEndCondition4182); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,END,XQueryParser.FOLLOW_END_in_p_WindowEndCondition4187); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_WindowVars_in_p_WindowEndCondition4189); + p_WindowVars158=this.p_WindowVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WindowVars158.getTree()); + k=this.match(this.input,WHEN,XQueryParser.FOLLOW_WHEN_in_p_WindowEndCondition4193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WindowEndCondition4195); + p_ExprSingle159=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle159.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WindowVars_return: (function() { + XQueryParser.p_WindowVars_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WindowVars_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:459:1: p_WindowVars : ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? ; + // $ANTLR start "p_WindowVars" + p_WindowVars: function() { + var retval = new XQueryParser.p_WindowVars_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR160 = null; + var DOLLAR163 = null; + var DOLLAR165 = null; + var k = null; + var list_k=null; + var p_QName161 = null; + var p_PositionalVar162 = null; + var p_QName164 = null; + var p_QName166 = null; + + var DOLLAR160_tree=null; + var DOLLAR163_tree=null; + var DOLLAR165_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:460:9: ( ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? ) + // XQueryParser.g:460:11: ( DOLLAR p_QName )? ( p_PositionalVar )? (k+= PREVIOUS DOLLAR p_QName )? (k+= NEXT DOLLAR p_QName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:460:11: ( DOLLAR p_QName )? + var alt67=2; + var LA67_0 = this.input.LA(1); + + if ( (LA67_0==DOLLAR) ) { + alt67=1; + } + switch (alt67) { + case 1 : + // XQueryParser.g:460:12: DOLLAR p_QName + DOLLAR160=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4223); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR160_tree = this.adaptor.create(DOLLAR160); + this.adaptor.addChild(root_0, DOLLAR160_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4225); + p_QName161=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName161.getTree()); + + + break; + + } + + // XQueryParser.g:460:29: ( p_PositionalVar )? + var alt68=2; + var LA68_0 = this.input.LA(1); + + if ( (LA68_0==AT) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // XQueryParser.g:460:29: p_PositionalVar + this.pushFollow(XQueryParser.FOLLOW_p_PositionalVar_in_p_WindowVars4229); + p_PositionalVar162=this.p_PositionalVar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PositionalVar162.getTree()); + + + break; + + } + + // XQueryParser.g:460:46: (k+= PREVIOUS DOLLAR p_QName )? + var alt69=2; + var LA69_0 = this.input.LA(1); + + if ( (LA69_0==PREVIOUS) ) { + alt69=1; + } + switch (alt69) { + case 1 : + // XQueryParser.g:460:47: k+= PREVIOUS DOLLAR p_QName + k=this.match(this.input,PREVIOUS,XQueryParser.FOLLOW_PREVIOUS_in_p_WindowVars4235); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR163=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4237); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR163_tree = this.adaptor.create(DOLLAR163); + this.adaptor.addChild(root_0, DOLLAR163_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4239); + p_QName164=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName164.getTree()); + + + break; + + } + + // XQueryParser.g:460:76: (k+= NEXT DOLLAR p_QName )? + var alt70=2; + var LA70_0 = this.input.LA(1); + + if ( (LA70_0==NEXT) ) { + alt70=1; + } + switch (alt70) { + case 1 : + // XQueryParser.g:460:77: k+= NEXT DOLLAR p_QName + k=this.match(this.input,NEXT,XQueryParser.FOLLOW_NEXT_in_p_WindowVars4246); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR165=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_WindowVars4248); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR165_tree = this.adaptor.create(DOLLAR165); + this.adaptor.addChild(root_0, DOLLAR165_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_WindowVars4250); + p_QName166=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName166.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CountClause_return: (function() { + XQueryParser.p_CountClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CountClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:473:1: p_CountClause : kc+= COUNT DOLLAR p_VarName ; + // $ANTLR start "p_CountClause" + p_CountClause: function() { + var retval = new XQueryParser.p_CountClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR167 = null; + var kc = null; + var list_kc=null; + var p_VarName168 = null; + + var DOLLAR167_tree=null; + var kc_tree=null; + + try { + // XQueryParser.g:474:9: (kc+= COUNT DOLLAR p_VarName ) + // XQueryParser.g:474:11: kc+= COUNT DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,COUNT,XQueryParser.FOLLOW_COUNT_in_p_CountClause4290); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + if (org.antlr.lang.isNull(list_kc)) list_kc = []; + list_kc.push(kc); + + DOLLAR167=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CountClause4292); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR167_tree = this.adaptor.create(DOLLAR167); + this.adaptor.addChild(root_0, DOLLAR167_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CountClause4294); + p_VarName168=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName168.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhereClause_return: (function() { + XQueryParser.p_WhereClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhereClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:478:1: p_WhereClause : kw+= WHERE p_ExprSingle ; + // $ANTLR start "p_WhereClause" + p_WhereClause: function() { + var retval = new XQueryParser.p_WhereClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kw = null; + var list_kw=null; + var p_ExprSingle169 = null; + + var kw_tree=null; + + try { + // XQueryParser.g:479:9: (kw+= WHERE p_ExprSingle ) + // XQueryParser.g:479:11: kw+= WHERE p_ExprSingle + root_0 = this.adaptor.nil(); + + kw=this.match(this.input,WHERE,XQueryParser.FOLLOW_WHERE_in_p_WhereClause4330); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kw_tree = this.adaptor.create(kw); + this.adaptor.addChild(root_0, kw_tree); + } + if (org.antlr.lang.isNull(list_kw)) list_kw = []; + list_kw.push(kw); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WhereClause4332); + p_ExprSingle169=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle169.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupByClause_return: (function() { + XQueryParser.p_GroupByClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupByClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:483:1: p_GroupByClause : k+= GROUP k+= BY p_GroupingSpecList ; + // $ANTLR start "p_GroupByClause" + p_GroupByClause: function() { + var retval = new XQueryParser.p_GroupByClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_GroupingSpecList170 = null; + + var k_tree=null; + + try { + // XQueryParser.g:484:9: (k+= GROUP k+= BY p_GroupingSpecList ) + // XQueryParser.g:484:13: k+= GROUP k+= BY p_GroupingSpecList + root_0 = this.adaptor.nil(); + + k=this.match(this.input,GROUP,XQueryParser.FOLLOW_GROUP_in_p_GroupByClause4362); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_GroupByClause4366); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpecList_in_p_GroupByClause4368); + p_GroupingSpecList170=this.p_GroupingSpecList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpecList170.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupingSpecList_return: (function() { + XQueryParser.p_GroupingSpecList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupingSpecList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:488:1: p_GroupingSpecList : p_GroupingSpec ( COMMA p_GroupingSpec )* ; + // $ANTLR start "p_GroupingSpecList" + p_GroupingSpecList: function() { + var retval = new XQueryParser.p_GroupingSpecList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA172 = null; + var p_GroupingSpec171 = null; + var p_GroupingSpec173 = null; + + var COMMA172_tree=null; + + try { + // XQueryParser.g:489:9: ( p_GroupingSpec ( COMMA p_GroupingSpec )* ) + // XQueryParser.g:489:13: p_GroupingSpec ( COMMA p_GroupingSpec )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4397); + p_GroupingSpec171=this.p_GroupingSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpec171.getTree()); + // XQueryParser.g:489:28: ( COMMA p_GroupingSpec )* + loop71: + do { + var alt71=2; + var LA71_0 = this.input.LA(1); + + if ( (LA71_0==COMMA) ) { + alt71=1; + } + + + switch (alt71) { + case 1 : + // XQueryParser.g:489:29: COMMA p_GroupingSpec + COMMA172=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_GroupingSpecList4400); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA172_tree = this.adaptor.create(COMMA172); + this.adaptor.addChild(root_0, COMMA172_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4402); + p_GroupingSpec173=this.p_GroupingSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GroupingSpec173.getTree()); + + + break; + + default : + break loop71; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GroupingSpec_return: (function() { + XQueryParser.p_GroupingSpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GroupingSpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:493:1: p_GroupingSpec : DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? ; + // $ANTLR start "p_GroupingSpec" + p_GroupingSpec: function() { + var retval = new XQueryParser.p_GroupingSpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var DOLLAR174 = null; + var p_VarName175 = null; + var p_StringLiteral176 = null; + + var kc_tree=null; + var DOLLAR174_tree=null; + + try { + // XQueryParser.g:494:9: ( DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? ) + // XQueryParser.g:494:13: DOLLAR p_VarName (kc= COLLATION p_StringLiteral )? + root_0 = this.adaptor.nil(); + + DOLLAR174=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_GroupingSpec4432); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR174_tree = this.adaptor.create(DOLLAR174); + this.adaptor.addChild(root_0, DOLLAR174_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_GroupingSpec4434); + p_VarName175=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName175.getTree()); + // XQueryParser.g:494:30: (kc= COLLATION p_StringLiteral )? + var alt72=2; + var LA72_0 = this.input.LA(1); + + if ( (LA72_0==COLLATION) ) { + alt72=1; + } + switch (alt72) { + case 1 : + // XQueryParser.g:494:31: kc= COLLATION p_StringLiteral + kc=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_GroupingSpec4439); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_GroupingSpec4441); + p_StringLiteral176=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral176.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderByClause_return: (function() { + XQueryParser.p_OrderByClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderByClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:498:1: p_OrderByClause : ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList ; + // $ANTLR start "p_OrderByClause" + p_OrderByClause: function() { + var retval = new XQueryParser.p_OrderByClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_OrderSpecList177 = null; + + var k_tree=null; + + try { + // XQueryParser.g:499:9: ( ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList ) + // XQueryParser.g:499:13: ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) p_OrderSpecList + root_0 = this.adaptor.nil(); + + // XQueryParser.g:499:13: ( (k+= ORDER k+= BY ) | (k+= STABLE k+= ORDER k+= BY ) ) + var alt73=2; + var LA73_0 = this.input.LA(1); + + if ( (LA73_0==ORDER) ) { + alt73=1; + } + else if ( (LA73_0==STABLE) ) { + alt73=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 73, 0, this.input); + + throw nvae; + } + switch (alt73) { + case 1 : + // XQueryParser.g:499:14: (k+= ORDER k+= BY ) + // XQueryParser.g:499:14: (k+= ORDER k+= BY ) + // XQueryParser.g:499:15: k+= ORDER k+= BY + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_p_OrderByClause4476); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_OrderByClause4480); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + case 2 : + // XQueryParser.g:499:33: (k+= STABLE k+= ORDER k+= BY ) + // XQueryParser.g:499:33: (k+= STABLE k+= ORDER k+= BY ) + // XQueryParser.g:499:34: k+= STABLE k+= ORDER k+= BY + k=this.match(this.input,STABLE,XQueryParser.FOLLOW_STABLE_in_p_OrderByClause4488); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,ORDER,XQueryParser.FOLLOW_ORDER_in_p_OrderByClause4492); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_OrderByClause4496); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpecList_in_p_OrderByClause4500); + p_OrderSpecList177=this.p_OrderSpecList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpecList177.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderSpecList_return: (function() { + XQueryParser.p_OrderSpecList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderSpecList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:503:1: p_OrderSpecList : p_OrderSpec ( COMMA p_OrderSpec )* ; + // $ANTLR start "p_OrderSpecList" + p_OrderSpecList: function() { + var retval = new XQueryParser.p_OrderSpecList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA179 = null; + var p_OrderSpec178 = null; + var p_OrderSpec180 = null; + + var COMMA179_tree=null; + + try { + // XQueryParser.g:504:9: ( p_OrderSpec ( COMMA p_OrderSpec )* ) + // XQueryParser.g:504:13: p_OrderSpec ( COMMA p_OrderSpec )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpec_in_p_OrderSpecList4529); + p_OrderSpec178=this.p_OrderSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpec178.getTree()); + // XQueryParser.g:504:25: ( COMMA p_OrderSpec )* + loop74: + do { + var alt74=2; + var LA74_0 = this.input.LA(1); + + if ( (LA74_0==COMMA) ) { + alt74=1; + } + + + switch (alt74) { + case 1 : + // XQueryParser.g:504:26: COMMA p_OrderSpec + COMMA179=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_OrderSpecList4532); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA179_tree = this.adaptor.create(COMMA179); + this.adaptor.addChild(root_0, COMMA179_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_OrderSpec_in_p_OrderSpecList4534); + p_OrderSpec180=this.p_OrderSpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderSpec180.getTree()); + + + break; + + default : + break loop74; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderSpec_return: (function() { + XQueryParser.p_OrderSpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderSpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:508:1: p_OrderSpec : p_ExprSingle p_OrderModifier ; + // $ANTLR start "p_OrderSpec" + p_OrderSpec: function() { + var retval = new XQueryParser.p_OrderSpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle181 = null; + var p_OrderModifier182 = null; + + + try { + // XQueryParser.g:509:9: ( p_ExprSingle p_OrderModifier ) + // XQueryParser.g:509:13: p_ExprSingle p_OrderModifier + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_OrderSpec4564); + p_ExprSingle181=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle181.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_OrderModifier_in_p_OrderSpec4566); + p_OrderModifier182=this.p_OrderModifier(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderModifier182.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderModifier_return: (function() { + XQueryParser.p_OrderModifier_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderModifier_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:513:1: p_OrderModifier : (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? ; + // $ANTLR start "p_OrderModifier" + p_OrderModifier: function() { + var retval = new XQueryParser.p_OrderModifier_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var k = null; + var list_k=null; + var p_StringLiteral183 = null; + + var ka_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:514:9: ( (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? ) + // XQueryParser.g:514:11: (ka= ASCENDING | k+= DESCENDING )? (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? (k+= COLLATION p_StringLiteral )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:514:11: (ka= ASCENDING | k+= DESCENDING )? + var alt75=3; + var LA75_0 = this.input.LA(1); + + if ( (LA75_0==ASCENDING) ) { + alt75=1; + } + else if ( (LA75_0==DESCENDING) ) { + alt75=2; + } + switch (alt75) { + case 1 : + // XQueryParser.g:514:12: ka= ASCENDING + ka=this.match(this.input,ASCENDING,XQueryParser.FOLLOW_ASCENDING_in_p_OrderModifier4595); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + + + break; + case 2 : + // XQueryParser.g:514:27: k+= DESCENDING + k=this.match(this.input,DESCENDING,XQueryParser.FOLLOW_DESCENDING_in_p_OrderModifier4601); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + // XQueryParser.g:514:43: (k+= EMPTY (k+= GREATEST | k+= LEAST ) )? + var alt77=2; + var LA77_0 = this.input.LA(1); + + if ( (LA77_0==EMPTY) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // XQueryParser.g:514:44: k+= EMPTY (k+= GREATEST | k+= LEAST ) + k=this.match(this.input,EMPTY,XQueryParser.FOLLOW_EMPTY_in_p_OrderModifier4608); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:514:53: (k+= GREATEST | k+= LEAST ) + var alt76=2; + var LA76_0 = this.input.LA(1); + + if ( (LA76_0==GREATEST) ) { + alt76=1; + } + else if ( (LA76_0==LEAST) ) { + alt76=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 76, 0, this.input); + + throw nvae; + } + switch (alt76) { + case 1 : + // XQueryParser.g:514:54: k+= GREATEST + k=this.match(this.input,GREATEST,XQueryParser.FOLLOW_GREATEST_in_p_OrderModifier4613); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:514:68: k+= LEAST + k=this.match(this.input,LEAST,XQueryParser.FOLLOW_LEAST_in_p_OrderModifier4619); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + break; + + } + + // XQueryParser.g:514:80: (k+= COLLATION p_StringLiteral )? + var alt78=2; + var LA78_0 = this.input.LA(1); + + if ( (LA78_0==COLLATION) ) { + alt78=1; + } + switch (alt78) { + case 1 : + // XQueryParser.g:514:81: k+= COLLATION p_StringLiteral + k=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_OrderModifier4627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_OrderModifier4629); + p_StringLiteral183=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral183.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReturnClause_return: (function() { + XQueryParser.p_ReturnClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReturnClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:518:1: p_ReturnClause : kr= RETURN p_ExprSingle ; + // $ANTLR start "p_ReturnClause" + p_ReturnClause: function() { + var retval = new XQueryParser.p_ReturnClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kr = null; + var p_ExprSingle184 = null; + + var kr_tree=null; + + try { + // XQueryParser.g:519:9: (kr= RETURN p_ExprSingle ) + // XQueryParser.g:519:11: kr= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + kr=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_ReturnClause4660); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kr_tree = this.adaptor.create(kr); + this.adaptor.addChild(root_0, kr_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReturnClause4662); + p_ExprSingle184=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle184.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QuantifiedExpr_return: (function() { + XQueryParser.p_QuantifiedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QuantifiedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:523:1: p_QuantifiedExpr : (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle ; + // $ANTLR start "p_QuantifiedExpr" + p_QuantifiedExpr: function() { + var retval = new XQueryParser.p_QuantifiedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR185 = null; + var COMMA189 = null; + var DOLLAR190 = null; + var k = null; + var list_k=null; + var p_VarName186 = null; + var p_TypeDeclaration187 = null; + var p_ExprSingle188 = null; + var p_QName191 = null; + var p_TypeDeclaration192 = null; + var p_ExprSingle193 = null; + var p_ExprSingle194 = null; + + var DOLLAR185_tree=null; + var COMMA189_tree=null; + var DOLLAR190_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:524:9: ( (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle ) + // XQueryParser.g:524:13: (k+= SOME | k+= EVERY ) DOLLAR p_VarName ( p_TypeDeclaration )? k+= IN p_ExprSingle ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* k+= SATISFIES p_ExprSingle + root_0 = this.adaptor.nil(); + + // XQueryParser.g:524:13: (k+= SOME | k+= EVERY ) + var alt79=2; + var LA79_0 = this.input.LA(1); + + if ( (LA79_0==SOME) ) { + alt79=1; + } + else if ( (LA79_0==EVERY) ) { + alt79=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 79, 0, this.input); + + throw nvae; + } + switch (alt79) { + case 1 : + // XQueryParser.g:524:14: k+= SOME + k=this.match(this.input,SOME,XQueryParser.FOLLOW_SOME_in_p_QuantifiedExpr4693); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:524:24: k+= EVERY + k=this.match(this.input,EVERY,XQueryParser.FOLLOW_EVERY_in_p_QuantifiedExpr4699); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + DOLLAR185=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_QuantifiedExpr4702); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR185_tree = this.adaptor.create(DOLLAR185); + this.adaptor.addChild(root_0, DOLLAR185_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_QuantifiedExpr4704); + p_VarName186=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName186.getTree()); + // XQueryParser.g:524:51: ( p_TypeDeclaration )? + var alt80=2; + var LA80_0 = this.input.LA(1); + + if ( (LA80_0==AS) ) { + alt80=1; + } + switch (alt80) { + case 1 : + // XQueryParser.g:524:51: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4706); + p_TypeDeclaration187=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration187.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_QuantifiedExpr4711); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4713); + p_ExprSingle188=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle188.getTree()); + // XQueryParser.g:524:89: ( COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle )* + loop82: + do { + var alt82=2; + var LA82_0 = this.input.LA(1); + + if ( (LA82_0==COMMA) ) { + alt82=1; + } + + + switch (alt82) { + case 1 : + // XQueryParser.g:524:90: COMMA DOLLAR p_QName ( p_TypeDeclaration )? k+= IN p_ExprSingle + COMMA189=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_QuantifiedExpr4716); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA189_tree = this.adaptor.create(COMMA189); + this.adaptor.addChild(root_0, COMMA189_tree); + } + DOLLAR190=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_QuantifiedExpr4718); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR190_tree = this.adaptor.create(DOLLAR190); + this.adaptor.addChild(root_0, DOLLAR190_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_QuantifiedExpr4720); + p_QName191=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName191.getTree()); + // XQueryParser.g:524:111: ( p_TypeDeclaration )? + var alt81=2; + var LA81_0 = this.input.LA(1); + + if ( (LA81_0==AS) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // XQueryParser.g:524:111: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4722); + p_TypeDeclaration192=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeDeclaration192.getTree()); + + + break; + + } + + k=this.match(this.input,IN,XQueryParser.FOLLOW_IN_in_p_QuantifiedExpr4727); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4729); + p_ExprSingle193=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle193.getTree()); + + + break; + + default : + break loop82; + } + } while (true); + + k=this.match(this.input,SATISFIES,XQueryParser.FOLLOW_SATISFIES_in_p_QuantifiedExpr4735); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4737); + p_ExprSingle194=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle194.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeswitchExpr_return: (function() { + XQueryParser.p_TypeswitchExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeswitchExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:528:1: p_TypeswitchExpr : k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle ; + // $ANTLR start "p_TypeswitchExpr" + p_TypeswitchExpr: function() { + var retval = new XQueryParser.p_TypeswitchExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN195 = null; + var RPAREN197 = null; + var DOLLAR199 = null; + var k = null; + var list_k=null; + var pm_Expr196 = null; + var p_CaseClause198 = null; + var p_VarName200 = null; + var p_ExprSingle201 = null; + + var LPAREN195_tree=null; + var RPAREN197_tree=null; + var DOLLAR199_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:529:9: (k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle ) + // XQueryParser.g:529:11: k+= TYPESWITCH LPAREN pm_Expr RPAREN ( p_CaseClause )+ k+= DEFAULT ( DOLLAR p_VarName )? k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TYPESWITCH,XQueryParser.FOLLOW_TYPESWITCH_in_p_TypeswitchExpr4766); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + LPAREN195=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_TypeswitchExpr4768); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN195_tree = this.adaptor.create(LPAREN195); + this.adaptor.addChild(root_0, LPAREN195_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_TypeswitchExpr4770); + pm_Expr196=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr196.getTree()); + RPAREN197=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_TypeswitchExpr4772); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN197_tree = this.adaptor.create(RPAREN197); + this.adaptor.addChild(root_0, RPAREN197_tree); + } + // XQueryParser.g:529:47: ( p_CaseClause )+ + var cnt83=0; + loop83: + do { + var alt83=2; + var LA83_0 = this.input.LA(1); + + if ( (LA83_0==CASE) ) { + alt83=1; + } + + + switch (alt83) { + case 1 : + // XQueryParser.g:529:47: p_CaseClause + this.pushFollow(XQueryParser.FOLLOW_p_CaseClause_in_p_TypeswitchExpr4774); + p_CaseClause198=this.p_CaseClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CaseClause198.getTree()); + + + break; + + default : + if ( cnt83 >= 1 ) { + break loop83; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(83, this.input); + throw eee; + } + cnt83++; + } while (true); + + k=this.match(this.input,DEFAULT,XQueryParser.FOLLOW_DEFAULT_in_p_TypeswitchExpr4779); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:529:72: ( DOLLAR p_VarName )? + var alt84=2; + var LA84_0 = this.input.LA(1); + + if ( (LA84_0==DOLLAR) ) { + alt84=1; + } + switch (alt84) { + case 1 : + // XQueryParser.g:529:73: DOLLAR p_VarName + DOLLAR199=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TypeswitchExpr4782); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR199_tree = this.adaptor.create(DOLLAR199); + this.adaptor.addChild(root_0, DOLLAR199_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TypeswitchExpr4784); + p_VarName200=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName200.getTree()); + + + break; + + } + + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_TypeswitchExpr4790); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TypeswitchExpr4792); + p_ExprSingle201=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle201.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CaseClause_return: (function() { + XQueryParser.p_CaseClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CaseClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:533:1: p_CaseClause : k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle ; + // $ANTLR start "p_CaseClause" + p_CaseClause: function() { + var retval = new XQueryParser.p_CaseClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR202 = null; + var k = null; + var list_k=null; + var p_VarName203 = null; + var p_SequenceType204 = null; + var p_ExprSingle205 = null; + + var DOLLAR202_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:534:9: (k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle ) + // XQueryParser.g:534:11: k+= CASE ( DOLLAR p_VarName k+= AS )? p_SequenceType k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,CASE,XQueryParser.FOLLOW_CASE_in_p_CaseClause4821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:534:19: ( DOLLAR p_VarName k+= AS )? + var alt85=2; + var LA85_0 = this.input.LA(1); + + if ( (LA85_0==DOLLAR) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // XQueryParser.g:534:20: DOLLAR p_VarName k+= AS + DOLLAR202=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CaseClause4824); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR202_tree = this.adaptor.create(DOLLAR202); + this.adaptor.addChild(root_0, DOLLAR202_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CaseClause4826); + p_VarName203=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName203.getTree()); + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CaseClause4830); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_CaseClause4834); + p_SequenceType204=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType204.getTree()); + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_CaseClause4838); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_CaseClause4840); + p_ExprSingle205=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle205.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IfExpr_return: (function() { + XQueryParser.p_IfExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IfExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:538:1: p_IfExpr : k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle ; + // $ANTLR start "p_IfExpr" + p_IfExpr: function() { + var retval = new XQueryParser.p_IfExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN206 = null; + var RPAREN208 = null; + var k = null; + var list_k=null; + var pm_Expr207 = null; + var p_ExprSingle209 = null; + var p_ExprSingle210 = null; + + var LPAREN206_tree=null; + var RPAREN208_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:539:9: (k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle ) + // XQueryParser.g:539:11: k+= IF LPAREN pm_Expr RPAREN k+= THEN p_ExprSingle k+= ELSE p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,IF,XQueryParser.FOLLOW_IF_in_p_IfExpr4869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + LPAREN206=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_IfExpr4871); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN206_tree = this.adaptor.create(LPAREN206); + this.adaptor.addChild(root_0, LPAREN206_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_IfExpr4873); + pm_Expr207=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr207.getTree()); + RPAREN208=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_IfExpr4875); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN208_tree = this.adaptor.create(RPAREN208); + this.adaptor.addChild(root_0, RPAREN208_tree); + } + k=this.match(this.input,THEN,XQueryParser.FOLLOW_THEN_in_p_IfExpr4879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_IfExpr4881); + p_ExprSingle209=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle209.getTree()); + k=this.match(this.input,ELSE,XQueryParser.FOLLOW_ELSE_in_p_IfExpr4885); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_IfExpr4887); + p_ExprSingle210=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle210.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrExpr_return: (function() { + XQueryParser.p_OrExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:543:1: p_OrExpr : p_AndExpr (k= OR p_AndExpr )* ; + // $ANTLR start "p_OrExpr" + p_OrExpr: function() { + var retval = new XQueryParser.p_OrExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_AndExpr211 = null; + var p_AndExpr212 = null; + + var k_tree=null; + + try { + // XQueryParser.g:544:9: ( p_AndExpr (k= OR p_AndExpr )* ) + // XQueryParser.g:544:11: p_AndExpr (k= OR p_AndExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AndExpr_in_p_OrExpr4914); + p_AndExpr211=this.p_AndExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AndExpr211.getTree()); + // XQueryParser.g:544:21: (k= OR p_AndExpr )* + loop86: + do { + var alt86=2; + var LA86_0 = this.input.LA(1); + + if ( (LA86_0==OR) ) { + alt86=1; + } + + + switch (alt86) { + case 1 : + // XQueryParser.g:544:23: k= OR p_AndExpr + k=this.match(this.input,OR,XQueryParser.FOLLOW_OR_in_p_OrExpr4920); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AndExpr_in_p_OrExpr4923); + p_AndExpr212=this.p_AndExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AndExpr212.getTree()); + + + break; + + default : + break loop86; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AndExpr_return: (function() { + XQueryParser.p_AndExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AndExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:548:1: p_AndExpr : p_ComparisonExpr (k= AND p_ComparisonExpr )* ; + // $ANTLR start "p_AndExpr" + p_AndExpr: function() { + var retval = new XQueryParser.p_AndExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_ComparisonExpr213 = null; + var p_ComparisonExpr214 = null; + + var k_tree=null; + + try { + // XQueryParser.g:549:9: ( p_ComparisonExpr (k= AND p_ComparisonExpr )* ) + // XQueryParser.g:549:13: p_ComparisonExpr (k= AND p_ComparisonExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ComparisonExpr_in_p_AndExpr4954); + p_ComparisonExpr213=this.p_ComparisonExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComparisonExpr213.getTree()); + // XQueryParser.g:549:30: (k= AND p_ComparisonExpr )* + loop87: + do { + var alt87=2; + var LA87_0 = this.input.LA(1); + + if ( (LA87_0==AND) ) { + alt87=1; + } + + + switch (alt87) { + case 1 : + // XQueryParser.g:549:32: k= AND p_ComparisonExpr + k=this.match(this.input,AND,XQueryParser.FOLLOW_AND_in_p_AndExpr4960); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ComparisonExpr_in_p_AndExpr4963); + p_ComparisonExpr214=this.p_ComparisonExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComparisonExpr214.getTree()); + + + break; + + default : + break loop87; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ComparisonExpr_return: (function() { + XQueryParser.p_ComparisonExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ComparisonExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:553:1: p_ComparisonExpr : p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? ; + // $ANTLR start "p_ComparisonExpr" + p_ComparisonExpr: function() { + var retval = new XQueryParser.p_ComparisonExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_RangeExpr215 = null; + var p_ValueComp216 = null; + var p_GeneralComp217 = null; + var p_NodeComp218 = null; + var p_RangeExpr219 = null; + + + try { + // XQueryParser.g:554:9: ( p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? ) + // XQueryParser.g:554:13: p_RangeExpr ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_RangeExpr_in_p_ComparisonExpr4994); + p_RangeExpr215=this.p_RangeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RangeExpr215.getTree()); + // XQueryParser.g:554:25: ( ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr )? + var alt89=2; + var LA89_0 = this.input.LA(1); + + if ( (LA89_0==EQ||LA89_0==GE||LA89_0==GT||LA89_0==IS||LA89_0==LE||LA89_0==LT||LA89_0==NE||LA89_0==EQUAL||LA89_0==NOTEQUAL||(LA89_0>=SMALLER && LA89_0<=GREATER_GREATER)) ) { + alt89=1; + } + switch (alt89) { + case 1 : + // XQueryParser.g:554:27: ( p_ValueComp | p_GeneralComp | p_NodeComp ) p_RangeExpr + // XQueryParser.g:554:27: ( p_ValueComp | p_GeneralComp | p_NodeComp ) + var alt88=3; + switch ( this.input.LA(1) ) { + case EQ: + case GE: + case GT: + case LE: + case LT: + case NE: + alt88=1; + break; + case EQUAL: + case NOTEQUAL: + case SMALLER: + case GREATER: + case SMALLEREQ: + case GREATEREQ: + alt88=2; + break; + case IS: + case SMALLER_SMALLER: + case GREATER_GREATER: + alt88=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 88, 0, this.input); + + throw nvae; + } + + switch (alt88) { + case 1 : + // XQueryParser.g:554:28: p_ValueComp + this.pushFollow(XQueryParser.FOLLOW_p_ValueComp_in_p_ComparisonExpr4999); + p_ValueComp216=this.p_ValueComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValueComp216.getTree()); + + + break; + case 2 : + // XQueryParser.g:554:42: p_GeneralComp + this.pushFollow(XQueryParser.FOLLOW_p_GeneralComp_in_p_ComparisonExpr5003); + p_GeneralComp217=this.p_GeneralComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_GeneralComp217.getTree()); + + + break; + case 3 : + // XQueryParser.g:554:58: p_NodeComp + this.pushFollow(XQueryParser.FOLLOW_p_NodeComp_in_p_ComparisonExpr5007); + p_NodeComp218=this.p_NodeComp(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeComp218.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_RangeExpr_in_p_ComparisonExpr5010); + p_RangeExpr219=this.p_RangeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RangeExpr219.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RangeExpr_return: (function() { + XQueryParser.p_RangeExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RangeExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:558:1: p_RangeExpr : p_AdditiveExpr (k= TO p_AdditiveExpr )? ; + // $ANTLR start "p_RangeExpr" + p_RangeExpr: function() { + var retval = new XQueryParser.p_RangeExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_AdditiveExpr220 = null; + var p_AdditiveExpr221 = null; + + var k_tree=null; + + try { + // XQueryParser.g:559:9: ( p_AdditiveExpr (k= TO p_AdditiveExpr )? ) + // XQueryParser.g:559:13: p_AdditiveExpr (k= TO p_AdditiveExpr )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AdditiveExpr_in_p_RangeExpr5041); + p_AdditiveExpr220=this.p_AdditiveExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AdditiveExpr220.getTree()); + // XQueryParser.g:559:28: (k= TO p_AdditiveExpr )? + var alt90=2; + var LA90_0 = this.input.LA(1); + + if ( (LA90_0==TO) ) { + alt90=1; + } + switch (alt90) { + case 1 : + // XQueryParser.g:559:30: k= TO p_AdditiveExpr + k=this.match(this.input,TO,XQueryParser.FOLLOW_TO_in_p_RangeExpr5047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AdditiveExpr_in_p_RangeExpr5050); + p_AdditiveExpr221=this.p_AdditiveExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AdditiveExpr221.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AdditiveExpr_return: (function() { + XQueryParser.p_AdditiveExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AdditiveExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:563:1: p_AdditiveExpr : p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* ; + // $ANTLR start "p_AdditiveExpr" + p_AdditiveExpr: function() { + var retval = new XQueryParser.p_AdditiveExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set223 = null; + var p_MultiplicativeExpr222 = null; + var p_MultiplicativeExpr224 = null; + + var set223_tree=null; + + try { + // XQueryParser.g:564:9: ( p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* ) + // XQueryParser.g:564:13: p_MultiplicativeExpr ( ( PLUS | MINUS ) p_MultiplicativeExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5081); + p_MultiplicativeExpr222=this.p_MultiplicativeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_MultiplicativeExpr222.getTree()); + // XQueryParser.g:564:34: ( ( PLUS | MINUS ) p_MultiplicativeExpr )* + loop91: + do { + var alt91=2; + var LA91_0 = this.input.LA(1); + + if ( ((LA91_0>=PLUS && LA91_0<=MINUS)) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // XQueryParser.g:564:36: ( PLUS | MINUS ) p_MultiplicativeExpr + set223=this.input.LT(1); + if ( (this.input.LA(1)>=PLUS && this.input.LA(1)<=MINUS) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set223)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + this.pushFollow(XQueryParser.FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5093); + p_MultiplicativeExpr224=this.p_MultiplicativeExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_MultiplicativeExpr224.getTree()); + + + break; + + default : + break loop91; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_MultiplicativeExpr_return: (function() { + XQueryParser.p_MultiplicativeExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_MultiplicativeExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:568:1: p_MultiplicativeExpr : p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* ; + // $ANTLR start "p_MultiplicativeExpr" + p_MultiplicativeExpr: function() { + var retval = new XQueryParser.p_MultiplicativeExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kd = null; + var ki = null; + var km = null; + var STAR226 = null; + var p_UnionExpr225 = null; + var p_UnionExpr227 = null; + + var kd_tree=null; + var ki_tree=null; + var km_tree=null; + var STAR226_tree=null; + + try { + // XQueryParser.g:569:9: ( p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* ) + // XQueryParser.g:569:13: p_UnionExpr ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5124); + p_UnionExpr225=this.p_UnionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnionExpr225.getTree()); + // XQueryParser.g:569:25: ( ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr )* + loop93: + do { + var alt93=2; + var LA93_0 = this.input.LA(1); + + if ( (LA93_0==DIV||LA93_0==IDIV||LA93_0==MOD||LA93_0==STAR) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // XQueryParser.g:569:27: ( STAR | kd= DIV | ki= IDIV | km= MOD ) p_UnionExpr + // XQueryParser.g:569:27: ( STAR | kd= DIV | ki= IDIV | km= MOD ) + var alt92=4; + switch ( this.input.LA(1) ) { + case STAR: + alt92=1; + break; + case DIV: + alt92=2; + break; + case IDIV: + alt92=3; + break; + case MOD: + alt92=4; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 92, 0, this.input); + + throw nvae; + } + + switch (alt92) { + case 1 : + // XQueryParser.g:569:28: STAR + STAR226=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_MultiplicativeExpr5129); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR226_tree = this.adaptor.create(STAR226); + this.adaptor.addChild(root_0, STAR226_tree); + } + + + break; + case 2 : + // XQueryParser.g:569:35: kd= DIV + kd=this.match(this.input,DIV,XQueryParser.FOLLOW_DIV_in_p_MultiplicativeExpr5135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kd_tree = this.adaptor.create(kd); + this.adaptor.addChild(root_0, kd_tree); + } + + + break; + case 3 : + // XQueryParser.g:569:44: ki= IDIV + ki=this.match(this.input,IDIV,XQueryParser.FOLLOW_IDIV_in_p_MultiplicativeExpr5141); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + if ( this.state.backtracking===0 ) { + } + + + break; + case 4 : + // XQueryParser.g:569:57: km= MOD + km=this.match(this.input,MOD,XQueryParser.FOLLOW_MOD_in_p_MultiplicativeExpr5149); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + km_tree = this.adaptor.create(km); + this.adaptor.addChild(root_0, km_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5153); + p_UnionExpr227=this.p_UnionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnionExpr227.getTree()); + + + break; + + default : + break loop93; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnionExpr_return: (function() { + XQueryParser.p_UnionExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnionExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:573:1: p_UnionExpr : p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* ; + // $ANTLR start "p_UnionExpr" + p_UnionExpr: function() { + var retval = new XQueryParser.p_UnionExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var VBAR229 = null; + var p_IntersectExceptExpr228 = null; + var p_IntersectExceptExpr230 = null; + + var ku_tree=null; + var VBAR229_tree=null; + + try { + // XQueryParser.g:574:9: ( p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* ) + // XQueryParser.g:574:13: p_IntersectExceptExpr ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5184); + p_IntersectExceptExpr228=this.p_IntersectExceptExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntersectExceptExpr228.getTree()); + // XQueryParser.g:574:35: ( (ku= UNION | VBAR ) p_IntersectExceptExpr )* + loop95: + do { + var alt95=2; + var LA95_0 = this.input.LA(1); + + if ( (LA95_0==UNION||LA95_0==VBAR) ) { + alt95=1; + } + + + switch (alt95) { + case 1 : + // XQueryParser.g:574:37: (ku= UNION | VBAR ) p_IntersectExceptExpr + // XQueryParser.g:574:37: (ku= UNION | VBAR ) + var alt94=2; + var LA94_0 = this.input.LA(1); + + if ( (LA94_0==UNION) ) { + alt94=1; + } + else if ( (LA94_0==VBAR) ) { + alt94=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 94, 0, this.input); + + throw nvae; + } + switch (alt94) { + case 1 : + // XQueryParser.g:574:38: ku= UNION + ku=this.match(this.input,UNION,XQueryParser.FOLLOW_UNION_in_p_UnionExpr5191); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + + + break; + case 2 : + // XQueryParser.g:574:49: VBAR + VBAR229=this.match(this.input,VBAR,XQueryParser.FOLLOW_VBAR_in_p_UnionExpr5195); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + VBAR229_tree = this.adaptor.create(VBAR229); + this.adaptor.addChild(root_0, VBAR229_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5198); + p_IntersectExceptExpr230=this.p_IntersectExceptExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IntersectExceptExpr230.getTree()); + + + break; + + default : + break loop95; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IntersectExceptExpr_return: (function() { + XQueryParser.p_IntersectExceptExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IntersectExceptExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:578:1: p_IntersectExceptExpr : p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* ; + // $ANTLR start "p_IntersectExceptExpr" + p_IntersectExceptExpr: function() { + var retval = new XQueryParser.p_IntersectExceptExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_InstanceofExpr231 = null; + var p_InstanceofExpr232 = null; + + var k_tree=null; + + try { + // XQueryParser.g:579:9: ( p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* ) + // XQueryParser.g:579:13: p_InstanceofExpr ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5229); + p_InstanceofExpr231=this.p_InstanceofExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InstanceofExpr231.getTree()); + // XQueryParser.g:579:30: ( (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr )* + loop97: + do { + var alt97=2; + var LA97_0 = this.input.LA(1); + + if ( (LA97_0==EXCEPT||LA97_0==INTERSECT) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // XQueryParser.g:579:32: (k= INTERSECT | k= EXCEPT ) p_InstanceofExpr + // XQueryParser.g:579:32: (k= INTERSECT | k= EXCEPT ) + var alt96=2; + var LA96_0 = this.input.LA(1); + + if ( (LA96_0==INTERSECT) ) { + alt96=1; + } + else if ( (LA96_0==EXCEPT) ) { + alt96=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 96, 0, this.input); + + throw nvae; + } + switch (alt96) { + case 1 : + // XQueryParser.g:579:33: k= INTERSECT + k=this.match(this.input,INTERSECT,XQueryParser.FOLLOW_INTERSECT_in_p_IntersectExceptExpr5236); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:579:47: k= EXCEPT + k=this.match(this.input,EXCEPT,XQueryParser.FOLLOW_EXCEPT_in_p_IntersectExceptExpr5242); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5246); + p_InstanceofExpr232=this.p_InstanceofExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InstanceofExpr232.getTree()); + + + break; + + default : + break loop97; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InstanceofExpr_return: (function() { + XQueryParser.p_InstanceofExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InstanceofExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:583:1: p_InstanceofExpr : p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? ; + // $ANTLR start "p_InstanceofExpr" + p_InstanceofExpr: function() { + var retval = new XQueryParser.p_InstanceofExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ki = null; + var ko = null; + var p_TreatExpr233 = null; + var p_SequenceType234 = null; + + var ki_tree=null; + var ko_tree=null; + + try { + // XQueryParser.g:584:9: ( p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? ) + // XQueryParser.g:584:13: p_TreatExpr (ki= INSTANCE ko= OF p_SequenceType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TreatExpr_in_p_InstanceofExpr5277); + p_TreatExpr233=this.p_TreatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TreatExpr233.getTree()); + // XQueryParser.g:584:25: (ki= INSTANCE ko= OF p_SequenceType )? + var alt98=2; + var LA98_0 = this.input.LA(1); + + if ( (LA98_0==INSTANCE) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // XQueryParser.g:584:27: ki= INSTANCE ko= OF p_SequenceType + ki=this.match(this.input,INSTANCE,XQueryParser.FOLLOW_INSTANCE_in_p_InstanceofExpr5283); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + ko=this.match(this.input,OF,XQueryParser.FOLLOW_OF_in_p_InstanceofExpr5287); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ko_tree = this.adaptor.create(ko); + this.adaptor.addChild(root_0, ko_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_InstanceofExpr5289); + p_SequenceType234=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType234.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TreatExpr_return: (function() { + XQueryParser.p_TreatExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TreatExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:588:1: p_TreatExpr : p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? ; + // $ANTLR start "p_TreatExpr" + p_TreatExpr: function() { + var retval = new XQueryParser.p_TreatExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kt = null; + var ka = null; + var p_CastableExpr235 = null; + var p_SequenceType236 = null; + + var kt_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:589:9: ( p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? ) + // XQueryParser.g:589:13: p_CastableExpr (kt= TREAT ka= AS p_SequenceType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CastableExpr_in_p_TreatExpr5319); + p_CastableExpr235=this.p_CastableExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CastableExpr235.getTree()); + // XQueryParser.g:589:28: (kt= TREAT ka= AS p_SequenceType )? + var alt99=2; + var LA99_0 = this.input.LA(1); + + if ( (LA99_0==TREAT) ) { + alt99=1; + } + switch (alt99) { + case 1 : + // XQueryParser.g:589:30: kt= TREAT ka= AS p_SequenceType + kt=this.match(this.input,TREAT,XQueryParser.FOLLOW_TREAT_in_p_TreatExpr5325); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kt_tree = this.adaptor.create(kt); + this.adaptor.addChild(root_0, kt_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_TreatExpr5329); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_TreatExpr5331); + p_SequenceType236=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SequenceType236.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CastableExpr_return: (function() { + XQueryParser.p_CastableExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CastableExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:593:1: p_CastableExpr : p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? ; + // $ANTLR start "p_CastableExpr" + p_CastableExpr: function() { + var retval = new XQueryParser.p_CastableExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var ka = null; + var p_CastExpr237 = null; + var p_SingleType238 = null; + + var kc_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:594:9: ( p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? ) + // XQueryParser.g:594:13: p_CastExpr (kc= CASTABLE ka= AS p_SingleType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CastExpr_in_p_CastableExpr5370); + p_CastExpr237=this.p_CastExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CastExpr237.getTree()); + // XQueryParser.g:594:24: (kc= CASTABLE ka= AS p_SingleType )? + var alt100=2; + var LA100_0 = this.input.LA(1); + + if ( (LA100_0==CASTABLE) ) { + alt100=1; + } + switch (alt100) { + case 1 : + // XQueryParser.g:594:26: kc= CASTABLE ka= AS p_SingleType + kc=this.match(this.input,CASTABLE,XQueryParser.FOLLOW_CASTABLE_in_p_CastableExpr5376); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CastableExpr5380); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SingleType_in_p_CastableExpr5382); + p_SingleType238=this.p_SingleType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SingleType238.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CastExpr_return: (function() { + XQueryParser.p_CastExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CastExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:598:1: p_CastExpr : p_UnaryExpr (kc= CAST ka= AS p_SingleType )? ; + // $ANTLR start "p_CastExpr" + p_CastExpr: function() { + var retval = new XQueryParser.p_CastExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var ka = null; + var p_UnaryExpr239 = null; + var p_SingleType240 = null; + + var kc_tree=null; + var ka_tree=null; + + try { + // XQueryParser.g:599:9: ( p_UnaryExpr (kc= CAST ka= AS p_SingleType )? ) + // XQueryParser.g:599:13: p_UnaryExpr (kc= CAST ka= AS p_SingleType )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnaryExpr_in_p_CastExpr5421); + p_UnaryExpr239=this.p_UnaryExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnaryExpr239.getTree()); + // XQueryParser.g:599:25: (kc= CAST ka= AS p_SingleType )? + var alt101=2; + var LA101_0 = this.input.LA(1); + + if ( (LA101_0==CAST) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // XQueryParser.g:599:27: kc= CAST ka= AS p_SingleType + kc=this.match(this.input,CAST,XQueryParser.FOLLOW_CAST_in_p_CastExpr5427); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CastExpr5431); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_SingleType_in_p_CastExpr5433); + p_SingleType240=this.p_SingleType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SingleType240.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnaryExpr_return: (function() { + XQueryParser.p_UnaryExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnaryExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:603:1: p_UnaryExpr : ( PLUS | MINUS )* p_ValueExpr -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) ; + // $ANTLR start "p_UnaryExpr" + p_UnaryExpr: function() { + var retval = new XQueryParser.p_UnaryExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PLUS241 = null; + var MINUS242 = null; + var p_ValueExpr243 = null; + + var PLUS241_tree=null; + var MINUS242_tree=null; + var stream_PLUS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token PLUS"); + var stream_MINUS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token MINUS"); + var stream_p_ValueExpr=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ValueExpr"); + try { + // XQueryParser.g:604:9: ( ( PLUS | MINUS )* p_ValueExpr -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) ) + // XQueryParser.g:604:13: ( PLUS | MINUS )* p_ValueExpr + // XQueryParser.g:604:13: ( PLUS | MINUS )* + loop102: + do { + var alt102=3; + var LA102_0 = this.input.LA(1); + + if ( (LA102_0==PLUS) ) { + alt102=1; + } + else if ( (LA102_0==MINUS) ) { + alt102=2; + } + + + switch (alt102) { + case 1 : + // XQueryParser.g:604:14: PLUS + PLUS241=this.match(this.input,PLUS,XQueryParser.FOLLOW_PLUS_in_p_UnaryExpr5465); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_PLUS.add(PLUS241); + + + + break; + case 2 : + // XQueryParser.g:604:21: MINUS + MINUS242=this.match(this.input,MINUS,XQueryParser.FOLLOW_MINUS_in_p_UnaryExpr5469); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_MINUS.add(MINUS242); + + + + break; + + default : + break loop102; + } + } while (true); + + this.pushFollow(XQueryParser.FOLLOW_p_ValueExpr_in_p_UnaryExpr5473); + p_ValueExpr243=this.p_ValueExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ValueExpr.add(p_ValueExpr243.getTree()); + + + // AST REWRITE + // elements: PLUS, p_ValueExpr + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 605:17: -> ^( UnaryExpr ( PLUS )* p_ValueExpr ) + { + // XQueryParser.g:605:20: ^( UnaryExpr ( PLUS )* p_ValueExpr ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(UnaryExpr, "UnaryExpr"), root_1); + + // XQueryParser.g:605:32: ( PLUS )* + while ( stream_PLUS.hasNext() ) { + this.adaptor.addChild(root_1, stream_PLUS.nextNode()); + + } + stream_PLUS.reset(); + this.adaptor.addChild(root_1, stream_p_ValueExpr.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValueExpr_return: (function() { + XQueryParser.p_ValueExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValueExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:612:1: p_ValueExpr : ( p_ValidateExpr | p_PathExpr | p_ExtensionExpr ); + // $ANTLR start "p_ValueExpr" + p_ValueExpr: function() { + var retval = new XQueryParser.p_ValueExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ValidateExpr244 = null; + var p_PathExpr245 = null; + var p_ExtensionExpr246 = null; + + + try { + // XQueryParser.g:613:9: ( p_ValidateExpr | p_PathExpr | p_ExtensionExpr ) + var alt103=3; + alt103 = this.dfa103.predict(this.input); + switch (alt103) { + case 1 : + // XQueryParser.g:613:11: p_ValidateExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ValidateExpr_in_p_ValueExpr5529); + p_ValidateExpr244=this.p_ValidateExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValidateExpr244.getTree()); + + + break; + case 2 : + // XQueryParser.g:614:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ValueExpr5541); + p_PathExpr245=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr245.getTree()); + + + break; + case 3 : + // XQueryParser.g:615:11: p_ExtensionExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExtensionExpr_in_p_ValueExpr5553); + p_ExtensionExpr246=this.p_ExtensionExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExtensionExpr246.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_GeneralComp_return: (function() { + XQueryParser.p_GeneralComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_GeneralComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:619:1: p_GeneralComp : ( EQUAL | NOTEQUAL | SMALLER | SMALLEREQ | GREATER | GREATEREQ ); + // $ANTLR start "p_GeneralComp" + p_GeneralComp: function() { + var retval = new XQueryParser.p_GeneralComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set247 = null; + + var set247_tree=null; + + try { + // XQueryParser.g:620:9: ( EQUAL | NOTEQUAL | SMALLER | SMALLEREQ | GREATER | GREATEREQ ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set247=this.input.LT(1); + if ( this.input.LA(1)==EQUAL||this.input.LA(1)==NOTEQUAL||(this.input.LA(1)>=SMALLER && this.input.LA(1)<=GREATEREQ) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set247)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValueComp_return: (function() { + XQueryParser.p_ValueComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValueComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:624:1: p_ValueComp : (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) ; + // $ANTLR start "p_ValueComp" + p_ValueComp: function() { + var retval = new XQueryParser.p_ValueComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + + var k_tree=null; + + try { + // XQueryParser.g:625:9: ( (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) ) + // XQueryParser.g:625:13: (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:625:13: (k= EQ | k= NE | k= LT | k= LE | k= GT | k= GE ) + var alt104=6; + switch ( this.input.LA(1) ) { + case EQ: + alt104=1; + break; + case NE: + alt104=2; + break; + case LT: + alt104=3; + break; + case LE: + alt104=4; + break; + case GT: + alt104=5; + break; + case GE: + alt104=6; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 104, 0, this.input); + + throw nvae; + } + + switch (alt104) { + case 1 : + // XQueryParser.g:625:14: k= EQ + k=this.match(this.input,EQ,XQueryParser.FOLLOW_EQ_in_p_ValueComp5632); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:625:21: k= NE + k=this.match(this.input,NE,XQueryParser.FOLLOW_NE_in_p_ValueComp5638); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:625:28: k= LT + k=this.match(this.input,LT,XQueryParser.FOLLOW_LT_in_p_ValueComp5644); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 4 : + // XQueryParser.g:625:35: k= LE + k=this.match(this.input,LE,XQueryParser.FOLLOW_LE_in_p_ValueComp5650); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 5 : + // XQueryParser.g:625:42: k= GT + k=this.match(this.input,GT,XQueryParser.FOLLOW_GT_in_p_ValueComp5656); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 6 : + // XQueryParser.g:625:49: k= GE + k=this.match(this.input,GE,XQueryParser.FOLLOW_GE_in_p_ValueComp5662); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeComp_return: (function() { + XQueryParser.p_NodeComp_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeComp_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:629:1: p_NodeComp : (ki= IS | SMALLER_SMALLER | GREATER_GREATER ); + // $ANTLR start "p_NodeComp" + p_NodeComp: function() { + var retval = new XQueryParser.p_NodeComp_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ki = null; + var SMALLER_SMALLER248 = null; + var GREATER_GREATER249 = null; + + var ki_tree=null; + var SMALLER_SMALLER248_tree=null; + var GREATER_GREATER249_tree=null; + + try { + // XQueryParser.g:630:9: (ki= IS | SMALLER_SMALLER | GREATER_GREATER ) + var alt105=3; + switch ( this.input.LA(1) ) { + case IS: + alt105=1; + break; + case SMALLER_SMALLER: + alt105=2; + break; + case GREATER_GREATER: + alt105=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 105, 0, this.input); + + throw nvae; + } + + switch (alt105) { + case 1 : + // XQueryParser.g:630:13: ki= IS + root_0 = this.adaptor.nil(); + + ki=this.match(this.input,IS,XQueryParser.FOLLOW_IS_in_p_NodeComp5694); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ki_tree = this.adaptor.create(ki); + this.adaptor.addChild(root_0, ki_tree); + } + + + break; + case 2 : + // XQueryParser.g:630:21: SMALLER_SMALLER + root_0 = this.adaptor.nil(); + + SMALLER_SMALLER248=this.match(this.input,SMALLER_SMALLER,XQueryParser.FOLLOW_SMALLER_SMALLER_in_p_NodeComp5698); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SMALLER_SMALLER248_tree = this.adaptor.create(SMALLER_SMALLER248); + this.adaptor.addChild(root_0, SMALLER_SMALLER248_tree); + } + + + break; + case 3 : + // XQueryParser.g:630:39: GREATER_GREATER + root_0 = this.adaptor.nil(); + + GREATER_GREATER249=this.match(this.input,GREATER_GREATER,XQueryParser.FOLLOW_GREATER_GREATER_in_p_NodeComp5702); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + GREATER_GREATER249_tree = this.adaptor.create(GREATER_GREATER249); + this.adaptor.addChild(root_0, GREATER_GREATER249_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValidateExpr_return: (function() { + XQueryParser.p_ValidateExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValidateExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:634:1: p_ValidateExpr : kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_ValidateExpr" + p_ValidateExpr: function() { + var retval = new XQueryParser.p_ValidateExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kv = null; + var LBRACKET251 = null; + var RBRACKET253 = null; + var p_ValidationMode250 = null; + var pm_Expr252 = null; + + var kv_tree=null; + var LBRACKET251_tree=null; + var RBRACKET253_tree=null; + + try { + // XQueryParser.g:635:9: (kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:635:13: kv= VALIDATE ( p_ValidationMode )? LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kv=this.match(this.input,VALIDATE,XQueryParser.FOLLOW_VALIDATE_in_p_ValidateExpr5732); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kv_tree = this.adaptor.create(kv); + this.adaptor.addChild(root_0, kv_tree); + } + // XQueryParser.g:635:25: ( p_ValidationMode )? + var alt106=2; + var LA106_0 = this.input.LA(1); + + if ( (LA106_0==AS||LA106_0==LAX||LA106_0==STRICT) ) { + alt106=1; + } + switch (alt106) { + case 1 : + // XQueryParser.g:635:25: p_ValidationMode + this.pushFollow(XQueryParser.FOLLOW_p_ValidationMode_in_p_ValidateExpr5734); + p_ValidationMode250=this.p_ValidationMode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ValidationMode250.getTree()); + + + break; + + } + + LBRACKET251=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ValidateExpr5737); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET251_tree = this.adaptor.create(LBRACKET251); + this.adaptor.addChild(root_0, LBRACKET251_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ValidateExpr5739); + pm_Expr252=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr252.getTree()); + RBRACKET253=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ValidateExpr5741); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET253_tree = this.adaptor.create(RBRACKET253); + this.adaptor.addChild(root_0, RBRACKET253_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ValidationMode_return: (function() { + XQueryParser.p_ValidationMode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ValidationMode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:639:1: p_ValidationMode : (k= LAX | k= STRICT | (k= AS p_QName ) ) ; + // $ANTLR start "p_ValidationMode" + p_ValidationMode: function() { + var retval = new XQueryParser.p_ValidationMode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var p_QName254 = null; + + var k_tree=null; + + try { + // XQueryParser.g:640:9: ( (k= LAX | k= STRICT | (k= AS p_QName ) ) ) + // XQueryParser.g:640:13: (k= LAX | k= STRICT | (k= AS p_QName ) ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:640:13: (k= LAX | k= STRICT | (k= AS p_QName ) ) + var alt107=3; + switch ( this.input.LA(1) ) { + case LAX: + alt107=1; + break; + case STRICT: + alt107=2; + break; + case AS: + alt107=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 107, 0, this.input); + + throw nvae; + } + + switch (alt107) { + case 1 : + // XQueryParser.g:640:14: k= LAX + k=this.match(this.input,LAX,XQueryParser.FOLLOW_LAX_in_p_ValidationMode5772); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 2 : + // XQueryParser.g:640:22: k= STRICT + k=this.match(this.input,STRICT,XQueryParser.FOLLOW_STRICT_in_p_ValidationMode5778); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + + + break; + case 3 : + // XQueryParser.g:640:33: (k= AS p_QName ) + // XQueryParser.g:640:33: (k= AS p_QName ) + // XQueryParser.g:640:34: k= AS p_QName + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_ValidationMode5785); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ValidationMode5787); + p_QName254=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName254.getTree()); + + + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExtensionExpr_return: (function() { + XQueryParser.p_ExtensionExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExtensionExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:644:1: p_ExtensionExpr : ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_ExtensionExpr" + p_ExtensionExpr: function() { + var retval = new XQueryParser.p_ExtensionExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_Pragma255 = null; + var LBRACKET256 = null; + var RBRACKET258 = null; + var pm_Expr257 = null; + + var L_Pragma255_tree=null; + var LBRACKET256_tree=null; + var RBRACKET258_tree=null; + + try { + // XQueryParser.g:645:9: ( ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:645:13: ( L_Pragma )+ LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + // XQueryParser.g:645:13: ( L_Pragma )+ + var cnt108=0; + loop108: + do { + var alt108=2; + var LA108_0 = this.input.LA(1); + + if ( (LA108_0==L_Pragma) ) { + alt108=1; + } + + + switch (alt108) { + case 1 : + // XQueryParser.g:645:13: L_Pragma + L_Pragma255=this.match(this.input,L_Pragma,XQueryParser.FOLLOW_L_Pragma_in_p_ExtensionExpr5818); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_Pragma255_tree = this.adaptor.create(L_Pragma255); + this.adaptor.addChild(root_0, L_Pragma255_tree); + } + + + break; + + default : + if ( cnt108 >= 1 ) { + break loop108; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(108, this.input); + throw eee; + } + cnt108++; + } while (true); + + LBRACKET256=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ExtensionExpr5821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET256_tree = this.adaptor.create(LBRACKET256); + this.adaptor.addChild(root_0, LBRACKET256_tree); + } + // XQueryParser.g:645:32: ( pm_Expr )? + var alt109=2; + var LA109_0 = this.input.LA(1); + + if ( ((LA109_0>=ANCESTOR && LA109_0<=EXIT)||(LA109_0>=SEQUENTIAL && LA109_0<=MAINTAINED)||(LA109_0>=MUTABLE && LA109_0<=LPAREN)||LA109_0==DOLLAR||(LA109_0>=STAR && LA109_0<=SMALLER)||(LA109_0>=SLASH && LA109_0<=DOT_DOT)||LA109_0==ATTR_SIGN||(LA109_0>=APOS && LA109_0<=QUOT)||LA109_0==L_NCName||(LA109_0>=L_Pragma && LA109_0<=L_DoubleLiteral)||(LA109_0>=LETDOLLAR && LA109_0<=EXPLICITLY)) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // XQueryParser.g:645:32: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ExtensionExpr5823); + pm_Expr257=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr257.getTree()); + + + break; + + } + + RBRACKET258=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ExtensionExpr5826); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET258_tree = this.adaptor.create(RBRACKET258); + this.adaptor.addChild(root_0, RBRACKET258_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PathExpr_return: (function() { + XQueryParser.p_PathExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PathExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:656:1: p_PathExpr : ( ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr ); + // $ANTLR start "p_PathExpr" + p_PathExpr: function() { + var retval = new XQueryParser.p_PathExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SLASH259 = null; + var SLASH261 = null; + var SLASH_SLASH262 = null; + var p_RelativePathExpr260 = null; + var p_RelativePathExpr263 = null; + var p_RelativePathExpr264 = null; + + var SLASH259_tree=null; + var SLASH261_tree=null; + var SLASH_SLASH262_tree=null; + + try { + // XQueryParser.g:657:9: ( ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr ) + var alt110=4; + alt110 = this.dfa110.predict(this.input); + switch (alt110) { + case 1 : + // XQueryParser.g:657:11: ( SLASH p_RelativePathExpr )=> ( SLASH p_RelativePathExpr ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:657:41: ( SLASH p_RelativePathExpr ) + // XQueryParser.g:657:42: SLASH p_RelativePathExpr + SLASH259=this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_p_PathExpr5868); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH259_tree = this.adaptor.create(SLASH259); + this.adaptor.addChild(root_0, SLASH259_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5870); + p_RelativePathExpr260=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr260.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:658:11: SLASH + root_0 = this.adaptor.nil(); + + SLASH261=this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_p_PathExpr5883); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH261_tree = this.adaptor.create(SLASH261); + this.adaptor.addChild(root_0, SLASH261_tree); + } + + + break; + case 3 : + // XQueryParser.g:659:11: SLASH_SLASH p_RelativePathExpr + root_0 = this.adaptor.nil(); + + SLASH_SLASH262=this.match(this.input,SLASH_SLASH,XQueryParser.FOLLOW_SLASH_SLASH_in_p_PathExpr5895); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SLASH_SLASH262_tree = this.adaptor.create(SLASH_SLASH262); + this.adaptor.addChild(root_0, SLASH_SLASH262_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5897); + p_RelativePathExpr263=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr263.getTree()); + + + break; + case 4 : + // XQueryParser.g:660:11: p_RelativePathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_p_PathExpr5909); + p_RelativePathExpr264=this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_RelativePathExpr264.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RelativePathExpr_return: (function() { + XQueryParser.p_RelativePathExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RelativePathExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:664:1: p_RelativePathExpr : p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* ; + // $ANTLR start "p_RelativePathExpr" + p_RelativePathExpr: function() { + var retval = new XQueryParser.p_RelativePathExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set266 = null; + var p_StepExpr265 = null; + var p_StepExpr267 = null; + + var set266_tree=null; + + try { + // XQueryParser.g:665:9: ( p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* ) + // XQueryParser.g:665:11: p_StepExpr ( ( SLASH | SLASH_SLASH ) p_StepExpr )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_StepExpr_in_p_RelativePathExpr5937); + p_StepExpr265=this.p_StepExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StepExpr265.getTree()); + // XQueryParser.g:665:22: ( ( SLASH | SLASH_SLASH ) p_StepExpr )* + loop111: + do { + var alt111=2; + var LA111_0 = this.input.LA(1); + + if ( ((LA111_0>=SLASH && LA111_0<=SLASH_SLASH)) ) { + alt111=1; + } + + + switch (alt111) { + case 1 : + // XQueryParser.g:665:23: ( SLASH | SLASH_SLASH ) p_StepExpr + set266=this.input.LT(1); + if ( (this.input.LA(1)>=SLASH && this.input.LA(1)<=SLASH_SLASH) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set266)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + this.pushFollow(XQueryParser.FOLLOW_p_StepExpr_in_p_RelativePathExpr5948); + p_StepExpr267=this.p_StepExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StepExpr267.getTree()); + + + break; + + default : + break loop111; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_StepExpr_return: (function() { + XQueryParser.p_StepExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_StepExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:669:1: p_StepExpr : ( p_AxisStep | p_FilterExpr ); + // $ANTLR start "p_StepExpr" + p_StepExpr: function() { + var retval = new XQueryParser.p_StepExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_AxisStep268 = null; + var p_FilterExpr269 = null; + + + try { + // XQueryParser.g:670:9: ( p_AxisStep | p_FilterExpr ) + var alt112=2; + alt112 = this.dfa112.predict(this.input); + switch (alt112) { + case 1 : + // XQueryParser.g:670:11: p_AxisStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AxisStep_in_p_StepExpr5976); + p_AxisStep268=this.p_AxisStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AxisStep268.getTree()); + + + break; + case 2 : + // XQueryParser.g:671:11: p_FilterExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FilterExpr_in_p_StepExpr5988); + p_FilterExpr269=this.p_FilterExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FilterExpr269.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AxisStep_return: (function() { + XQueryParser.p_AxisStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AxisStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:675:1: p_AxisStep : ( p_ReverseStep | p_ForwardStep ) p_PredicateList ; + // $ANTLR start "p_AxisStep" + p_AxisStep: function() { + var retval = new XQueryParser.p_AxisStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ReverseStep270 = null; + var p_ForwardStep271 = null; + var p_PredicateList272 = null; + + + try { + // XQueryParser.g:676:9: ( ( p_ReverseStep | p_ForwardStep ) p_PredicateList ) + // XQueryParser.g:676:11: ( p_ReverseStep | p_ForwardStep ) p_PredicateList + root_0 = this.adaptor.nil(); + + // XQueryParser.g:676:11: ( p_ReverseStep | p_ForwardStep ) + var alt113=2; + switch ( this.input.LA(1) ) { + case PARENT: + var LA113_1 = this.input.LA(2); + + if ( (LA113_1==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_1==EOF||(LA113_1>=AND && LA113_1<=ASCENDING)||(LA113_1>=BY && LA113_1<=CASTABLE)||LA113_1==COLLATION||LA113_1==DEFAULT||(LA113_1>=DESCENDING && LA113_1<=DIV)||(LA113_1>=ELSE && LA113_1<=EMPTY)||LA113_1==EQ||LA113_1==EXCEPT||LA113_1==FOR||LA113_1==GE||(LA113_1>=GT && LA113_1<=IDIV)||(LA113_1>=INSTANCE && LA113_1<=IS)||LA113_1==LE||(LA113_1>=LT && LA113_1<=MOD)||LA113_1==NE||(LA113_1>=OR && LA113_1<=ORDER)||(LA113_1>=RETURN && LA113_1<=SATISFIES)||LA113_1==STABLE||(LA113_1>=TO && LA113_1<=TREAT)||LA113_1==UNION||LA113_1==WHERE||LA113_1==COUNT||(LA113_1>=END && LA113_1<=GROUP)||LA113_1==ONLY||LA113_1==START||(LA113_1>=AFTER && LA113_1<=BEFORE)||LA113_1==INTO||LA113_1==MODIFY||LA113_1==WITH||LA113_1==RPAREN||(LA113_1>=RBRACKET && LA113_1<=EQUAL)||LA113_1==NOTEQUAL||LA113_1==COMMA||(LA113_1>=STAR && LA113_1<=SLASH_SLASH)||LA113_1==COLON||(LA113_1>=SEMICOLON && LA113_1<=VBAR)||LA113_1==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 1, this.input); + + throw nvae; + } + break; + case ANCESTOR: + var LA113_2 = this.input.LA(2); + + if ( (LA113_2==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_2==EOF||(LA113_2>=AND && LA113_2<=ASCENDING)||(LA113_2>=BY && LA113_2<=CASTABLE)||LA113_2==COLLATION||LA113_2==DEFAULT||(LA113_2>=DESCENDING && LA113_2<=DIV)||(LA113_2>=ELSE && LA113_2<=EMPTY)||LA113_2==EQ||LA113_2==EXCEPT||LA113_2==FOR||LA113_2==GE||(LA113_2>=GT && LA113_2<=IDIV)||(LA113_2>=INSTANCE && LA113_2<=IS)||LA113_2==LE||(LA113_2>=LT && LA113_2<=MOD)||LA113_2==NE||(LA113_2>=OR && LA113_2<=ORDER)||(LA113_2>=RETURN && LA113_2<=SATISFIES)||LA113_2==STABLE||(LA113_2>=TO && LA113_2<=TREAT)||LA113_2==UNION||LA113_2==WHERE||LA113_2==COUNT||(LA113_2>=END && LA113_2<=GROUP)||LA113_2==ONLY||LA113_2==START||(LA113_2>=AFTER && LA113_2<=BEFORE)||LA113_2==INTO||LA113_2==MODIFY||LA113_2==WITH||LA113_2==RPAREN||(LA113_2>=RBRACKET && LA113_2<=EQUAL)||LA113_2==NOTEQUAL||LA113_2==COMMA||(LA113_2>=STAR && LA113_2<=SLASH_SLASH)||LA113_2==COLON||(LA113_2>=SEMICOLON && LA113_2<=VBAR)||LA113_2==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 2, this.input); + + throw nvae; + } + break; + case PRECEDING_SIBLING: + var LA113_3 = this.input.LA(2); + + if ( (LA113_3==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_3==EOF||(LA113_3>=AND && LA113_3<=ASCENDING)||(LA113_3>=BY && LA113_3<=CASTABLE)||LA113_3==COLLATION||LA113_3==DEFAULT||(LA113_3>=DESCENDING && LA113_3<=DIV)||(LA113_3>=ELSE && LA113_3<=EMPTY)||LA113_3==EQ||LA113_3==EXCEPT||LA113_3==FOR||LA113_3==GE||(LA113_3>=GT && LA113_3<=IDIV)||(LA113_3>=INSTANCE && LA113_3<=IS)||LA113_3==LE||(LA113_3>=LT && LA113_3<=MOD)||LA113_3==NE||(LA113_3>=OR && LA113_3<=ORDER)||(LA113_3>=RETURN && LA113_3<=SATISFIES)||LA113_3==STABLE||(LA113_3>=TO && LA113_3<=TREAT)||LA113_3==UNION||LA113_3==WHERE||LA113_3==COUNT||(LA113_3>=END && LA113_3<=GROUP)||LA113_3==ONLY||LA113_3==START||(LA113_3>=AFTER && LA113_3<=BEFORE)||LA113_3==INTO||LA113_3==MODIFY||LA113_3==WITH||LA113_3==RPAREN||(LA113_3>=RBRACKET && LA113_3<=EQUAL)||LA113_3==NOTEQUAL||LA113_3==COMMA||(LA113_3>=STAR && LA113_3<=SLASH_SLASH)||LA113_3==COLON||(LA113_3>=SEMICOLON && LA113_3<=VBAR)||LA113_3==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 3, this.input); + + throw nvae; + } + break; + case PRECEDING: + var LA113_4 = this.input.LA(2); + + if ( (LA113_4==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_4==EOF||(LA113_4>=AND && LA113_4<=ASCENDING)||(LA113_4>=BY && LA113_4<=CASTABLE)||LA113_4==COLLATION||LA113_4==DEFAULT||(LA113_4>=DESCENDING && LA113_4<=DIV)||(LA113_4>=ELSE && LA113_4<=EMPTY)||LA113_4==EQ||LA113_4==EXCEPT||LA113_4==FOR||LA113_4==GE||(LA113_4>=GT && LA113_4<=IDIV)||(LA113_4>=INSTANCE && LA113_4<=IS)||LA113_4==LE||(LA113_4>=LT && LA113_4<=MOD)||LA113_4==NE||(LA113_4>=OR && LA113_4<=ORDER)||(LA113_4>=RETURN && LA113_4<=SATISFIES)||LA113_4==STABLE||(LA113_4>=TO && LA113_4<=TREAT)||LA113_4==UNION||LA113_4==WHERE||LA113_4==COUNT||(LA113_4>=END && LA113_4<=GROUP)||LA113_4==ONLY||LA113_4==START||(LA113_4>=AFTER && LA113_4<=BEFORE)||LA113_4==INTO||LA113_4==MODIFY||LA113_4==WITH||LA113_4==RPAREN||(LA113_4>=RBRACKET && LA113_4<=EQUAL)||LA113_4==NOTEQUAL||LA113_4==COMMA||(LA113_4>=STAR && LA113_4<=SLASH_SLASH)||LA113_4==COLON||(LA113_4>=SEMICOLON && LA113_4<=VBAR)||LA113_4==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 4, this.input); + + throw nvae; + } + break; + case ANCESTOR_OR_SELF: + var LA113_5 = this.input.LA(2); + + if ( (LA113_5==COLON_COLON) ) { + alt113=1; + } + else if ( (LA113_5==EOF||(LA113_5>=AND && LA113_5<=ASCENDING)||(LA113_5>=BY && LA113_5<=CASTABLE)||LA113_5==COLLATION||LA113_5==DEFAULT||(LA113_5>=DESCENDING && LA113_5<=DIV)||(LA113_5>=ELSE && LA113_5<=EMPTY)||LA113_5==EQ||LA113_5==EXCEPT||LA113_5==FOR||LA113_5==GE||(LA113_5>=GT && LA113_5<=IDIV)||(LA113_5>=INSTANCE && LA113_5<=IS)||LA113_5==LE||(LA113_5>=LT && LA113_5<=MOD)||LA113_5==NE||(LA113_5>=OR && LA113_5<=ORDER)||(LA113_5>=RETURN && LA113_5<=SATISFIES)||LA113_5==STABLE||(LA113_5>=TO && LA113_5<=TREAT)||LA113_5==UNION||LA113_5==WHERE||LA113_5==COUNT||(LA113_5>=END && LA113_5<=GROUP)||LA113_5==ONLY||LA113_5==START||(LA113_5>=AFTER && LA113_5<=BEFORE)||LA113_5==INTO||LA113_5==MODIFY||LA113_5==WITH||LA113_5==RPAREN||(LA113_5>=RBRACKET && LA113_5<=EQUAL)||LA113_5==NOTEQUAL||LA113_5==COMMA||(LA113_5>=STAR && LA113_5<=SLASH_SLASH)||LA113_5==COLON||(LA113_5>=SEMICOLON && LA113_5<=VBAR)||LA113_5==LETDOLLAR) ) { + alt113=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 5, this.input); + + throw nvae; + } + break; + case DOT_DOT: + alt113=1; + break; + case AND: + case AS: + case ASCENDING: + case AT: + case ATTRIBUTE: + case BASE_URI: + case BOUNDARY_SPACE: + case BY: + case CASE: + case CAST: + case CASTABLE: + case CHILD: + case COLLATION: + case COMMENT: + case CONSTRUCTION: + case COPY_NAMESPACES: + case DECLARE: + case DEFAULT: + case DESCENDANT: + case DESCENDANT_OR_SELF: + case DESCENDING: + case DIV: + case DOCUMENT: + case DOCUMENT_NODE: + case ELEMENT: + case ELSE: + case EMPTY: + case EMPTY_SEQUENCE: + case ENCODING: + case EQ: + case EVERY: + case EXCEPT: + case EXTERNAL: + case FOLLOWING: + case FOLLOWING_SIBLING: + case FOR: + case FUNCTION: + case GE: + case GREATEST: + case GT: + case IDIV: + case IF: + case IMPORT: + case IN: + case INHERIT: + case INSTANCE: + case INTERSECT: + case IS: + case ITEM: + case LAX: + case LE: + case LEAST: + case LET: + case LT: + case MOD: + case MODULE: + case NAMESPACE: + case NE: + case NO_INHERIT: + case NO_PRESERVE: + case NODE: + case OF: + case OPTION: + case OR: + case ORDER: + case ORDERED: + case ORDERING: + case PRESERVE: + case PROCESSING_INSTRUCTION: + case RETURN: + case SATISFIES: + case SCHEMA: + case SCHEMA_ATTRIBUTE: + case SCHEMA_ELEMENT: + case SELF: + case SOME: + case STABLE: + case STRICT: + case STRIP: + case TEXT: + case THEN: + case TO: + case TREAT: + case TYPESWITCH: + case UNION: + case UNORDERED: + case VALIDATE: + case VARIABLE: + case VERSION: + case WHERE: + case XQUERY: + case CATCH: + case CONTEXT: + case COUNT: + case DECIMAL_FORMAT: + case DECIMAL_SEPARATOR: + case DIGIT: + case END: + case GROUP: + case GROUPING_SEPARATOR: + case INFINITY: + case MINUS_SIGN: + case NAMESPACE_NODE: + case NAN: + case NEXT: + case ONLY: + case OUTER: + case PATTERN_SEPARATOR: + case PERCENT: + case PER_MILLE: + case PREVIOUS: + case SLIDING: + case START: + case TRY: + case TUMBLING: + case WHEN: + case WINDOW: + case ZERO_DIGIT: + case AFTER: + case BEFORE: + case COPY: + case DELETE: + case FIRST: + case INSERT: + case INTO: + case LAST: + case MODIFY: + case NODES: + case RENAME: + case REPLACE: + case REVALIDATION: + case SKIP: + case UPDATING: + case VALUE: + case WITH: + case BLOCK: + case CONSTANT: + case EXIT: + case SEQUENTIAL: + case SET: + case SIMPLE: + case WHILE: + case EVAL: + case USING: + case APPEND_ONLY: + case AUTOMATICALLY: + case CHECK: + case COLLECTION: + case CONSTRAINT: + case CONST: + case EQUALITY: + case FOREACH: + case FOREIGN: + case FROM: + case INDEX: + case INTEGRITY: + case KEY: + case MAINTAINED: + case MUTABLE: + case NON: + case ON: + case QUEUE: + case RANGE: + case READ_ONLY: + case UNIQUE: + case BINARY: + case PRIVATE: + case AMP_ER: + case APOS_ER: + case QUOT_ER: + case STAR: + case ATTR_SIGN: + case L_NCName: + case EXPLICITLY: + alt113=2; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 113, 0, this.input); + + throw nvae; + } + + switch (alt113) { + case 1 : + // XQueryParser.g:676:12: p_ReverseStep + this.pushFollow(XQueryParser.FOLLOW_p_ReverseStep_in_p_AxisStep6015); + p_ReverseStep270=this.p_ReverseStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReverseStep270.getTree()); + + + break; + case 2 : + // XQueryParser.g:676:28: p_ForwardStep + this.pushFollow(XQueryParser.FOLLOW_p_ForwardStep_in_p_AxisStep6019); + p_ForwardStep271=this.p_ForwardStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForwardStep271.getTree()); + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_PredicateList_in_p_AxisStep6022); + p_PredicateList272=this.p_PredicateList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PredicateList272.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForwardStep_return: (function() { + XQueryParser.p_ForwardStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForwardStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:680:1: p_ForwardStep : ( ( p_ForwardAxis p_NodeTest ) | p_AbbrevForwardStep ); + // $ANTLR start "p_ForwardStep" + p_ForwardStep: function() { + var retval = new XQueryParser.p_ForwardStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ForwardAxis273 = null; + var p_NodeTest274 = null; + var p_AbbrevForwardStep275 = null; + + + try { + // XQueryParser.g:681:9: ( ( p_ForwardAxis p_NodeTest ) | p_AbbrevForwardStep ) + var alt114=2; + alt114 = this.dfa114.predict(this.input); + switch (alt114) { + case 1 : + // XQueryParser.g:681:11: ( p_ForwardAxis p_NodeTest ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:681:11: ( p_ForwardAxis p_NodeTest ) + // XQueryParser.g:681:12: p_ForwardAxis p_NodeTest + this.pushFollow(XQueryParser.FOLLOW_p_ForwardAxis_in_p_ForwardStep6049); + p_ForwardAxis273=this.p_ForwardAxis(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ForwardAxis273.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_ForwardStep6051); + p_NodeTest274=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest274.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:681:40: p_AbbrevForwardStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AbbrevForwardStep_in_p_ForwardStep6056); + p_AbbrevForwardStep275=this.p_AbbrevForwardStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AbbrevForwardStep275.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ForwardAxis_return: (function() { + XQueryParser.p_ForwardAxis_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ForwardAxis_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:685:1: p_ForwardAxis : ( CHILD COLON_COLON | DESCENDANT COLON_COLON | ATTRIBUTE COLON_COLON | SELF COLON_COLON | DESCENDANT_OR_SELF COLON_COLON | FOLLOWING_SIBLING COLON_COLON | FOLLOWING COLON_COLON ); + // $ANTLR start "p_ForwardAxis" + p_ForwardAxis: function() { + var retval = new XQueryParser.p_ForwardAxis_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var CHILD276 = null; + var COLON_COLON277 = null; + var DESCENDANT278 = null; + var COLON_COLON279 = null; + var ATTRIBUTE280 = null; + var COLON_COLON281 = null; + var SELF282 = null; + var COLON_COLON283 = null; + var DESCENDANT_OR_SELF284 = null; + var COLON_COLON285 = null; + var FOLLOWING_SIBLING286 = null; + var COLON_COLON287 = null; + var FOLLOWING288 = null; + var COLON_COLON289 = null; + + var CHILD276_tree=null; + var COLON_COLON277_tree=null; + var DESCENDANT278_tree=null; + var COLON_COLON279_tree=null; + var ATTRIBUTE280_tree=null; + var COLON_COLON281_tree=null; + var SELF282_tree=null; + var COLON_COLON283_tree=null; + var DESCENDANT_OR_SELF284_tree=null; + var COLON_COLON285_tree=null; + var FOLLOWING_SIBLING286_tree=null; + var COLON_COLON287_tree=null; + var FOLLOWING288_tree=null; + var COLON_COLON289_tree=null; + + try { + // XQueryParser.g:686:9: ( CHILD COLON_COLON | DESCENDANT COLON_COLON | ATTRIBUTE COLON_COLON | SELF COLON_COLON | DESCENDANT_OR_SELF COLON_COLON | FOLLOWING_SIBLING COLON_COLON | FOLLOWING COLON_COLON ) + var alt115=7; + switch ( this.input.LA(1) ) { + case CHILD: + alt115=1; + break; + case DESCENDANT: + alt115=2; + break; + case ATTRIBUTE: + alt115=3; + break; + case SELF: + alt115=4; + break; + case DESCENDANT_OR_SELF: + alt115=5; + break; + case FOLLOWING_SIBLING: + alt115=6; + break; + case FOLLOWING: + alt115=7; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 115, 0, this.input); + + throw nvae; + } + + switch (alt115) { + case 1 : + // XQueryParser.g:686:11: CHILD COLON_COLON + root_0 = this.adaptor.nil(); + + CHILD276=this.match(this.input,CHILD,XQueryParser.FOLLOW_CHILD_in_p_ForwardAxis6082); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + CHILD276_tree = this.adaptor.create(CHILD276); + this.adaptor.addChild(root_0, CHILD276_tree); + } + COLON_COLON277=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6084); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON277_tree = this.adaptor.create(COLON_COLON277); + this.adaptor.addChild(root_0, COLON_COLON277_tree); + } + + + break; + case 2 : + // XQueryParser.g:687:11: DESCENDANT COLON_COLON + root_0 = this.adaptor.nil(); + + DESCENDANT278=this.match(this.input,DESCENDANT,XQueryParser.FOLLOW_DESCENDANT_in_p_ForwardAxis6096); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DESCENDANT278_tree = this.adaptor.create(DESCENDANT278); + this.adaptor.addChild(root_0, DESCENDANT278_tree); + } + COLON_COLON279=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6098); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON279_tree = this.adaptor.create(COLON_COLON279); + this.adaptor.addChild(root_0, COLON_COLON279_tree); + } + + + break; + case 3 : + // XQueryParser.g:688:11: ATTRIBUTE COLON_COLON + root_0 = this.adaptor.nil(); + + ATTRIBUTE280=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_ForwardAxis6110); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTRIBUTE280_tree = this.adaptor.create(ATTRIBUTE280); + this.adaptor.addChild(root_0, ATTRIBUTE280_tree); + } + COLON_COLON281=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6112); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON281_tree = this.adaptor.create(COLON_COLON281); + this.adaptor.addChild(root_0, COLON_COLON281_tree); + } + + + break; + case 4 : + // XQueryParser.g:689:11: SELF COLON_COLON + root_0 = this.adaptor.nil(); + + SELF282=this.match(this.input,SELF,XQueryParser.FOLLOW_SELF_in_p_ForwardAxis6124); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SELF282_tree = this.adaptor.create(SELF282); + this.adaptor.addChild(root_0, SELF282_tree); + } + COLON_COLON283=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6126); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON283_tree = this.adaptor.create(COLON_COLON283); + this.adaptor.addChild(root_0, COLON_COLON283_tree); + } + + + break; + case 5 : + // XQueryParser.g:690:11: DESCENDANT_OR_SELF COLON_COLON + root_0 = this.adaptor.nil(); + + DESCENDANT_OR_SELF284=this.match(this.input,DESCENDANT_OR_SELF,XQueryParser.FOLLOW_DESCENDANT_OR_SELF_in_p_ForwardAxis6138); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DESCENDANT_OR_SELF284_tree = this.adaptor.create(DESCENDANT_OR_SELF284); + this.adaptor.addChild(root_0, DESCENDANT_OR_SELF284_tree); + } + COLON_COLON285=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6140); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON285_tree = this.adaptor.create(COLON_COLON285); + this.adaptor.addChild(root_0, COLON_COLON285_tree); + } + + + break; + case 6 : + // XQueryParser.g:691:11: FOLLOWING_SIBLING COLON_COLON + root_0 = this.adaptor.nil(); + + FOLLOWING_SIBLING286=this.match(this.input,FOLLOWING_SIBLING,XQueryParser.FOLLOW_FOLLOWING_SIBLING_in_p_ForwardAxis6152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + FOLLOWING_SIBLING286_tree = this.adaptor.create(FOLLOWING_SIBLING286); + this.adaptor.addChild(root_0, FOLLOWING_SIBLING286_tree); + } + COLON_COLON287=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6154); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON287_tree = this.adaptor.create(COLON_COLON287); + this.adaptor.addChild(root_0, COLON_COLON287_tree); + } + + + break; + case 7 : + // XQueryParser.g:692:11: FOLLOWING COLON_COLON + root_0 = this.adaptor.nil(); + + FOLLOWING288=this.match(this.input,FOLLOWING,XQueryParser.FOLLOW_FOLLOWING_in_p_ForwardAxis6166); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + FOLLOWING288_tree = this.adaptor.create(FOLLOWING288); + this.adaptor.addChild(root_0, FOLLOWING288_tree); + } + COLON_COLON289=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ForwardAxis6168); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON289_tree = this.adaptor.create(COLON_COLON289); + this.adaptor.addChild(root_0, COLON_COLON289_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AbbrevForwardStep_return: (function() { + XQueryParser.p_AbbrevForwardStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AbbrevForwardStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:696:1: p_AbbrevForwardStep : ( ATTR_SIGN )? p_NodeTest ; + // $ANTLR start "p_AbbrevForwardStep" + p_AbbrevForwardStep: function() { + var retval = new XQueryParser.p_AbbrevForwardStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ATTR_SIGN290 = null; + var p_NodeTest291 = null; + + var ATTR_SIGN290_tree=null; + + try { + // XQueryParser.g:697:9: ( ( ATTR_SIGN )? p_NodeTest ) + // XQueryParser.g:697:11: ( ATTR_SIGN )? p_NodeTest + root_0 = this.adaptor.nil(); + + // XQueryParser.g:697:11: ( ATTR_SIGN )? + var alt116=2; + var LA116_0 = this.input.LA(1); + + if ( (LA116_0==ATTR_SIGN) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // XQueryParser.g:697:11: ATTR_SIGN + ATTR_SIGN290=this.match(this.input,ATTR_SIGN,XQueryParser.FOLLOW_ATTR_SIGN_in_p_AbbrevForwardStep6194); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTR_SIGN290_tree = this.adaptor.create(ATTR_SIGN290); + this.adaptor.addChild(root_0, ATTR_SIGN290_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_AbbrevForwardStep6197); + p_NodeTest291=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest291.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReverseStep_return: (function() { + XQueryParser.p_ReverseStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReverseStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:701:1: p_ReverseStep : ( ( p_ReverseAxis p_NodeTest ) | p_AbbrevReverseStep ); + // $ANTLR start "p_ReverseStep" + p_ReverseStep: function() { + var retval = new XQueryParser.p_ReverseStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ReverseAxis292 = null; + var p_NodeTest293 = null; + var p_AbbrevReverseStep294 = null; + + + try { + // XQueryParser.g:702:9: ( ( p_ReverseAxis p_NodeTest ) | p_AbbrevReverseStep ) + var alt117=2; + var LA117_0 = this.input.LA(1); + + if ( ((LA117_0>=ANCESTOR && LA117_0<=ANCESTOR_OR_SELF)||(LA117_0>=PARENT && LA117_0<=PRECEDING_SIBLING)) ) { + alt117=1; + } + else if ( (LA117_0==DOT_DOT) ) { + alt117=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 117, 0, this.input); + + throw nvae; + } + switch (alt117) { + case 1 : + // XQueryParser.g:702:11: ( p_ReverseAxis p_NodeTest ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:702:11: ( p_ReverseAxis p_NodeTest ) + // XQueryParser.g:702:12: p_ReverseAxis p_NodeTest + this.pushFollow(XQueryParser.FOLLOW_p_ReverseAxis_in_p_ReverseStep6224); + p_ReverseAxis292=this.p_ReverseAxis(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ReverseAxis292.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_NodeTest_in_p_ReverseStep6226); + p_NodeTest293=this.p_NodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeTest293.getTree()); + + + + + + break; + case 2 : + // XQueryParser.g:702:40: p_AbbrevReverseStep + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AbbrevReverseStep_in_p_ReverseStep6231); + p_AbbrevReverseStep294=this.p_AbbrevReverseStep(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AbbrevReverseStep294.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReverseAxis_return: (function() { + XQueryParser.p_ReverseAxis_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReverseAxis_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:706:1: p_ReverseAxis : ( PARENT COLON_COLON | ANCESTOR COLON_COLON | PRECEDING_SIBLING COLON_COLON | PRECEDING COLON_COLON | ANCESTOR_OR_SELF COLON_COLON ); + // $ANTLR start "p_ReverseAxis" + p_ReverseAxis: function() { + var retval = new XQueryParser.p_ReverseAxis_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PARENT295 = null; + var COLON_COLON296 = null; + var ANCESTOR297 = null; + var COLON_COLON298 = null; + var PRECEDING_SIBLING299 = null; + var COLON_COLON300 = null; + var PRECEDING301 = null; + var COLON_COLON302 = null; + var ANCESTOR_OR_SELF303 = null; + var COLON_COLON304 = null; + + var PARENT295_tree=null; + var COLON_COLON296_tree=null; + var ANCESTOR297_tree=null; + var COLON_COLON298_tree=null; + var PRECEDING_SIBLING299_tree=null; + var COLON_COLON300_tree=null; + var PRECEDING301_tree=null; + var COLON_COLON302_tree=null; + var ANCESTOR_OR_SELF303_tree=null; + var COLON_COLON304_tree=null; + + try { + // XQueryParser.g:707:9: ( PARENT COLON_COLON | ANCESTOR COLON_COLON | PRECEDING_SIBLING COLON_COLON | PRECEDING COLON_COLON | ANCESTOR_OR_SELF COLON_COLON ) + var alt118=5; + switch ( this.input.LA(1) ) { + case PARENT: + alt118=1; + break; + case ANCESTOR: + alt118=2; + break; + case PRECEDING_SIBLING: + alt118=3; + break; + case PRECEDING: + alt118=4; + break; + case ANCESTOR_OR_SELF: + alt118=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 118, 0, this.input); + + throw nvae; + } + + switch (alt118) { + case 1 : + // XQueryParser.g:707:11: PARENT COLON_COLON + root_0 = this.adaptor.nil(); + + PARENT295=this.match(this.input,PARENT,XQueryParser.FOLLOW_PARENT_in_p_ReverseAxis6257); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PARENT295_tree = this.adaptor.create(PARENT295); + this.adaptor.addChild(root_0, PARENT295_tree); + } + COLON_COLON296=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6259); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON296_tree = this.adaptor.create(COLON_COLON296); + this.adaptor.addChild(root_0, COLON_COLON296_tree); + } + + + break; + case 2 : + // XQueryParser.g:708:11: ANCESTOR COLON_COLON + root_0 = this.adaptor.nil(); + + ANCESTOR297=this.match(this.input,ANCESTOR,XQueryParser.FOLLOW_ANCESTOR_in_p_ReverseAxis6271); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ANCESTOR297_tree = this.adaptor.create(ANCESTOR297); + this.adaptor.addChild(root_0, ANCESTOR297_tree); + } + COLON_COLON298=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6273); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON298_tree = this.adaptor.create(COLON_COLON298); + this.adaptor.addChild(root_0, COLON_COLON298_tree); + } + + + break; + case 3 : + // XQueryParser.g:709:11: PRECEDING_SIBLING COLON_COLON + root_0 = this.adaptor.nil(); + + PRECEDING_SIBLING299=this.match(this.input,PRECEDING_SIBLING,XQueryParser.FOLLOW_PRECEDING_SIBLING_in_p_ReverseAxis6285); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PRECEDING_SIBLING299_tree = this.adaptor.create(PRECEDING_SIBLING299); + this.adaptor.addChild(root_0, PRECEDING_SIBLING299_tree); + } + COLON_COLON300=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6287); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON300_tree = this.adaptor.create(COLON_COLON300); + this.adaptor.addChild(root_0, COLON_COLON300_tree); + } + + + break; + case 4 : + // XQueryParser.g:710:11: PRECEDING COLON_COLON + root_0 = this.adaptor.nil(); + + PRECEDING301=this.match(this.input,PRECEDING,XQueryParser.FOLLOW_PRECEDING_in_p_ReverseAxis6299); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PRECEDING301_tree = this.adaptor.create(PRECEDING301); + this.adaptor.addChild(root_0, PRECEDING301_tree); + } + COLON_COLON302=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6301); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON302_tree = this.adaptor.create(COLON_COLON302); + this.adaptor.addChild(root_0, COLON_COLON302_tree); + } + + + break; + case 5 : + // XQueryParser.g:711:11: ANCESTOR_OR_SELF COLON_COLON + root_0 = this.adaptor.nil(); + + ANCESTOR_OR_SELF303=this.match(this.input,ANCESTOR_OR_SELF,XQueryParser.FOLLOW_ANCESTOR_OR_SELF_in_p_ReverseAxis6313); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ANCESTOR_OR_SELF303_tree = this.adaptor.create(ANCESTOR_OR_SELF303); + this.adaptor.addChild(root_0, ANCESTOR_OR_SELF303_tree); + } + COLON_COLON304=this.match(this.input,COLON_COLON,XQueryParser.FOLLOW_COLON_COLON_in_p_ReverseAxis6315); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON_COLON304_tree = this.adaptor.create(COLON_COLON304); + this.adaptor.addChild(root_0, COLON_COLON304_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AbbrevReverseStep_return: (function() { + XQueryParser.p_AbbrevReverseStep_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AbbrevReverseStep_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:715:1: p_AbbrevReverseStep : DOT_DOT ; + // $ANTLR start "p_AbbrevReverseStep" + p_AbbrevReverseStep: function() { + var retval = new XQueryParser.p_AbbrevReverseStep_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOT_DOT305 = null; + + var DOT_DOT305_tree=null; + + try { + // XQueryParser.g:716:9: ( DOT_DOT ) + // XQueryParser.g:716:11: DOT_DOT + root_0 = this.adaptor.nil(); + + DOT_DOT305=this.match(this.input,DOT_DOT,XQueryParser.FOLLOW_DOT_DOT_in_p_AbbrevReverseStep6341); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOT_DOT305_tree = this.adaptor.create(DOT_DOT305); + this.adaptor.addChild(root_0, DOT_DOT305_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeTest_return: (function() { + XQueryParser.p_NodeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:720:1: p_NodeTest : ( p_KindTest | p_NameTest ); + // $ANTLR start "p_NodeTest" + p_NodeTest: function() { + var retval = new XQueryParser.p_NodeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_KindTest306 = null; + var p_NameTest307 = null; + + + try { + // XQueryParser.g:721:9: ( p_KindTest | p_NameTest ) + var alt119=2; + alt119 = this.dfa119.predict(this.input); + switch (alt119) { + case 1 : + // XQueryParser.g:721:11: p_KindTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_NodeTest6367); + p_KindTest306=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_KindTest306.getTree()); + + + break; + case 2 : + // XQueryParser.g:721:24: p_NameTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_NodeTest6371); + p_NameTest307=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest307.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NameTest_return: (function() { + XQueryParser.p_NameTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NameTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:725:1: p_NameTest : ( p_QName | p_Wildcard ); + // $ANTLR start "p_NameTest" + p_NameTest: function() { + var retval = new XQueryParser.p_NameTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName308 = null; + var p_Wildcard309 = null; + + + try { + // XQueryParser.g:726:9: ( p_QName | p_Wildcard ) + var alt120=2; + var LA120_0 = this.input.LA(1); + + if ( ((LA120_0>=ANCESTOR && LA120_0<=EXIT)||(LA120_0>=SEQUENTIAL && LA120_0<=MAINTAINED)||(LA120_0>=MUTABLE && LA120_0<=QUOT_ER)||LA120_0==L_NCName||LA120_0==EXPLICITLY) ) { + var LA120_1 = this.input.LA(2); + + if ( (LA120_1==COLON) ) { + var LA120_3 = this.input.LA(3); + + if ( (LA120_3==STAR) ) { + alt120=2; + } + else if ( ((LA120_3>=ANCESTOR && LA120_3<=EXIT)||(LA120_3>=SEQUENTIAL && LA120_3<=MAINTAINED)||(LA120_3>=MUTABLE && LA120_3<=QUOT_ER)||LA120_3==L_NCName||LA120_3==EXPLICITLY) ) { + alt120=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 3, this.input); + + throw nvae; + } + } + else if ( (LA120_1==EOF||(LA120_1>=AND && LA120_1<=ASCENDING)||(LA120_1>=BY && LA120_1<=CASTABLE)||LA120_1==COLLATION||LA120_1==DEFAULT||(LA120_1>=DESCENDING && LA120_1<=DIV)||(LA120_1>=ELSE && LA120_1<=EMPTY)||LA120_1==EQ||LA120_1==EXCEPT||LA120_1==FOR||LA120_1==GE||(LA120_1>=GT && LA120_1<=IDIV)||(LA120_1>=INSTANCE && LA120_1<=IS)||LA120_1==LE||(LA120_1>=LT && LA120_1<=MOD)||LA120_1==NE||(LA120_1>=OR && LA120_1<=ORDER)||(LA120_1>=RETURN && LA120_1<=SATISFIES)||LA120_1==STABLE||(LA120_1>=TO && LA120_1<=TREAT)||LA120_1==UNION||LA120_1==WHERE||LA120_1==COUNT||(LA120_1>=END && LA120_1<=GROUP)||LA120_1==ONLY||LA120_1==START||(LA120_1>=AFTER && LA120_1<=BEFORE)||LA120_1==INTO||LA120_1==MODIFY||LA120_1==WITH||(LA120_1>=LPAREN && LA120_1<=RPAREN)||(LA120_1>=LBRACKET && LA120_1<=EQUAL)||LA120_1==NOTEQUAL||LA120_1==COMMA||(LA120_1>=STAR && LA120_1<=SLASH_SLASH)||(LA120_1>=SEMICOLON && LA120_1<=VBAR)||LA120_1==LETDOLLAR) ) { + alt120=1; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 1, this.input); + + throw nvae; + } + } + else if ( (LA120_0==STAR) ) { + alt120=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 120, 0, this.input); + + throw nvae; + } + switch (alt120) { + case 1 : + // XQueryParser.g:726:11: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_NameTest6397); + p_QName308=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName308.getTree()); + + + break; + case 2 : + // XQueryParser.g:726:21: p_Wildcard + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Wildcard_in_p_NameTest6401); + p_Wildcard309=this.p_Wildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Wildcard309.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Wildcard_return: (function() { + XQueryParser.p_Wildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Wildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:730:1: p_Wildcard : ( STAR ( COLON p_NCName )? | ( p_NCName COLON STAR ) ); + // $ANTLR start "p_Wildcard" + p_Wildcard: function() { + var retval = new XQueryParser.p_Wildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR310 = null; + var COLON311 = null; + var COLON314 = null; + var STAR315 = null; + var p_NCName312 = null; + var p_NCName313 = null; + + var STAR310_tree=null; + var COLON311_tree=null; + var COLON314_tree=null; + var STAR315_tree=null; + + try { + // XQueryParser.g:731:9: ( STAR ( COLON p_NCName )? | ( p_NCName COLON STAR ) ) + var alt122=2; + var LA122_0 = this.input.LA(1); + + if ( (LA122_0==STAR) ) { + alt122=1; + } + else if ( ((LA122_0>=ANCESTOR && LA122_0<=EXIT)||(LA122_0>=SEQUENTIAL && LA122_0<=MAINTAINED)||(LA122_0>=MUTABLE && LA122_0<=QUOT_ER)||LA122_0==L_NCName||LA122_0==EXPLICITLY) ) { + alt122=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 122, 0, this.input); + + throw nvae; + } + switch (alt122) { + case 1 : + // XQueryParser.g:731:11: STAR ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + STAR310=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_Wildcard6427); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR310_tree = this.adaptor.create(STAR310); + this.adaptor.addChild(root_0, STAR310_tree); + } + // XQueryParser.g:731:16: ( COLON p_NCName )? + var alt121=2; + var LA121_0 = this.input.LA(1); + + if ( (LA121_0==COLON) ) { + alt121=1; + } + switch (alt121) { + case 1 : + // XQueryParser.g:731:17: COLON p_NCName + COLON311=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_Wildcard6430); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON311_tree = this.adaptor.create(COLON311); + this.adaptor.addChild(root_0, COLON311_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_Wildcard6432); + p_NCName312=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName312.getTree()); + + + break; + + } + + + + break; + case 2 : + // XQueryParser.g:731:36: ( p_NCName COLON STAR ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:731:36: ( p_NCName COLON STAR ) + // XQueryParser.g:731:37: p_NCName COLON STAR + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_Wildcard6439); + p_NCName313=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName313.getTree()); + COLON314=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_Wildcard6441); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON314_tree = this.adaptor.create(COLON314); + this.adaptor.addChild(root_0, COLON314_tree); + } + STAR315=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_Wildcard6443); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR315_tree = this.adaptor.create(STAR315); + this.adaptor.addChild(root_0, STAR315_tree); + } + + + + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FilterExpr_return: (function() { + XQueryParser.p_FilterExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FilterExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:736:1: p_FilterExpr : p_PrimaryExpr p_PredicateList ; + // $ANTLR start "p_FilterExpr" + p_FilterExpr: function() { + var retval = new XQueryParser.p_FilterExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PrimaryExpr316 = null; + var p_PredicateList317 = null; + + + try { + // XQueryParser.g:737:9: ( p_PrimaryExpr p_PredicateList ) + // XQueryParser.g:737:13: p_PrimaryExpr p_PredicateList + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PrimaryExpr_in_p_FilterExpr6479); + p_PrimaryExpr316=this.p_PrimaryExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PrimaryExpr316.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_PredicateList_in_p_FilterExpr6481); + p_PredicateList317=this.p_PredicateList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PredicateList317.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PredicateList_return: (function() { + XQueryParser.p_PredicateList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PredicateList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:741:1: p_PredicateList : ( p_Predicate )* ; + // $ANTLR start "p_PredicateList" + p_PredicateList: function() { + var retval = new XQueryParser.p_PredicateList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Predicate318 = null; + + + try { + // XQueryParser.g:742:9: ( ( p_Predicate )* ) + // XQueryParser.g:742:13: ( p_Predicate )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:742:13: ( p_Predicate )* + loop123: + do { + var alt123=2; + var LA123_0 = this.input.LA(1); + + if ( (LA123_0==LSQUARE) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // XQueryParser.g:742:13: p_Predicate + this.pushFollow(XQueryParser.FOLLOW_p_Predicate_in_p_PredicateList6509); + p_Predicate318=this.p_Predicate(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Predicate318.getTree()); + + + break; + + default : + break loop123; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Predicate_return: (function() { + XQueryParser.p_Predicate_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Predicate_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:746:1: p_Predicate : LSQUARE pm_Expr RSQUARE ; + // $ANTLR start "p_Predicate" + p_Predicate: function() { + var retval = new XQueryParser.p_Predicate_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LSQUARE319 = null; + var RSQUARE321 = null; + var pm_Expr320 = null; + + var LSQUARE319_tree=null; + var RSQUARE321_tree=null; + + try { + // XQueryParser.g:747:9: ( LSQUARE pm_Expr RSQUARE ) + // XQueryParser.g:747:13: LSQUARE pm_Expr RSQUARE + root_0 = this.adaptor.nil(); + + LSQUARE319=this.match(this.input,LSQUARE,XQueryParser.FOLLOW_LSQUARE_in_p_Predicate6538); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LSQUARE319_tree = this.adaptor.create(LSQUARE319); + this.adaptor.addChild(root_0, LSQUARE319_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_Predicate6540); + pm_Expr320=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr320.getTree()); + RSQUARE321=this.match(this.input,RSQUARE,XQueryParser.FOLLOW_RSQUARE_in_p_Predicate6542); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RSQUARE321_tree = this.adaptor.create(RSQUARE321); + this.adaptor.addChild(root_0, RSQUARE321_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PrimaryExpr_return: (function() { + XQueryParser.p_PrimaryExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PrimaryExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:751:1: p_PrimaryExpr : ( p_Literal | p_VarRef | p_ParenthesizedExpr | p_ContextItemExpr | p_FunctionCall | p_OrderedExpr | p_UnorderedExpr | p_Constructor ); + // $ANTLR start "p_PrimaryExpr" + p_PrimaryExpr: function() { + var retval = new XQueryParser.p_PrimaryExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Literal322 = null; + var p_VarRef323 = null; + var p_ParenthesizedExpr324 = null; + var p_ContextItemExpr325 = null; + var p_FunctionCall326 = null; + var p_OrderedExpr327 = null; + var p_UnorderedExpr328 = null; + var p_Constructor329 = null; + + + try { + // XQueryParser.g:752:9: ( p_Literal | p_VarRef | p_ParenthesizedExpr | p_ContextItemExpr | p_FunctionCall | p_OrderedExpr | p_UnorderedExpr | p_Constructor ) + var alt124=8; + alt124 = this.dfa124.predict(this.input); + switch (alt124) { + case 1 : + // XQueryParser.g:752:13: p_Literal + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Literal_in_p_PrimaryExpr6570); + p_Literal322=this.p_Literal(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Literal322.getTree()); + + + break; + case 2 : + // XQueryParser.g:753:11: p_VarRef + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_VarRef_in_p_PrimaryExpr6582); + p_VarRef323=this.p_VarRef(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarRef323.getTree()); + + + break; + case 3 : + // XQueryParser.g:754:11: p_ParenthesizedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ParenthesizedExpr_in_p_PrimaryExpr6594); + p_ParenthesizedExpr324=this.p_ParenthesizedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ParenthesizedExpr324.getTree()); + + + break; + case 4 : + // XQueryParser.g:755:11: p_ContextItemExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ContextItemExpr_in_p_PrimaryExpr6606); + p_ContextItemExpr325=this.p_ContextItemExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ContextItemExpr325.getTree()); + + + break; + case 5 : + // XQueryParser.g:756:11: p_FunctionCall + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FunctionCall_in_p_PrimaryExpr6618); + p_FunctionCall326=this.p_FunctionCall(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FunctionCall326.getTree()); + + + break; + case 6 : + // XQueryParser.g:757:11: p_OrderedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_OrderedExpr_in_p_PrimaryExpr6630); + p_OrderedExpr327=this.p_OrderedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OrderedExpr327.getTree()); + + + break; + case 7 : + // XQueryParser.g:758:11: p_UnorderedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_UnorderedExpr_in_p_PrimaryExpr6642); + p_UnorderedExpr328=this.p_UnorderedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UnorderedExpr328.getTree()); + + + break; + case 8 : + // XQueryParser.g:759:11: p_Constructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Constructor_in_p_PrimaryExpr6654); + p_Constructor329=this.p_Constructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Constructor329.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Literal_return: (function() { + XQueryParser.p_Literal_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Literal_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:763:1: p_Literal : ( p_NumericLiteral | p_StringLiteral ); + // $ANTLR start "p_Literal" + p_Literal: function() { + var retval = new XQueryParser.p_Literal_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_NumericLiteral330 = null; + var p_StringLiteral331 = null; + + + try { + // XQueryParser.g:764:9: ( p_NumericLiteral | p_StringLiteral ) + var alt125=2; + var LA125_0 = this.input.LA(1); + + if ( ((LA125_0>=L_IntegerLiteral && LA125_0<=L_DoubleLiteral)) ) { + alt125=1; + } + else if ( ((LA125_0>=APOS && LA125_0<=QUOT)) ) { + alt125=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 125, 0, this.input); + + throw nvae; + } + switch (alt125) { + case 1 : + // XQueryParser.g:764:13: p_NumericLiteral + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NumericLiteral_in_p_Literal6682); + p_NumericLiteral330=this.p_NumericLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NumericLiteral330.getTree()); + + + break; + case 2 : + // XQueryParser.g:764:32: p_StringLiteral + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_Literal6686); + p_StringLiteral331=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral331.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NumericLiteral_return: (function() { + XQueryParser.p_NumericLiteral_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NumericLiteral_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:768:1: p_NumericLiteral : ( L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral ); + // $ANTLR start "p_NumericLiteral" + p_NumericLiteral: function() { + var retval = new XQueryParser.p_NumericLiteral_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set332 = null; + + var set332_tree=null; + + try { + // XQueryParser.g:769:9: ( L_IntegerLiteral | L_DecimalLiteral | L_DoubleLiteral ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set332=this.input.LT(1); + if ( (this.input.LA(1)>=L_IntegerLiteral && this.input.LA(1)<=L_DoubleLiteral) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set332)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VarRef_return: (function() { + XQueryParser.p_VarRef_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VarRef_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:773:1: p_VarRef : DOLLAR p_VarName ; + // $ANTLR start "p_VarRef" + p_VarRef: function() { + var retval = new XQueryParser.p_VarRef_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR333 = null; + var p_VarName334 = null; + + var DOLLAR333_tree=null; + + try { + // XQueryParser.g:774:9: ( DOLLAR p_VarName ) + // XQueryParser.g:774:13: DOLLAR p_VarName + root_0 = this.adaptor.nil(); + + DOLLAR333=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_VarRef6758); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR333_tree = this.adaptor.create(DOLLAR333); + this.adaptor.addChild(root_0, DOLLAR333_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_VarRef6760); + p_VarName334=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName334.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_VarName_return: (function() { + XQueryParser.p_VarName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_VarName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:778:1: p_VarName : p_QName ; + // $ANTLR start "p_VarName" + p_VarName: function() { + var retval = new XQueryParser.p_VarName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName335 = null; + + + try { + // XQueryParser.g:779:9: ( p_QName ) + // XQueryParser.g:779:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_VarName6788); + p_QName335=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName335.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ParenthesizedExpr_return: (function() { + XQueryParser.p_ParenthesizedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ParenthesizedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:783:1: p_ParenthesizedExpr : LPAREN ( pm_Expr )? RPAREN ; + // $ANTLR start "p_ParenthesizedExpr" + p_ParenthesizedExpr: function() { + var retval = new XQueryParser.p_ParenthesizedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN336 = null; + var RPAREN338 = null; + var pm_Expr337 = null; + + var LPAREN336_tree=null; + var RPAREN338_tree=null; + + try { + // XQueryParser.g:784:9: ( LPAREN ( pm_Expr )? RPAREN ) + // XQueryParser.g:784:13: LPAREN ( pm_Expr )? RPAREN + root_0 = this.adaptor.nil(); + + LPAREN336=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ParenthesizedExpr6816); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN336_tree = this.adaptor.create(LPAREN336); + this.adaptor.addChild(root_0, LPAREN336_tree); + } + // XQueryParser.g:784:20: ( pm_Expr )? + var alt126=2; + var LA126_0 = this.input.LA(1); + + if ( ((LA126_0>=ANCESTOR && LA126_0<=EXIT)||(LA126_0>=SEQUENTIAL && LA126_0<=MAINTAINED)||(LA126_0>=MUTABLE && LA126_0<=LPAREN)||LA126_0==DOLLAR||(LA126_0>=STAR && LA126_0<=SMALLER)||(LA126_0>=SLASH && LA126_0<=DOT_DOT)||LA126_0==ATTR_SIGN||(LA126_0>=APOS && LA126_0<=QUOT)||LA126_0==L_NCName||(LA126_0>=L_Pragma && LA126_0<=L_DoubleLiteral)||(LA126_0>=LETDOLLAR && LA126_0<=EXPLICITLY)) ) { + alt126=1; + } + switch (alt126) { + case 1 : + // XQueryParser.g:784:20: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ParenthesizedExpr6818); + pm_Expr337=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr337.getTree()); + + + break; + + } + + RPAREN338=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ParenthesizedExpr6821); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN338_tree = this.adaptor.create(RPAREN338); + this.adaptor.addChild(root_0, RPAREN338_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ContextItemExpr_return: (function() { + XQueryParser.p_ContextItemExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ContextItemExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:788:1: p_ContextItemExpr : DOT ; + // $ANTLR start "p_ContextItemExpr" + p_ContextItemExpr: function() { + var retval = new XQueryParser.p_ContextItemExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOT339 = null; + + var DOT339_tree=null; + + try { + // XQueryParser.g:789:9: ( DOT ) + // XQueryParser.g:789:13: DOT + root_0 = this.adaptor.nil(); + + DOT339=this.match(this.input,DOT,XQueryParser.FOLLOW_DOT_in_p_ContextItemExpr6849); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOT339_tree = this.adaptor.create(DOT339); + this.adaptor.addChild(root_0, DOT339_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OrderedExpr_return: (function() { + XQueryParser.p_OrderedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OrderedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:793:1: p_OrderedExpr : k= ORDERED LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_OrderedExpr" + p_OrderedExpr: function() { + var retval = new XQueryParser.p_OrderedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET340 = null; + var RBRACKET342 = null; + var pm_Expr341 = null; + + var k_tree=null; + var LBRACKET340_tree=null; + var RBRACKET342_tree=null; + + try { + // XQueryParser.g:794:9: (k= ORDERED LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:794:13: k= ORDERED LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_p_OrderedExpr6879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET340=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_OrderedExpr6882); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET340_tree = this.adaptor.create(LBRACKET340); + this.adaptor.addChild(root_0, LBRACKET340_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_OrderedExpr6884); + pm_Expr341=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr341.getTree()); + RBRACKET342=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_OrderedExpr6886); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET342_tree = this.adaptor.create(RBRACKET342); + this.adaptor.addChild(root_0, RBRACKET342_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UnorderedExpr_return: (function() { + XQueryParser.p_UnorderedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UnorderedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:798:1: p_UnorderedExpr : k= UNORDERED LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_UnorderedExpr" + p_UnorderedExpr: function() { + var retval = new XQueryParser.p_UnorderedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET343 = null; + var RBRACKET345 = null; + var pm_Expr344 = null; + + var k_tree=null; + var LBRACKET343_tree=null; + var RBRACKET345_tree=null; + + try { + // XQueryParser.g:799:9: (k= UNORDERED LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:799:13: k= UNORDERED LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_p_UnorderedExpr6916); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET343=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_UnorderedExpr6919); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET343_tree = this.adaptor.create(LBRACKET343); + this.adaptor.addChild(root_0, LBRACKET343_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_UnorderedExpr6921); + pm_Expr344=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr344.getTree()); + RBRACKET345=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_UnorderedExpr6923); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET345_tree = this.adaptor.create(RBRACKET345); + this.adaptor.addChild(root_0, RBRACKET345_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FunctionCall_return: (function() { + XQueryParser.p_FunctionCall_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FunctionCall_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:804:1: p_FunctionCall : p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN ; + // $ANTLR start "p_FunctionCall" + p_FunctionCall: function() { + var retval = new XQueryParser.p_FunctionCall_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN347 = null; + var COMMA349 = null; + var RPAREN351 = null; + var p_FQName346 = null; + var p_ExprSingle348 = null; + var p_ExprSingle350 = null; + + var LPAREN347_tree=null; + var COMMA349_tree=null; + var RPAREN351_tree=null; + + try { + // XQueryParser.g:805:9: ( p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN ) + // XQueryParser.g:805:13: p_FQName LPAREN ( p_ExprSingle ( COMMA p_ExprSingle )* )? RPAREN + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FQName_in_p_FunctionCall6952); + p_FQName346=this.p_FQName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FQName346.getTree()); + LPAREN347=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_FunctionCall6954); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN347_tree = this.adaptor.create(LPAREN347); + this.adaptor.addChild(root_0, LPAREN347_tree); + } + // XQueryParser.g:805:29: ( p_ExprSingle ( COMMA p_ExprSingle )* )? + var alt128=2; + var LA128_0 = this.input.LA(1); + + if ( ((LA128_0>=ANCESTOR && LA128_0<=EXIT)||(LA128_0>=SEQUENTIAL && LA128_0<=MAINTAINED)||(LA128_0>=MUTABLE && LA128_0<=LPAREN)||LA128_0==DOLLAR||(LA128_0>=STAR && LA128_0<=SMALLER)||(LA128_0>=SLASH && LA128_0<=DOT_DOT)||LA128_0==ATTR_SIGN||(LA128_0>=APOS && LA128_0<=QUOT)||LA128_0==L_NCName||(LA128_0>=L_Pragma && LA128_0<=L_DoubleLiteral)||(LA128_0>=LETDOLLAR && LA128_0<=EXPLICITLY)) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // XQueryParser.g:805:30: p_ExprSingle ( COMMA p_ExprSingle )* + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_FunctionCall6957); + p_ExprSingle348=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle348.getTree()); + // XQueryParser.g:805:43: ( COMMA p_ExprSingle )* + loop127: + do { + var alt127=2; + var LA127_0 = this.input.LA(1); + + if ( (LA127_0==COMMA) ) { + alt127=1; + } + + + switch (alt127) { + case 1 : + // XQueryParser.g:805:44: COMMA p_ExprSingle + COMMA349=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_FunctionCall6960); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA349_tree = this.adaptor.create(COMMA349); + this.adaptor.addChild(root_0, COMMA349_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_FunctionCall6962); + p_ExprSingle350=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle350.getTree()); + + + break; + + default : + break loop127; + } + } while (true); + + + + break; + + } + + RPAREN351=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_FunctionCall6968); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN351_tree = this.adaptor.create(RPAREN351); + this.adaptor.addChild(root_0, RPAREN351_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Constructor_return: (function() { + XQueryParser.p_Constructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Constructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:809:1: p_Constructor : ( p_DirectConstructor | p_ComputedConstructor ); + // $ANTLR start "p_Constructor" + p_Constructor: function() { + var retval = new XQueryParser.p_Constructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_DirectConstructor352 = null; + var p_ComputedConstructor353 = null; + + + try { + // XQueryParser.g:810:9: ( p_DirectConstructor | p_ComputedConstructor ) + var alt129=2; + var LA129_0 = this.input.LA(1); + + if ( (LA129_0==SMALLER||(LA129_0>=L_DirCommentConstructor && LA129_0<=L_DirPIConstructor)) ) { + alt129=1; + } + else if ( (LA129_0==ATTRIBUTE||LA129_0==COMMENT||LA129_0==DOCUMENT||LA129_0==ELEMENT||LA129_0==NAMESPACE||LA129_0==PROCESSING_INSTRUCTION||LA129_0==TEXT) ) { + alt129=2; + } + else if ( (LA129_0==BINARY) && ((false))) { + alt129=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 129, 0, this.input); + + throw nvae; + } + switch (alt129) { + case 1 : + // XQueryParser.g:810:13: p_DirectConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirectConstructor_in_p_Constructor7000); + p_DirectConstructor352=this.p_DirectConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirectConstructor352.getTree()); + + + break; + case 2 : + // XQueryParser.g:810:35: p_ComputedConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ComputedConstructor_in_p_Constructor7004); + p_ComputedConstructor353=this.p_ComputedConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ComputedConstructor353.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirectConstructor_return: (function() { + XQueryParser.p_DirectConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirectConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:814:1: p_DirectConstructor : ( p_DirElemConstructor | L_DirCommentConstructor | L_DirPIConstructor ); + // $ANTLR start "p_DirectConstructor" + p_DirectConstructor: function() { + var retval = new XQueryParser.p_DirectConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_DirCommentConstructor355 = null; + var L_DirPIConstructor356 = null; + var p_DirElemConstructor354 = null; + + var L_DirCommentConstructor355_tree=null; + var L_DirPIConstructor356_tree=null; + + try { + // XQueryParser.g:815:9: ( p_DirElemConstructor | L_DirCommentConstructor | L_DirPIConstructor ) + var alt130=3; + switch ( this.input.LA(1) ) { + case SMALLER: + alt130=1; + break; + case L_DirCommentConstructor: + alt130=2; + break; + case L_DirPIConstructor: + alt130=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 130, 0, this.input); + + throw nvae; + } + + switch (alt130) { + case 1 : + // XQueryParser.g:815:13: p_DirElemConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirElemConstructor_in_p_DirectConstructor7032); + p_DirElemConstructor354=this.p_DirElemConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirElemConstructor354.getTree()); + + + break; + case 2 : + // XQueryParser.g:816:11: L_DirCommentConstructor + root_0 = this.adaptor.nil(); + + L_DirCommentConstructor355=this.match(this.input,L_DirCommentConstructor,XQueryParser.FOLLOW_L_DirCommentConstructor_in_p_DirectConstructor7044); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_DirCommentConstructor355_tree = this.adaptor.create(L_DirCommentConstructor355); + this.adaptor.addChild(root_0, L_DirCommentConstructor355_tree); + } + + + break; + case 3 : + // XQueryParser.g:817:11: L_DirPIConstructor + root_0 = this.adaptor.nil(); + + L_DirPIConstructor356=this.match(this.input,L_DirPIConstructor,XQueryParser.FOLLOW_L_DirPIConstructor_in_p_DirectConstructor7056); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_DirPIConstructor356_tree = this.adaptor.create(L_DirPIConstructor356); + this.adaptor.addChild(root_0, L_DirPIConstructor356_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirElemConstructor_return: (function() { + XQueryParser.p_DirElemConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirElemConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:821:1: p_DirElemConstructor : SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) ; + // $ANTLR start "p_DirElemConstructor" + p_DirElemConstructor: function() { + var retval = new XQueryParser.p_DirElemConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SMALLER357 = null; + var EMPTY_CLOSE_TAG360 = null; + var GREATER361 = null; + var CLOSE_TAG363 = null; + var S365 = null; + var GREATER366 = null; + var p_QName358 = null; + var p_DirAttributeList359 = null; + var pm_DirElemContent362 = null; + var p_QName364 = null; + + var SMALLER357_tree=null; + var EMPTY_CLOSE_TAG360_tree=null; + var GREATER361_tree=null; + var CLOSE_TAG363_tree=null; + var S365_tree=null; + var GREATER366_tree=null; + var stream_CLOSE_TAG=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token CLOSE_TAG"); + var stream_GREATER=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token GREATER"); + var stream_S=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token S"); + var stream_EMPTY_CLOSE_TAG=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EMPTY_CLOSE_TAG"); + var stream_SMALLER=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SMALLER"); + var stream_p_DirAttributeList=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_DirAttributeList"); + var stream_pm_DirElemContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_DirElemContent"); + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:822:9: ( SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) ) + // XQueryParser.g:822:13: SMALLER p_QName p_DirAttributeList ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) + SMALLER357=this.match(this.input,SMALLER,XQueryParser.FOLLOW_SMALLER_in_p_DirElemConstructor7084); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SMALLER.add(SMALLER357); + + if ( this.state.backtracking===0 ) { + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirElemConstructor7100); + p_QName358=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName358.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_DirAttributeList_in_p_DirElemConstructor7102); + p_DirAttributeList359=this.p_DirAttributeList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_DirAttributeList.add(p_DirAttributeList359.getTree()); + // XQueryParser.g:824:13: ( EMPTY_CLOSE_TAG | ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) ) + var alt133=2; + var LA133_0 = this.input.LA(1); + + if ( (LA133_0==EMPTY_CLOSE_TAG) ) { + alt133=1; + } + else if ( (LA133_0==GREATER) ) { + alt133=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 133, 0, this.input); + + throw nvae; + } + switch (alt133) { + case 1 : + // XQueryParser.g:824:14: EMPTY_CLOSE_TAG + EMPTY_CLOSE_TAG360=this.match(this.input,EMPTY_CLOSE_TAG,XQueryParser.FOLLOW_EMPTY_CLOSE_TAG_in_p_DirElemConstructor7118); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EMPTY_CLOSE_TAG.add(EMPTY_CLOSE_TAG360); + + + + break; + case 2 : + // XQueryParser.g:824:32: ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) + // XQueryParser.g:824:32: ( GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER ) + // XQueryParser.g:824:33: GREATER ( pm_DirElemContent )* CLOSE_TAG p_QName ( S )? GREATER + GREATER361=this.match(this.input,GREATER,XQueryParser.FOLLOW_GREATER_in_p_DirElemConstructor7123); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_GREATER.add(GREATER361); + + // XQueryParser.g:824:41: ( pm_DirElemContent )* + loop131: + do { + var alt131=2; + var LA131_0 = this.input.LA(1); + + if ( ((LA131_0>=L_ElementContentChar && LA131_0<=ESCAPE_RBRACKET)||LA131_0==LBRACKET||LA131_0==SMALLER||(LA131_0>=L_DirCommentConstructor && LA131_0<=L_DirPIConstructor)) ) { + alt131=1; + } + + + switch (alt131) { + case 1 : + // XQueryParser.g:824:41: pm_DirElemContent + this.pushFollow(XQueryParser.FOLLOW_pm_DirElemContent_in_p_DirElemConstructor7125); + pm_DirElemContent362=this.pm_DirElemContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_DirElemContent.add(pm_DirElemContent362.getTree()); + + + break; + + default : + break loop131; + } + } while (true); + + CLOSE_TAG363=this.match(this.input,CLOSE_TAG,XQueryParser.FOLLOW_CLOSE_TAG_in_p_DirElemConstructor7128); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_CLOSE_TAG.add(CLOSE_TAG363); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirElemConstructor7130); + p_QName364=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName364.getTree()); + // XQueryParser.g:824:78: ( S )? + var alt132=2; + var LA132_0 = this.input.LA(1); + + if ( (LA132_0==S) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // XQueryParser.g:824:78: S + S365=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirElemConstructor7132); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_S.add(S365); + + + + break; + + } + + GREATER366=this.match(this.input,GREATER,XQueryParser.FOLLOW_GREATER_in_p_DirElemConstructor7135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_GREATER.add(GREATER366); + + + + + + + break; + + } + + + + // AST REWRITE + // elements: p_DirAttributeList, pm_DirElemContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 825:17: -> ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) + { + // XQueryParser.g:825:20: ^( DirElemConstructor ^( DirAttributeList ( p_DirAttributeList )* ) ^( DirElemContent ( pm_DirElemContent )* ) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirElemConstructor, "DirElemConstructor"), root_1); + + // XQueryParser.g:825:41: ^( DirAttributeList ( p_DirAttributeList )* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeList, "DirAttributeList"), root_2); + + // XQueryParser.g:825:60: ( p_DirAttributeList )* + while ( stream_p_DirAttributeList.hasNext() ) { + this.adaptor.addChild(root_2, stream_p_DirAttributeList.nextTree()); + + } + stream_p_DirAttributeList.reset(); + + this.adaptor.addChild(root_1, root_2); + } + // XQueryParser.g:825:81: ^( DirElemContent ( pm_DirElemContent )* ) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(DirElemContent, "DirElemContent"), root_2); + + // XQueryParser.g:825:98: ( pm_DirElemContent )* + while ( stream_pm_DirElemContent.hasNext() ) { + this.adaptor.addChild(root_2, stream_pm_DirElemContent.nextTree()); + + } + stream_pm_DirElemContent.reset(); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirAttributeList_return: (function() { + XQueryParser.p_DirAttributeList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirAttributeList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:830:1: p_DirAttributeList : ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* ; + // $ANTLR start "p_DirAttributeList" + p_DirAttributeList: function() { + var retval = new XQueryParser.p_DirAttributeList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var S367 = null; + var S369 = null; + var EQUAL370 = null; + var S371 = null; + var p_QName368 = null; + var p_DirAttributeValue372 = null; + + var S367_tree=null; + var S369_tree=null; + var EQUAL370_tree=null; + var S371_tree=null; + + try { + // XQueryParser.g:831:9: ( ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* ) + // XQueryParser.g:831:11: ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:831:11: ( S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? )* + loop137: + do { + var alt137=2; + var LA137_0 = this.input.LA(1); + + if ( (LA137_0==S) ) { + alt137=1; + } + + + switch (alt137) { + case 1 : + // XQueryParser.g:831:12: S ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? + S367=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7212); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S367_tree = this.adaptor.create(S367); + this.adaptor.addChild(root_0, S367_tree); + } + // XQueryParser.g:831:14: ( p_QName ( S )? EQUAL ( S )? p_DirAttributeValue )? + var alt136=2; + var LA136_0 = this.input.LA(1); + + if ( ((LA136_0>=ANCESTOR && LA136_0<=EXIT)||(LA136_0>=SEQUENTIAL && LA136_0<=MAINTAINED)||(LA136_0>=MUTABLE && LA136_0<=QUOT_ER)||LA136_0==L_NCName||LA136_0==EXPLICITLY) ) { + alt136=1; + } + switch (alt136) { + case 1 : + // XQueryParser.g:831:15: p_QName ( S )? EQUAL ( S )? p_DirAttributeValue + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_DirAttributeList7215); + p_QName368=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName368.getTree()); + // XQueryParser.g:831:23: ( S )? + var alt134=2; + var LA134_0 = this.input.LA(1); + + if ( (LA134_0==S) ) { + alt134=1; + } + switch (alt134) { + case 1 : + // XQueryParser.g:831:23: S + S369=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7217); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S369_tree = this.adaptor.create(S369); + this.adaptor.addChild(root_0, S369_tree); + } + + + break; + + } + + EQUAL370=this.match(this.input,EQUAL,XQueryParser.FOLLOW_EQUAL_in_p_DirAttributeList7220); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + EQUAL370_tree = this.adaptor.create(EQUAL370); + this.adaptor.addChild(root_0, EQUAL370_tree); + } + // XQueryParser.g:831:32: ( S )? + var alt135=2; + var LA135_0 = this.input.LA(1); + + if ( (LA135_0==S) ) { + alt135=1; + } + switch (alt135) { + case 1 : + // XQueryParser.g:831:32: S + S371=this.match(this.input,S,XQueryParser.FOLLOW_S_in_p_DirAttributeList7222); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + S371_tree = this.adaptor.create(S371); + this.adaptor.addChild(root_0, S371_tree); + } + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_DirAttributeValue_in_p_DirAttributeList7225); + p_DirAttributeValue372=this.p_DirAttributeValue(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirAttributeValue372.getTree()); + + + break; + + } + + + + break; + + default : + break loop137; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DirAttributeValue_return: (function() { + XQueryParser.p_DirAttributeValue_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DirAttributeValue_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:835:1: p_DirAttributeValue : ( ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) | ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) ); + // $ANTLR start "p_DirAttributeValue" + p_DirAttributeValue: function() { + var retval = new XQueryParser.p_DirAttributeValue_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUOT373 = null; + var ESCAPE_QUOT374 = null; + var QUOT376 = null; + var APOS377 = null; + var ESCAPE_APOS378 = null; + var APOS380 = null; + var pm_QuotAttrValueContent375 = null; + var pm_AposAttrValueContent379 = null; + + var QUOT373_tree=null; + var ESCAPE_QUOT374_tree=null; + var QUOT376_tree=null; + var APOS377_tree=null; + var ESCAPE_APOS378_tree=null; + var APOS380_tree=null; + var stream_ESCAPE_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ESCAPE_QUOT"); + var stream_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token APOS"); + var stream_ESCAPE_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ESCAPE_APOS"); + var stream_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token QUOT"); + var stream_pm_QuotAttrValueContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_QuotAttrValueContent"); + var stream_pm_AposAttrValueContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_AposAttrValueContent"); + try { + // XQueryParser.g:836:9: ( ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) | ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) ) + var alt140=2; + var LA140_0 = this.input.LA(1); + + if ( (LA140_0==QUOT) ) { + alt140=1; + } + else if ( (LA140_0==APOS) ) { + alt140=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 140, 0, this.input); + + throw nvae; + } + switch (alt140) { + case 1 : + // XQueryParser.g:836:11: ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) + // XQueryParser.g:836:11: ( QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT ) + // XQueryParser.g:836:12: QUOT ( ESCAPE_QUOT | pm_QuotAttrValueContent )* QUOT + QUOT373=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_DirAttributeValue7256); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT373); + + // XQueryParser.g:836:17: ( ESCAPE_QUOT | pm_QuotAttrValueContent )* + loop138: + do { + var alt138=3; + var LA138_0 = this.input.LA(1); + + if ( (LA138_0==ESCAPE_QUOT) ) { + alt138=1; + } + else if ( (LA138_0==L_QuotAttrContentChar||(LA138_0>=L_PredefinedEntityRef && LA138_0<=ESCAPE_RBRACKET)||LA138_0==LBRACKET) ) { + alt138=2; + } + + + switch (alt138) { + case 1 : + // XQueryParser.g:836:18: ESCAPE_QUOT + ESCAPE_QUOT374=this.match(this.input,ESCAPE_QUOT,XQueryParser.FOLLOW_ESCAPE_QUOT_in_p_DirAttributeValue7259); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ESCAPE_QUOT.add(ESCAPE_QUOT374); + + + + break; + case 2 : + // XQueryParser.g:836:32: pm_QuotAttrValueContent + this.pushFollow(XQueryParser.FOLLOW_pm_QuotAttrValueContent_in_p_DirAttributeValue7263); + pm_QuotAttrValueContent375=this.pm_QuotAttrValueContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_QuotAttrValueContent.add(pm_QuotAttrValueContent375.getTree()); + + + break; + + default : + break loop138; + } + } while (true); + + QUOT376=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_DirAttributeValue7267); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT376); + + + + + + + // AST REWRITE + // elements: pm_QuotAttrValueContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 837:17: -> ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) + { + // XQueryParser.g:837:20: ^( DirAttributeValue ( pm_QuotAttrValueContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeValue, "DirAttributeValue"), root_1); + + // XQueryParser.g:837:40: ( pm_QuotAttrValueContent )* + while ( stream_pm_QuotAttrValueContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_pm_QuotAttrValueContent.nextTree()); + + } + stream_pm_QuotAttrValueContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:838:11: ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) + // XQueryParser.g:838:11: ( APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS ) + // XQueryParser.g:838:12: APOS ( ESCAPE_APOS | pm_AposAttrValueContent )* APOS + APOS377=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_DirAttributeValue7306); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS377); + + // XQueryParser.g:838:17: ( ESCAPE_APOS | pm_AposAttrValueContent )* + loop139: + do { + var alt139=3; + var LA139_0 = this.input.LA(1); + + if ( (LA139_0==ESCAPE_APOS) ) { + alt139=1; + } + else if ( (LA139_0==L_AposAttrContentChar||(LA139_0>=L_PredefinedEntityRef && LA139_0<=ESCAPE_RBRACKET)||LA139_0==LBRACKET) ) { + alt139=2; + } + + + switch (alt139) { + case 1 : + // XQueryParser.g:838:18: ESCAPE_APOS + ESCAPE_APOS378=this.match(this.input,ESCAPE_APOS,XQueryParser.FOLLOW_ESCAPE_APOS_in_p_DirAttributeValue7309); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ESCAPE_APOS.add(ESCAPE_APOS378); + + + + break; + case 2 : + // XQueryParser.g:838:32: pm_AposAttrValueContent + this.pushFollow(XQueryParser.FOLLOW_pm_AposAttrValueContent_in_p_DirAttributeValue7313); + pm_AposAttrValueContent379=this.pm_AposAttrValueContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_AposAttrValueContent.add(pm_AposAttrValueContent379.getTree()); + + + break; + + default : + break loop139; + } + } while (true); + + APOS380=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_DirAttributeValue7317); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS380); + + + + + + + // AST REWRITE + // elements: pm_AposAttrValueContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 839:17: -> ^( DirAttributeValue ( pm_AposAttrValueContent )* ) + { + // XQueryParser.g:839:20: ^( DirAttributeValue ( pm_AposAttrValueContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(DirAttributeValue, "DirAttributeValue"), root_1); + + // XQueryParser.g:839:40: ( pm_AposAttrValueContent )* + while ( stream_pm_AposAttrValueContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_pm_AposAttrValueContent.nextTree()); + + } + stream_pm_AposAttrValueContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_QuotAttrValueContent_return: (function() { + XQueryParser.pm_QuotAttrValueContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_QuotAttrValueContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:843:1: pm_QuotAttrValueContent : ( pg_QuotAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ); + // $ANTLR start "pm_QuotAttrValueContent" + pm_QuotAttrValueContent: function() { + var retval = new XQueryParser.pm_QuotAttrValueContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pg_QuotAttrContentChar381 = null; + var pg_CommonContent382 = null; + var p_ElemEnclosedExpr383 = null; + + + try { + // XQueryParser.g:844:9: ( pg_QuotAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ) + var alt141=3; + switch ( this.input.LA(1) ) { + case L_QuotAttrContentChar: + alt141=1; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt141=2; + break; + case LBRACKET: + alt141=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 141, 0, this.input); + + throw nvae; + } + + switch (alt141) { + case 1 : + // XQueryParser.g:844:11: pg_QuotAttrContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_QuotAttrContentChar_in_pm_QuotAttrValueContent7369); + pg_QuotAttrContentChar381=this.pg_QuotAttrContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_QuotAttrContentChar381.getTree()); + + + break; + case 2 : + // XQueryParser.g:844:36: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_QuotAttrValueContent7373); + pg_CommonContent382=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent382.getTree()); + + + break; + case 3 : + // XQueryParser.g:844:55: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_QuotAttrValueContent7377); + p_ElemEnclosedExpr383=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr383.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_QuotAttrContentChar_return: (function() { + XQueryParser.pg_QuotAttrContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_QuotAttrContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:851:1: pg_QuotAttrContentChar : L_QuotAttrContentChar -> ^( AttributeValueChar L_QuotAttrContentChar ) ; + // $ANTLR start "pg_QuotAttrContentChar" + pg_QuotAttrContentChar: function() { + var retval = new XQueryParser.pg_QuotAttrContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_QuotAttrContentChar384 = null; + + var L_QuotAttrContentChar384_tree=null; + var stream_L_QuotAttrContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_QuotAttrContentChar"); + + try { + // XQueryParser.g:852:9: ( L_QuotAttrContentChar -> ^( AttributeValueChar L_QuotAttrContentChar ) ) + // XQueryParser.g:852:11: L_QuotAttrContentChar + L_QuotAttrContentChar384=this.match(this.input,L_QuotAttrContentChar,XQueryParser.FOLLOW_L_QuotAttrContentChar_in_pg_QuotAttrContentChar7406); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_QuotAttrContentChar.add(L_QuotAttrContentChar384); + + + + // AST REWRITE + // elements: L_QuotAttrContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 853:17: -> ^( AttributeValueChar L_QuotAttrContentChar ) + { + // XQueryParser.g:853:20: ^( AttributeValueChar L_QuotAttrContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AttributeValueChar, "AttributeValueChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_QuotAttrContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_AposAttrValueContent_return: (function() { + XQueryParser.pm_AposAttrValueContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_AposAttrValueContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:858:1: pm_AposAttrValueContent : ( pg_AposAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ); + // $ANTLR start "pm_AposAttrValueContent" + pm_AposAttrValueContent: function() { + var retval = new XQueryParser.pm_AposAttrValueContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pg_AposAttrContentChar385 = null; + var pg_CommonContent386 = null; + var p_ElemEnclosedExpr387 = null; + + + try { + // XQueryParser.g:859:9: ( pg_AposAttrContentChar | pg_CommonContent | p_ElemEnclosedExpr ) + var alt142=3; + switch ( this.input.LA(1) ) { + case L_AposAttrContentChar: + alt142=1; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt142=2; + break; + case LBRACKET: + alt142=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 142, 0, this.input); + + throw nvae; + } + + switch (alt142) { + case 1 : + // XQueryParser.g:859:13: pg_AposAttrContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_AposAttrContentChar_in_pm_AposAttrValueContent7459); + pg_AposAttrContentChar385=this.pg_AposAttrContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_AposAttrContentChar385.getTree()); + + + break; + case 2 : + // XQueryParser.g:859:38: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_AposAttrValueContent7463); + pg_CommonContent386=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent386.getTree()); + + + break; + case 3 : + // XQueryParser.g:859:57: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_AposAttrValueContent7467); + p_ElemEnclosedExpr387=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr387.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_AposAttrContentChar_return: (function() { + XQueryParser.pg_AposAttrContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_AposAttrContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:866:1: pg_AposAttrContentChar : L_AposAttrContentChar -> ^( AttributeValueChar L_AposAttrContentChar ) ; + // $ANTLR start "pg_AposAttrContentChar" + pg_AposAttrContentChar: function() { + var retval = new XQueryParser.pg_AposAttrContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_AposAttrContentChar388 = null; + + var L_AposAttrContentChar388_tree=null; + var stream_L_AposAttrContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_AposAttrContentChar"); + + try { + // XQueryParser.g:867:9: ( L_AposAttrContentChar -> ^( AttributeValueChar L_AposAttrContentChar ) ) + // XQueryParser.g:867:11: L_AposAttrContentChar + L_AposAttrContentChar388=this.match(this.input,L_AposAttrContentChar,XQueryParser.FOLLOW_L_AposAttrContentChar_in_pg_AposAttrContentChar7496); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_AposAttrContentChar.add(L_AposAttrContentChar388); + + + + // AST REWRITE + // elements: L_AposAttrContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 868:17: -> ^( AttributeValueChar L_AposAttrContentChar ) + { + // XQueryParser.g:868:20: ^( AttributeValueChar L_AposAttrContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AttributeValueChar, "AttributeValueChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_AposAttrContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_DirElemContent_return: (function() { + XQueryParser.pm_DirElemContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_DirElemContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:873:1: pm_DirElemContent : ( p_DirectConstructor | L_CDataSection | p_ElemEnclosedExpr | pg_CommonContent | pg_ElementContentChar ); + // $ANTLR start "pm_DirElemContent" + pm_DirElemContent: function() { + var retval = new XQueryParser.pm_DirElemContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_CDataSection390 = null; + var p_DirectConstructor389 = null; + var p_ElemEnclosedExpr391 = null; + var pg_CommonContent392 = null; + var pg_ElementContentChar393 = null; + + var L_CDataSection390_tree=null; + + try { + // XQueryParser.g:874:9: ( p_DirectConstructor | L_CDataSection | p_ElemEnclosedExpr | pg_CommonContent | pg_ElementContentChar ) + var alt143=5; + switch ( this.input.LA(1) ) { + case SMALLER: + case L_DirCommentConstructor: + case L_DirPIConstructor: + alt143=1; + break; + case L_CDataSection: + alt143=2; + break; + case LBRACKET: + alt143=3; + break; + case L_PredefinedEntityRef: + case L_CharRef: + case ESCAPE_LBRACKET: + case ESCAPE_RBRACKET: + alt143=4; + break; + case L_ElementContentChar: + alt143=5; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 143, 0, this.input); + + throw nvae; + } + + switch (alt143) { + case 1 : + // XQueryParser.g:874:11: p_DirectConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DirectConstructor_in_pm_DirElemContent7547); + p_DirectConstructor389=this.p_DirectConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DirectConstructor389.getTree()); + + + break; + case 2 : + // XQueryParser.g:875:11: L_CDataSection + root_0 = this.adaptor.nil(); + + L_CDataSection390=this.match(this.input,L_CDataSection,XQueryParser.FOLLOW_L_CDataSection_in_pm_DirElemContent7559); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + L_CDataSection390_tree = this.adaptor.create(L_CDataSection390); + this.adaptor.addChild(root_0, L_CDataSection390_tree); + } + + + break; + case 3 : + // XQueryParser.g:876:11: p_ElemEnclosedExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElemEnclosedExpr_in_pm_DirElemContent7571); + p_ElemEnclosedExpr391=this.p_ElemEnclosedExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElemEnclosedExpr391.getTree()); + + + break; + case 4 : + // XQueryParser.g:877:11: pg_CommonContent + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_CommonContent_in_pm_DirElemContent7583); + pg_CommonContent392=this.pg_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_CommonContent392.getTree()); + + + break; + case 5 : + // XQueryParser.g:878:11: pg_ElementContentChar + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pg_ElementContentChar_in_pm_DirElemContent7595); + pg_ElementContentChar393=this.pg_ElementContentChar(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pg_ElementContentChar393.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_ElementContentChar_return: (function() { + XQueryParser.pg_ElementContentChar_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_ElementContentChar_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:885:1: pg_ElementContentChar : L_ElementContentChar -> ^( ElementContentChar L_ElementContentChar ) ; + // $ANTLR start "pg_ElementContentChar" + pg_ElementContentChar: function() { + var retval = new XQueryParser.pg_ElementContentChar_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var L_ElementContentChar394 = null; + + var L_ElementContentChar394_tree=null; + var stream_L_ElementContentChar=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token L_ElementContentChar"); + + try { + // XQueryParser.g:886:9: ( L_ElementContentChar -> ^( ElementContentChar L_ElementContentChar ) ) + // XQueryParser.g:886:11: L_ElementContentChar + L_ElementContentChar394=this.match(this.input,L_ElementContentChar,XQueryParser.FOLLOW_L_ElementContentChar_in_pg_ElementContentChar7624); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_L_ElementContentChar.add(L_ElementContentChar394); + + + + // AST REWRITE + // elements: L_ElementContentChar + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 887:17: -> ^( ElementContentChar L_ElementContentChar ) + { + // XQueryParser.g:887:20: ^( ElementContentChar L_ElementContentChar ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ElementContentChar, "ElementContentChar"), root_1); + + this.adaptor.addChild(root_1, stream_L_ElementContentChar.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pg_CommonContent_return: (function() { + XQueryParser.pg_CommonContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pg_CommonContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:895:1: pg_CommonContent : pm_CommonContent -> ^( CommonContent pm_CommonContent ) ; + // $ANTLR start "pg_CommonContent" + pg_CommonContent: function() { + var retval = new XQueryParser.pg_CommonContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_CommonContent395 = null; + + var stream_pm_CommonContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_CommonContent"); + try { + // XQueryParser.g:896:9: ( pm_CommonContent -> ^( CommonContent pm_CommonContent ) ) + // XQueryParser.g:896:13: pm_CommonContent + this.pushFollow(XQueryParser.FOLLOW_pm_CommonContent_in_pg_CommonContent7680); + pm_CommonContent395=this.pm_CommonContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_CommonContent.add(pm_CommonContent395.getTree()); + + + // AST REWRITE + // elements: pm_CommonContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 897:17: -> ^( CommonContent pm_CommonContent ) + { + // XQueryParser.g:897:20: ^( CommonContent pm_CommonContent ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(CommonContent, "CommonContent"), root_1); + + this.adaptor.addChild(root_1, stream_pm_CommonContent.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_CommonContent_return: (function() { + XQueryParser.pm_CommonContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_CommonContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:902:1: pm_CommonContent : ( L_PredefinedEntityRef | L_CharRef | ESCAPE_LBRACKET | ESCAPE_RBRACKET ); + // $ANTLR start "pm_CommonContent" + pm_CommonContent: function() { + var retval = new XQueryParser.pm_CommonContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set396 = null; + + var set396_tree=null; + + try { + // XQueryParser.g:903:9: ( L_PredefinedEntityRef | L_CharRef | ESCAPE_LBRACKET | ESCAPE_RBRACKET ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set396=this.input.LT(1); + if ( (this.input.LA(1)>=L_PredefinedEntityRef && this.input.LA(1)<=ESCAPE_RBRACKET) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set396)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElemEnclosedExpr_return: (function() { + XQueryParser.p_ElemEnclosedExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElemEnclosedExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:910:1: p_ElemEnclosedExpr : LBRACKET ( pm_Expr ) RBRACKET ; + // $ANTLR start "p_ElemEnclosedExpr" + p_ElemEnclosedExpr: function() { + var retval = new XQueryParser.p_ElemEnclosedExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET397 = null; + var RBRACKET399 = null; + var pm_Expr398 = null; + + var LBRACKET397_tree=null; + var RBRACKET399_tree=null; + + try { + // XQueryParser.g:911:9: ( LBRACKET ( pm_Expr ) RBRACKET ) + // XQueryParser.g:911:13: LBRACKET ( pm_Expr ) RBRACKET + root_0 = this.adaptor.nil(); + + LBRACKET397=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_ElemEnclosedExpr7776); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET397_tree = this.adaptor.create(LBRACKET397); + this.adaptor.addChild(root_0, LBRACKET397_tree); + } + // XQueryParser.g:912:13: ( pm_Expr ) + // XQueryParser.g:912:14: pm_Expr + if ( this.state.backtracking===0 ) { + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_ElemEnclosedExpr7793); + pm_Expr398=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr398.getTree()); + if ( this.state.backtracking===0 ) { + } + + + + RBRACKET399=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_ElemEnclosedExpr7810); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET399_tree = this.adaptor.create(RBRACKET399); + this.adaptor.addChild(root_0, RBRACKET399_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ComputedConstructor_return: (function() { + XQueryParser.p_ComputedConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ComputedConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:936:1: p_ComputedConstructor : ( p_CompDocConstructor | p_CompElemConstructor | p_CompAttrConstructor | p_CompNamespaceConstructor | p_CompTextConstructor | p_CompCommentConstructor | p_CompPIConstructor | {...}? => p_CompBinaryConstructor ); + // $ANTLR start "p_ComputedConstructor" + p_ComputedConstructor: function() { + var retval = new XQueryParser.p_ComputedConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_CompDocConstructor400 = null; + var p_CompElemConstructor401 = null; + var p_CompAttrConstructor402 = null; + var p_CompNamespaceConstructor403 = null; + var p_CompTextConstructor404 = null; + var p_CompCommentConstructor405 = null; + var p_CompPIConstructor406 = null; + var p_CompBinaryConstructor407 = null; + + + try { + // XQueryParser.g:937:9: ( p_CompDocConstructor | p_CompElemConstructor | p_CompAttrConstructor | p_CompNamespaceConstructor | p_CompTextConstructor | p_CompCommentConstructor | p_CompPIConstructor | {...}? => p_CompBinaryConstructor ) + var alt144=8; + var LA144_0 = this.input.LA(1); + + if ( (LA144_0==DOCUMENT) ) { + alt144=1; + } + else if ( (LA144_0==ELEMENT) ) { + alt144=2; + } + else if ( (LA144_0==ATTRIBUTE) ) { + alt144=3; + } + else if ( (LA144_0==NAMESPACE) ) { + alt144=4; + } + else if ( (LA144_0==TEXT) ) { + alt144=5; + } + else if ( (LA144_0==COMMENT) ) { + alt144=6; + } + else if ( (LA144_0==PROCESSING_INSTRUCTION) ) { + alt144=7; + } + else if ( (LA144_0==BINARY) && ((false))) { + alt144=8; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 144, 0, this.input); + + throw nvae; + } + switch (alt144) { + case 1 : + // XQueryParser.g:937:13: p_CompDocConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompDocConstructor_in_p_ComputedConstructor7861); + p_CompDocConstructor400=this.p_CompDocConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompDocConstructor400.getTree()); + + + break; + case 2 : + // XQueryParser.g:938:11: p_CompElemConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompElemConstructor_in_p_ComputedConstructor7873); + p_CompElemConstructor401=this.p_CompElemConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompElemConstructor401.getTree()); + + + break; + case 3 : + // XQueryParser.g:939:11: p_CompAttrConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompAttrConstructor_in_p_ComputedConstructor7885); + p_CompAttrConstructor402=this.p_CompAttrConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompAttrConstructor402.getTree()); + + + break; + case 4 : + // XQueryParser.g:940:11: p_CompNamespaceConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompNamespaceConstructor_in_p_ComputedConstructor7897); + p_CompNamespaceConstructor403=this.p_CompNamespaceConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompNamespaceConstructor403.getTree()); + + + break; + case 5 : + // XQueryParser.g:941:11: p_CompTextConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompTextConstructor_in_p_ComputedConstructor7909); + p_CompTextConstructor404=this.p_CompTextConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompTextConstructor404.getTree()); + + + break; + case 6 : + // XQueryParser.g:942:11: p_CompCommentConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompCommentConstructor_in_p_ComputedConstructor7921); + p_CompCommentConstructor405=this.p_CompCommentConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompCommentConstructor405.getTree()); + + + break; + case 7 : + // XQueryParser.g:943:11: p_CompPIConstructor + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CompPIConstructor_in_p_ComputedConstructor7933); + p_CompPIConstructor406=this.p_CompPIConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompPIConstructor406.getTree()); + + + break; + case 8 : + // XQueryParser.g:944:11: {...}? => p_CompBinaryConstructor + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ComputedConstructor", "false"); + } + this.pushFollow(XQueryParser.FOLLOW_p_CompBinaryConstructor_in_p_ComputedConstructor7948); + p_CompBinaryConstructor407=this.p_CompBinaryConstructor(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CompBinaryConstructor407.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompDocConstructor_return: (function() { + XQueryParser.p_CompDocConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompDocConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:948:1: p_CompDocConstructor : k= DOCUMENT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompDocConstructor" + p_CompDocConstructor: function() { + var retval = new XQueryParser.p_CompDocConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET408 = null; + var RBRACKET410 = null; + var pm_Expr409 = null; + + var k_tree=null; + var LBRACKET408_tree=null; + var RBRACKET410_tree=null; + + try { + // XQueryParser.g:949:9: (k= DOCUMENT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:949:13: k= DOCUMENT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DOCUMENT,XQueryParser.FOLLOW_DOCUMENT_in_p_CompDocConstructor7982); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET408=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompDocConstructor7985); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET408_tree = this.adaptor.create(LBRACKET408); + this.adaptor.addChild(root_0, LBRACKET408_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompDocConstructor7987); + pm_Expr409=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr409.getTree()); + RBRACKET410=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompDocConstructor7989); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET410_tree = this.adaptor.create(RBRACKET410); + this.adaptor.addChild(root_0, RBRACKET410_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompElemConstructor_return: (function() { + XQueryParser.p_CompElemConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompElemConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:953:1: p_CompElemConstructor : k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompElemConstructor" + p_CompElemConstructor: function() { + var retval = new XQueryParser.p_CompElemConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET412 = null; + var RBRACKET414 = null; + var LBRACKET415 = null; + var RBRACKET417 = null; + var p_QName411 = null; + var pm_Expr413 = null; + var pm_Expr416 = null; + + var k_tree=null; + var LBRACKET412_tree=null; + var RBRACKET414_tree=null; + var LBRACKET415_tree=null; + var RBRACKET417_tree=null; + + try { + // XQueryParser.g:954:9: (k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:954:13: k= ELEMENT ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_CompElemConstructor8030); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:954:24: ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt145=2; + var LA145_0 = this.input.LA(1); + + if ( ((LA145_0>=ANCESTOR && LA145_0<=EXIT)||(LA145_0>=SEQUENTIAL && LA145_0<=MAINTAINED)||(LA145_0>=MUTABLE && LA145_0<=QUOT_ER)||LA145_0==L_NCName||LA145_0==EXPLICITLY) ) { + alt145=1; + } + else if ( (LA145_0==LBRACKET) ) { + alt145=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 145, 0, this.input); + + throw nvae; + } + switch (alt145) { + case 1 : + // XQueryParser.g:954:25: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CompElemConstructor8034); + p_QName411=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName411.getTree()); + + + break; + case 2 : + // XQueryParser.g:954:35: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:954:35: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:954:36: LBRACKET pm_Expr RBRACKET + LBRACKET412=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompElemConstructor8039); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET412_tree = this.adaptor.create(LBRACKET412); + this.adaptor.addChild(root_0, LBRACKET412_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompElemConstructor8041); + pm_Expr413=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr413.getTree()); + RBRACKET414=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompElemConstructor8043); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET414_tree = this.adaptor.create(RBRACKET414); + this.adaptor.addChild(root_0, RBRACKET414_tree); + } + + + + + + break; + + } + + LBRACKET415=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompElemConstructor8047); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET415_tree = this.adaptor.create(LBRACKET415); + this.adaptor.addChild(root_0, LBRACKET415_tree); + } + // XQueryParser.g:954:73: ( pm_Expr )? + var alt146=2; + var LA146_0 = this.input.LA(1); + + if ( ((LA146_0>=ANCESTOR && LA146_0<=EXIT)||(LA146_0>=SEQUENTIAL && LA146_0<=MAINTAINED)||(LA146_0>=MUTABLE && LA146_0<=LPAREN)||LA146_0==DOLLAR||(LA146_0>=STAR && LA146_0<=SMALLER)||(LA146_0>=SLASH && LA146_0<=DOT_DOT)||LA146_0==ATTR_SIGN||(LA146_0>=APOS && LA146_0<=QUOT)||LA146_0==L_NCName||(LA146_0>=L_Pragma && LA146_0<=L_DoubleLiteral)||(LA146_0>=LETDOLLAR && LA146_0<=EXPLICITLY)) ) { + alt146=1; + } + switch (alt146) { + case 1 : + // XQueryParser.g:954:73: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompElemConstructor8049); + pm_Expr416=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr416.getTree()); + + + break; + + } + + RBRACKET417=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompElemConstructor8052); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET417_tree = this.adaptor.create(RBRACKET417); + this.adaptor.addChild(root_0, RBRACKET417_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompAttrConstructor_return: (function() { + XQueryParser.p_CompAttrConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompAttrConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:961:1: p_CompAttrConstructor : k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompAttrConstructor" + p_CompAttrConstructor: function() { + var retval = new XQueryParser.p_CompAttrConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET419 = null; + var RBRACKET421 = null; + var LBRACKET422 = null; + var RBRACKET424 = null; + var p_QName418 = null; + var pm_Expr420 = null; + var pm_Expr423 = null; + + var k_tree=null; + var LBRACKET419_tree=null; + var RBRACKET421_tree=null; + var LBRACKET422_tree=null; + var RBRACKET424_tree=null; + + try { + // XQueryParser.g:962:9: (k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:962:13: k= ATTRIBUTE ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_CompAttrConstructor8085); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:962:26: ( p_QName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt147=2; + var LA147_0 = this.input.LA(1); + + if ( ((LA147_0>=ANCESTOR && LA147_0<=EXIT)||(LA147_0>=SEQUENTIAL && LA147_0<=MAINTAINED)||(LA147_0>=MUTABLE && LA147_0<=QUOT_ER)||LA147_0==L_NCName||LA147_0==EXPLICITLY) ) { + alt147=1; + } + else if ( (LA147_0==LBRACKET) ) { + alt147=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 147, 0, this.input); + + throw nvae; + } + switch (alt147) { + case 1 : + // XQueryParser.g:962:27: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CompAttrConstructor8089); + p_QName418=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName418.getTree()); + + + break; + case 2 : + // XQueryParser.g:962:37: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:962:37: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:962:38: LBRACKET pm_Expr RBRACKET + LBRACKET419=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompAttrConstructor8094); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET419_tree = this.adaptor.create(LBRACKET419); + this.adaptor.addChild(root_0, LBRACKET419_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompAttrConstructor8096); + pm_Expr420=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr420.getTree()); + RBRACKET421=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompAttrConstructor8098); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET421_tree = this.adaptor.create(RBRACKET421); + this.adaptor.addChild(root_0, RBRACKET421_tree); + } + + + + + + break; + + } + + LBRACKET422=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompAttrConstructor8102); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET422_tree = this.adaptor.create(LBRACKET422); + this.adaptor.addChild(root_0, LBRACKET422_tree); + } + // XQueryParser.g:962:75: ( pm_Expr )? + var alt148=2; + var LA148_0 = this.input.LA(1); + + if ( ((LA148_0>=ANCESTOR && LA148_0<=EXIT)||(LA148_0>=SEQUENTIAL && LA148_0<=MAINTAINED)||(LA148_0>=MUTABLE && LA148_0<=LPAREN)||LA148_0==DOLLAR||(LA148_0>=STAR && LA148_0<=SMALLER)||(LA148_0>=SLASH && LA148_0<=DOT_DOT)||LA148_0==ATTR_SIGN||(LA148_0>=APOS && LA148_0<=QUOT)||LA148_0==L_NCName||(LA148_0>=L_Pragma && LA148_0<=L_DoubleLiteral)||(LA148_0>=LETDOLLAR && LA148_0<=EXPLICITLY)) ) { + alt148=1; + } + switch (alt148) { + case 1 : + // XQueryParser.g:962:75: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompAttrConstructor8104); + pm_Expr423=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr423.getTree()); + + + break; + + } + + RBRACKET424=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompAttrConstructor8107); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET424_tree = this.adaptor.create(RBRACKET424); + this.adaptor.addChild(root_0, RBRACKET424_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompNamespaceConstructor_return: (function() { + XQueryParser.p_CompNamespaceConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompNamespaceConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:966:1: p_CompNamespaceConstructor : k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompNamespaceConstructor" + p_CompNamespaceConstructor: function() { + var retval = new XQueryParser.p_CompNamespaceConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET426 = null; + var RBRACKET428 = null; + var LBRACKET429 = null; + var RBRACKET431 = null; + var p_NCName425 = null; + var pm_Expr427 = null; + var pm_Expr430 = null; + + var k_tree=null; + var LBRACKET426_tree=null; + var RBRACKET428_tree=null; + var LBRACKET429_tree=null; + var RBRACKET431_tree=null; + + try { + // XQueryParser.g:967:9: (k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:967:11: k= NAMESPACE ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NAMESPACE,XQueryParser.FOLLOW_NAMESPACE_in_p_CompNamespaceConstructor8135); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:967:24: ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt149=2; + var LA149_0 = this.input.LA(1); + + if ( ((LA149_0>=ANCESTOR && LA149_0<=EXIT)||(LA149_0>=SEQUENTIAL && LA149_0<=MAINTAINED)||(LA149_0>=MUTABLE && LA149_0<=QUOT_ER)||LA149_0==L_NCName||LA149_0==EXPLICITLY) ) { + alt149=1; + } + else if ( (LA149_0==LBRACKET) ) { + alt149=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 149, 0, this.input); + + throw nvae; + } + switch (alt149) { + case 1 : + // XQueryParser.g:967:25: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_CompNamespaceConstructor8139); + p_NCName425=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName425.getTree()); + + + break; + case 2 : + // XQueryParser.g:967:36: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:967:36: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:967:37: LBRACKET pm_Expr RBRACKET + LBRACKET426=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8144); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET426_tree = this.adaptor.create(LBRACKET426); + this.adaptor.addChild(root_0, LBRACKET426_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8146); + pm_Expr427=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr427.getTree()); + RBRACKET428=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8148); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET428_tree = this.adaptor.create(RBRACKET428); + this.adaptor.addChild(root_0, RBRACKET428_tree); + } + + + + + + break; + + } + + LBRACKET429=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET429_tree = this.adaptor.create(LBRACKET429); + this.adaptor.addChild(root_0, LBRACKET429_tree); + } + // XQueryParser.g:967:74: ( pm_Expr )? + var alt150=2; + var LA150_0 = this.input.LA(1); + + if ( ((LA150_0>=ANCESTOR && LA150_0<=EXIT)||(LA150_0>=SEQUENTIAL && LA150_0<=MAINTAINED)||(LA150_0>=MUTABLE && LA150_0<=LPAREN)||LA150_0==DOLLAR||(LA150_0>=STAR && LA150_0<=SMALLER)||(LA150_0>=SLASH && LA150_0<=DOT_DOT)||LA150_0==ATTR_SIGN||(LA150_0>=APOS && LA150_0<=QUOT)||LA150_0==L_NCName||(LA150_0>=L_Pragma && LA150_0<=L_DoubleLiteral)||(LA150_0>=LETDOLLAR && LA150_0<=EXPLICITLY)) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // XQueryParser.g:967:74: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8154); + pm_Expr430=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr430.getTree()); + + + break; + + } + + RBRACKET431=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8157); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET431_tree = this.adaptor.create(RBRACKET431); + this.adaptor.addChild(root_0, RBRACKET431_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompTextConstructor_return: (function() { + XQueryParser.p_CompTextConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompTextConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:977:1: p_CompTextConstructor : k= TEXT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompTextConstructor" + p_CompTextConstructor: function() { + var retval = new XQueryParser.p_CompTextConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET432 = null; + var RBRACKET434 = null; + var pm_Expr433 = null; + + var k_tree=null; + var LBRACKET432_tree=null; + var RBRACKET434_tree=null; + + try { + // XQueryParser.g:978:9: (k= TEXT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:978:13: k= TEXT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,TEXT,XQueryParser.FOLLOW_TEXT_in_p_CompTextConstructor8193); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET432=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompTextConstructor8196); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET432_tree = this.adaptor.create(LBRACKET432); + this.adaptor.addChild(root_0, LBRACKET432_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompTextConstructor8198); + pm_Expr433=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr433.getTree()); + RBRACKET434=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompTextConstructor8200); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET434_tree = this.adaptor.create(RBRACKET434); + this.adaptor.addChild(root_0, RBRACKET434_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompBinaryConstructor_return: (function() { + XQueryParser.p_CompBinaryConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompBinaryConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:982:1: p_CompBinaryConstructor : k= BINARY LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompBinaryConstructor" + p_CompBinaryConstructor: function() { + var retval = new XQueryParser.p_CompBinaryConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET435 = null; + var RBRACKET437 = null; + var pm_Expr436 = null; + + var k_tree=null; + var LBRACKET435_tree=null; + var RBRACKET437_tree=null; + + try { + // XQueryParser.g:983:9: (k= BINARY LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:983:13: k= BINARY LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,BINARY,XQueryParser.FOLLOW_BINARY_in_p_CompBinaryConstructor8230); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET435=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompBinaryConstructor8233); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET435_tree = this.adaptor.create(LBRACKET435); + this.adaptor.addChild(root_0, LBRACKET435_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompBinaryConstructor8235); + pm_Expr436=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr436.getTree()); + RBRACKET437=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompBinaryConstructor8237); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET437_tree = this.adaptor.create(RBRACKET437); + this.adaptor.addChild(root_0, RBRACKET437_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompCommentConstructor_return: (function() { + XQueryParser.p_CompCommentConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompCommentConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:987:1: p_CompCommentConstructor : k= COMMENT LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CompCommentConstructor" + p_CompCommentConstructor: function() { + var retval = new XQueryParser.p_CompCommentConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET438 = null; + var RBRACKET440 = null; + var pm_Expr439 = null; + + var k_tree=null; + var LBRACKET438_tree=null; + var RBRACKET440_tree=null; + + try { + // XQueryParser.g:988:9: (k= COMMENT LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:988:13: k= COMMENT LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COMMENT,XQueryParser.FOLLOW_COMMENT_in_p_CompCommentConstructor8267); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + LBRACKET438=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompCommentConstructor8270); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET438_tree = this.adaptor.create(LBRACKET438); + this.adaptor.addChild(root_0, LBRACKET438_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompCommentConstructor8272); + pm_Expr439=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr439.getTree()); + RBRACKET440=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompCommentConstructor8274); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET440_tree = this.adaptor.create(RBRACKET440); + this.adaptor.addChild(root_0, RBRACKET440_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CompPIConstructor_return: (function() { + XQueryParser.p_CompPIConstructor_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CompPIConstructor_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:992:1: p_CompPIConstructor : k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ; + // $ANTLR start "p_CompPIConstructor" + p_CompPIConstructor: function() { + var retval = new XQueryParser.p_CompPIConstructor_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var LBRACKET442 = null; + var RBRACKET444 = null; + var LBRACKET445 = null; + var RBRACKET447 = null; + var p_NCName441 = null; + var pm_Expr443 = null; + var pm_Expr446 = null; + + var k_tree=null; + var LBRACKET442_tree=null; + var RBRACKET444_tree=null; + var LBRACKET445_tree=null; + var RBRACKET447_tree=null; + + try { + // XQueryParser.g:993:9: (k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET ) + // XQueryParser.g:993:13: k= PROCESSING_INSTRUCTION ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) LBRACKET ( pm_Expr )? RBRACKET + root_0 = this.adaptor.nil(); + + k=this.match(this.input,PROCESSING_INSTRUCTION,XQueryParser.FOLLOW_PROCESSING_INSTRUCTION_in_p_CompPIConstructor8305); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + // XQueryParser.g:993:39: ( p_NCName | ( LBRACKET pm_Expr RBRACKET ) ) + var alt151=2; + var LA151_0 = this.input.LA(1); + + if ( ((LA151_0>=ANCESTOR && LA151_0<=EXIT)||(LA151_0>=SEQUENTIAL && LA151_0<=MAINTAINED)||(LA151_0>=MUTABLE && LA151_0<=QUOT_ER)||LA151_0==L_NCName||LA151_0==EXPLICITLY) ) { + alt151=1; + } + else if ( (LA151_0==LBRACKET) ) { + alt151=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 151, 0, this.input); + + throw nvae; + } + switch (alt151) { + case 1 : + // XQueryParser.g:993:40: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_CompPIConstructor8309); + p_NCName441=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName441.getTree()); + + + break; + case 2 : + // XQueryParser.g:993:51: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:993:51: ( LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:993:52: LBRACKET pm_Expr RBRACKET + LBRACKET442=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompPIConstructor8314); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET442_tree = this.adaptor.create(LBRACKET442); + this.adaptor.addChild(root_0, LBRACKET442_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompPIConstructor8316); + pm_Expr443=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr443.getTree()); + RBRACKET444=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompPIConstructor8318); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET444_tree = this.adaptor.create(RBRACKET444); + this.adaptor.addChild(root_0, RBRACKET444_tree); + } + + + + + + break; + + } + + LBRACKET445=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CompPIConstructor8322); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET445_tree = this.adaptor.create(LBRACKET445); + this.adaptor.addChild(root_0, LBRACKET445_tree); + } + // XQueryParser.g:993:89: ( pm_Expr )? + var alt152=2; + var LA152_0 = this.input.LA(1); + + if ( ((LA152_0>=ANCESTOR && LA152_0<=EXIT)||(LA152_0>=SEQUENTIAL && LA152_0<=MAINTAINED)||(LA152_0>=MUTABLE && LA152_0<=LPAREN)||LA152_0==DOLLAR||(LA152_0>=STAR && LA152_0<=SMALLER)||(LA152_0>=SLASH && LA152_0<=DOT_DOT)||LA152_0==ATTR_SIGN||(LA152_0>=APOS && LA152_0<=QUOT)||LA152_0==L_NCName||(LA152_0>=L_Pragma && LA152_0<=L_DoubleLiteral)||(LA152_0>=LETDOLLAR && LA152_0<=EXPLICITLY)) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // XQueryParser.g:993:89: pm_Expr + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CompPIConstructor8324); + pm_Expr446=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr446.getTree()); + + + break; + + } + + RBRACKET447=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CompPIConstructor8327); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET447_tree = this.adaptor.create(RBRACKET447); + this.adaptor.addChild(root_0, RBRACKET447_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SingleType_return: (function() { + XQueryParser.p_SingleType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SingleType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:997:1: p_SingleType : p_AtomicType ( QUESTION )? ; + // $ANTLR start "p_SingleType" + p_SingleType: function() { + var retval = new XQueryParser.p_SingleType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUESTION449 = null; + var p_AtomicType448 = null; + + var QUESTION449_tree=null; + + try { + // XQueryParser.g:998:9: ( p_AtomicType ( QUESTION )? ) + // XQueryParser.g:998:13: p_AtomicType ( QUESTION )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_SingleType8355); + p_AtomicType448=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType448.getTree()); + // XQueryParser.g:998:26: ( QUESTION )? + var alt153=2; + var LA153_0 = this.input.LA(1); + + if ( (LA153_0==QUESTION) ) { + alt153=1; + } + switch (alt153) { + case 1 : + // XQueryParser.g:998:26: QUESTION + QUESTION449=this.match(this.input,QUESTION,XQueryParser.FOLLOW_QUESTION_in_p_SingleType8357); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + QUESTION449_tree = this.adaptor.create(QUESTION449); + this.adaptor.addChild(root_0, QUESTION449_tree); + } + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeDeclaration_return: (function() { + XQueryParser.p_TypeDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1002:1: p_TypeDeclaration : k= AS st= p_SequenceType -> ^( TypeDeclaration $st) ; + // $ANTLR start "p_TypeDeclaration" + p_TypeDeclaration: function() { + var retval = new XQueryParser.p_TypeDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var st = null; + + var k_tree=null; + var stream_AS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token AS"); + var stream_p_SequenceType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_SequenceType"); + try { + // XQueryParser.g:1003:9: (k= AS st= p_SequenceType -> ^( TypeDeclaration $st) ) + // XQueryParser.g:1003:13: k= AS st= p_SequenceType + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_TypeDeclaration8388); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_AS.add(k); + + this.pushFollow(XQueryParser.FOLLOW_p_SequenceType_in_p_TypeDeclaration8393); + st=this.p_SequenceType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_SequenceType.add(st.getTree()); + + + // AST REWRITE + // elements: st + // token labels: + // rule labels: retval, st + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_st=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token st",st!=null?st.tree:null); + + root_0 = this.adaptor.nil(); + // 1004:17: -> ^( TypeDeclaration $st) + { + // XQueryParser.g:1004:20: ^( TypeDeclaration $st) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(TypeDeclaration, "TypeDeclaration"), root_1); + + this.adaptor.addChild(root_1, stream_st.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SequenceType_return: (function() { + XQueryParser.p_SequenceType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SequenceType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1008:1: p_SequenceType : (k= EMPTY_SEQUENCE l= LPAREN r= RPAREN -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) | it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? -> ^( SequenceType $it ( $oi)? ) ); + // $ANTLR start "p_SequenceType" + p_SequenceType: function() { + var retval = new XQueryParser.p_SequenceType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var l = null; + var r = null; + var it = null; + var oi = null; + + var k_tree=null; + var l_tree=null; + var r_tree=null; + var stream_EMPTY_SEQUENCE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token EMPTY_SEQUENCE"); + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_ItemType=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ItemType"); + var stream_p_OccurrenceIndicator=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_OccurrenceIndicator"); + try { + // XQueryParser.g:1009:9: (k= EMPTY_SEQUENCE l= LPAREN r= RPAREN -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) | it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? -> ^( SequenceType $it ( $oi)? ) ) + var alt155=2; + var LA155_0 = this.input.LA(1); + + if ( (LA155_0==EMPTY_SEQUENCE) ) { + var LA155_1 = this.input.LA(2); + + if ( (LA155_1==LPAREN) ) { + alt155=1; + } + else if ( (LA155_1==EOF||(LA155_1>=AND && LA155_1<=AT)||LA155_1==CASE||LA155_1==COLLATION||LA155_1==DEFAULT||(LA155_1>=DESCENDING && LA155_1<=DIV)||(LA155_1>=ELSE && LA155_1<=EMPTY)||LA155_1==EQ||(LA155_1>=EXCEPT && LA155_1<=EXTERNAL)||LA155_1==FOR||LA155_1==GE||(LA155_1>=GT && LA155_1<=IDIV)||LA155_1==IN||(LA155_1>=INSTANCE && LA155_1<=IS)||LA155_1==LE||(LA155_1>=LT && LA155_1<=MOD)||LA155_1==NE||(LA155_1>=OR && LA155_1<=ORDER)||(LA155_1>=RETURN && LA155_1<=SATISFIES)||LA155_1==STABLE||LA155_1==TO||LA155_1==UNION||LA155_1==WHERE||LA155_1==COUNT||(LA155_1>=END && LA155_1<=GROUP)||LA155_1==ONLY||LA155_1==START||(LA155_1>=AFTER && LA155_1<=BEFORE)||LA155_1==INTO||LA155_1==MODIFY||LA155_1==WITH||LA155_1==RPAREN||(LA155_1>=LBRACKET && LA155_1<=RBRACKET)||(LA155_1>=RSQUARE && LA155_1<=NOTEQUAL)||(LA155_1>=COMMA && LA155_1<=GREATER_GREATER)||LA155_1==COLON||(LA155_1>=SEMICOLON && LA155_1<=VBAR)||LA155_1==LETDOLLAR) ) { + alt155=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 155, 1, this.input); + + throw nvae; + } + } + else if ( ((LA155_0>=ANCESTOR && LA155_0<=EMPTY)||(LA155_0>=ENCODING && LA155_0<=EXIT)||(LA155_0>=SEQUENTIAL && LA155_0<=MAINTAINED)||(LA155_0>=MUTABLE && LA155_0<=QUOT_ER)||LA155_0==L_NCName||LA155_0==EXPLICITLY) ) { + alt155=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 155, 0, this.input); + + throw nvae; + } + switch (alt155) { + case 1 : + // XQueryParser.g:1009:13: k= EMPTY_SEQUENCE l= LPAREN r= RPAREN + k=this.match(this.input,EMPTY_SEQUENCE,XQueryParser.FOLLOW_EMPTY_SEQUENCE_in_p_SequenceType8448); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_EMPTY_SEQUENCE.add(k); + + l=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SequenceType8453); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(l); + + r=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SequenceType8457); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(r); + + + + // AST REWRITE + // elements: k, r, l + // token labels: r, l, k + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_r=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token r",r); + var stream_l=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token l",l); + var stream_k=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token k",k); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1010:17: -> ^( SequenceType ^( EmptySequenceTest $k $l $r) ) + { + // XQueryParser.g:1010:20: ^( SequenceType ^( EmptySequenceTest $k $l $r) ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SequenceType, "SequenceType"), root_1); + + // XQueryParser.g:1010:35: ^( EmptySequenceTest $k $l $r) + { + var root_2 = this.adaptor.nil(); + root_2 = this.adaptor.becomeRoot(this.adaptor.create(EmptySequenceTest, "EmptySequenceTest"), root_2); + + this.adaptor.addChild(root_2, stream_k.nextNode()); + this.adaptor.addChild(root_2, stream_l.nextNode()); + this.adaptor.addChild(root_2, stream_r.nextNode()); + + this.adaptor.addChild(root_1, root_2); + } + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1011:11: it= p_ItemType ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? + this.pushFollow(XQueryParser.FOLLOW_p_ItemType_in_p_SequenceType8506); + it=this.p_ItemType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ItemType.add(it.getTree()); + // XQueryParser.g:1011:25: ( ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator )? + var alt154=2; + alt154 = this.dfa154.predict(this.input); + switch (alt154) { + case 1 : + // XQueryParser.g:1011:26: ( p_OccurrenceIndicator )=>oi= p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_p_SequenceType8517); + oi=this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_OccurrenceIndicator.add(oi.getTree()); + + + break; + + } + + + + // AST REWRITE + // elements: oi, it + // token labels: + // rule labels: retval, it, oi + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_it=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token it",it!=null?it.tree:null); + var stream_oi=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token oi",oi!=null?oi.tree:null); + + root_0 = this.adaptor.nil(); + // 1012:17: -> ^( SequenceType $it ( $oi)? ) + { + // XQueryParser.g:1012:20: ^( SequenceType $it ( $oi)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(SequenceType, "SequenceType"), root_1); + + this.adaptor.addChild(root_1, stream_it.nextTree()); + // XQueryParser.g:1012:39: ( $oi)? + if ( stream_oi.hasNext() ) { + this.adaptor.addChild(root_1, stream_oi.nextTree()); + + } + stream_oi.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_OccurrenceIndicator_return: (function() { + XQueryParser.p_OccurrenceIndicator_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_OccurrenceIndicator_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1016:1: p_OccurrenceIndicator : ( QUESTION | STAR | PLUS ); + // $ANTLR start "p_OccurrenceIndicator" + p_OccurrenceIndicator: function() { + var retval = new XQueryParser.p_OccurrenceIndicator_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set450 = null; + + var set450_tree=null; + + try { + // XQueryParser.g:1017:9: ( QUESTION | STAR | PLUS ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set450=this.input.LT(1); + if ( (this.input.LA(1)>=QUESTION && this.input.LA(1)<=PLUS) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set450)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ItemType_return: (function() { + XQueryParser.p_ItemType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ItemType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1021:1: p_ItemType : ( p_KindTest -> ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType ); + // $ANTLR start "p_ItemType" + p_ItemType: function() { + var retval = new XQueryParser.p_ItemType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var BINARY452 = null; + var LPAREN453 = null; + var RPAREN454 = null; + var ITEM455 = null; + var LPAREN456 = null; + var RPAREN457 = null; + var p_KindTest451 = null; + var p_AtomicType458 = null; + + var BINARY452_tree=null; + var LPAREN453_tree=null; + var RPAREN454_tree=null; + var ITEM455_tree=null; + var LPAREN456_tree=null; + var RPAREN457_tree=null; + var stream_RPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RPAREN"); + var stream_ITEM=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token ITEM"); + var stream_BINARY=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BINARY"); + var stream_LPAREN=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LPAREN"); + var stream_p_KindTest=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_KindTest"); + try { + // XQueryParser.g:1022:9: ( p_KindTest -> ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType ) + var alt156=4; + alt156 = this.dfa156.predict(this.input); + switch (alt156) { + case 1 : + // XQueryParser.g:1022:11: p_KindTest + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_ItemType8619); + p_KindTest451=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_KindTest.add(p_KindTest451.getTree()); + + + // AST REWRITE + // elements: p_KindTest + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1023:17: -> ^( KindTest p_KindTest ) + { + // XQueryParser.g:1023:20: ^( KindTest p_KindTest ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(KindTest, "KindTest"), root_1); + + this.adaptor.addChild(root_1, stream_p_KindTest.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1024:11: {...}? => ( BINARY LPAREN RPAREN ) + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_ItemType", "false"); + } + // XQueryParser.g:1024:22: ( BINARY LPAREN RPAREN ) + // XQueryParser.g:1024:23: BINARY LPAREN RPAREN + BINARY452=this.match(this.input,BINARY,XQueryParser.FOLLOW_BINARY_in_p_ItemType8659); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BINARY.add(BINARY452); + + LPAREN453=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ItemType8661); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN453); + + RPAREN454=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ItemType8663); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN454); + + + + + + + // AST REWRITE + // elements: LPAREN, RPAREN, BINARY + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1025:17: -> ^( BinaryTest BINARY LPAREN RPAREN ) + { + // XQueryParser.g:1025:20: ^( BinaryTest BINARY LPAREN RPAREN ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BinaryTest, "BinaryTest"), root_1); + + this.adaptor.addChild(root_1, stream_BINARY.nextNode()); + this.adaptor.addChild(root_1, stream_LPAREN.nextNode()); + this.adaptor.addChild(root_1, stream_RPAREN.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 3 : + // XQueryParser.g:1026:11: ( ITEM LPAREN RPAREN ) + // XQueryParser.g:1026:11: ( ITEM LPAREN RPAREN ) + // XQueryParser.g:1026:12: ITEM LPAREN RPAREN + ITEM455=this.match(this.input,ITEM,XQueryParser.FOLLOW_ITEM_in_p_ItemType8705); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_ITEM.add(ITEM455); + + LPAREN456=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ItemType8707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LPAREN.add(LPAREN456); + + RPAREN457=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ItemType8709); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RPAREN.add(RPAREN457); + + + + + + + // AST REWRITE + // elements: RPAREN, LPAREN, ITEM + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1027:17: -> ^( ItemTest ITEM LPAREN RPAREN ) + { + // XQueryParser.g:1027:20: ^( ItemTest ITEM LPAREN RPAREN ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(ItemTest, "ItemTest"), root_1); + + this.adaptor.addChild(root_1, stream_ITEM.nextNode()); + this.adaptor.addChild(root_1, stream_LPAREN.nextNode()); + this.adaptor.addChild(root_1, stream_RPAREN.nextNode()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 4 : + // XQueryParser.g:1028:11: p_AtomicType + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_ItemType8750); + p_AtomicType458=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType458.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AtomicType_return: (function() { + XQueryParser.p_AtomicType_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AtomicType_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1032:1: p_AtomicType : p_QName -> ^( AtomicType p_QName ) ; + // $ANTLR start "p_AtomicType" + p_AtomicType: function() { + var retval = new XQueryParser.p_AtomicType_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName459 = null; + + var stream_p_QName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QName"); + try { + // XQueryParser.g:1033:9: ( p_QName -> ^( AtomicType p_QName ) ) + // XQueryParser.g:1033:11: p_QName + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AtomicType8776); + p_QName459=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QName.add(p_QName459.getTree()); + + + // AST REWRITE + // elements: p_QName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1034:17: -> ^( AtomicType p_QName ) + { + // XQueryParser.g:1034:20: ^( AtomicType p_QName ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(AtomicType, "AtomicType"), root_1); + + this.adaptor.addChild(root_1, stream_p_QName.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_KindTest_return: (function() { + XQueryParser.p_KindTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_KindTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1038:1: p_KindTest : ( p_DocumentTest | p_ElementTest | p_AttributeTest | p_SchemaElementTest | p_SchemaAttributeTest | p_NamespaceNodeTest | p_PITest | p_CommentTest | p_TextTest | p_AnyKindTest ); + // $ANTLR start "p_KindTest" + p_KindTest: function() { + var retval = new XQueryParser.p_KindTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_DocumentTest460 = null; + var p_ElementTest461 = null; + var p_AttributeTest462 = null; + var p_SchemaElementTest463 = null; + var p_SchemaAttributeTest464 = null; + var p_NamespaceNodeTest465 = null; + var p_PITest466 = null; + var p_CommentTest467 = null; + var p_TextTest468 = null; + var p_AnyKindTest469 = null; + + + try { + // XQueryParser.g:1039:9: ( p_DocumentTest | p_ElementTest | p_AttributeTest | p_SchemaElementTest | p_SchemaAttributeTest | p_NamespaceNodeTest | p_PITest | p_CommentTest | p_TextTest | p_AnyKindTest ) + var alt157=10; + switch ( this.input.LA(1) ) { + case DOCUMENT_NODE: + alt157=1; + break; + case ELEMENT: + alt157=2; + break; + case ATTRIBUTE: + alt157=3; + break; + case SCHEMA_ELEMENT: + alt157=4; + break; + case SCHEMA_ATTRIBUTE: + alt157=5; + break; + case NAMESPACE_NODE: + alt157=6; + break; + case PROCESSING_INSTRUCTION: + alt157=7; + break; + case COMMENT: + alt157=8; + break; + case TEXT: + alt157=9; + break; + case NODE: + alt157=10; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 157, 0, this.input); + + throw nvae; + } + + switch (alt157) { + case 1 : + // XQueryParser.g:1039:11: p_DocumentTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_DocumentTest_in_p_KindTest8826); + p_DocumentTest460=this.p_DocumentTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_DocumentTest460.getTree()); + + + break; + case 2 : + // XQueryParser.g:1040:11: p_ElementTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElementTest_in_p_KindTest8838); + p_ElementTest461=this.p_ElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementTest461.getTree()); + + + break; + case 3 : + // XQueryParser.g:1041:11: p_AttributeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AttributeTest_in_p_KindTest8850); + p_AttributeTest462=this.p_AttributeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeTest462.getTree()); + + + break; + case 4 : + // XQueryParser.g:1042:11: p_SchemaElementTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_SchemaElementTest_in_p_KindTest8862); + p_SchemaElementTest463=this.p_SchemaElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaElementTest463.getTree()); + + + break; + case 5 : + // XQueryParser.g:1043:11: p_SchemaAttributeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_SchemaAttributeTest_in_p_KindTest8874); + p_SchemaAttributeTest464=this.p_SchemaAttributeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaAttributeTest464.getTree()); + + + break; + case 6 : + // XQueryParser.g:1044:11: p_NamespaceNodeTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NamespaceNodeTest_in_p_KindTest8886); + p_NamespaceNodeTest465=this.p_NamespaceNodeTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NamespaceNodeTest465.getTree()); + + + break; + case 7 : + // XQueryParser.g:1045:11: p_PITest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PITest_in_p_KindTest8898); + p_PITest466=this.p_PITest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PITest466.getTree()); + + + break; + case 8 : + // XQueryParser.g:1046:11: p_CommentTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_CommentTest_in_p_KindTest8910); + p_CommentTest467=this.p_CommentTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CommentTest467.getTree()); + + + break; + case 9 : + // XQueryParser.g:1047:11: p_TextTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TextTest_in_p_KindTest8922); + p_TextTest468=this.p_TextTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TextTest468.getTree()); + + + break; + case 10 : + // XQueryParser.g:1048:11: p_AnyKindTest + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AnyKindTest_in_p_KindTest8934); + p_AnyKindTest469=this.p_AnyKindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AnyKindTest469.getTree()); + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AnyKindTest_return: (function() { + XQueryParser.p_AnyKindTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AnyKindTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1052:1: p_AnyKindTest : NODE LPAREN RPAREN ; + // $ANTLR start "p_AnyKindTest" + p_AnyKindTest: function() { + var retval = new XQueryParser.p_AnyKindTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var NODE470 = null; + var LPAREN471 = null; + var RPAREN472 = null; + + var NODE470_tree=null; + var LPAREN471_tree=null; + var RPAREN472_tree=null; + + try { + // XQueryParser.g:1053:9: ( NODE LPAREN RPAREN ) + // XQueryParser.g:1053:13: NODE LPAREN RPAREN + root_0 = this.adaptor.nil(); + + NODE470=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_AnyKindTest8962); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + NODE470_tree = this.adaptor.create(NODE470); + this.adaptor.addChild(root_0, NODE470_tree); + } + LPAREN471=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_AnyKindTest8964); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN471_tree = this.adaptor.create(LPAREN471); + this.adaptor.addChild(root_0, LPAREN471_tree); + } + RPAREN472=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_AnyKindTest8966); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN472_tree = this.adaptor.create(RPAREN472); + this.adaptor.addChild(root_0, RPAREN472_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DocumentTest_return: (function() { + XQueryParser.p_DocumentTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DocumentTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1057:1: p_DocumentTest : DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN ; + // $ANTLR start "p_DocumentTest" + p_DocumentTest: function() { + var retval = new XQueryParser.p_DocumentTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOCUMENT_NODE473 = null; + var LPAREN474 = null; + var RPAREN477 = null; + var p_ElementTest475 = null; + var p_SchemaElementTest476 = null; + + var DOCUMENT_NODE473_tree=null; + var LPAREN474_tree=null; + var RPAREN477_tree=null; + + try { + // XQueryParser.g:1058:9: ( DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN ) + // XQueryParser.g:1058:13: DOCUMENT_NODE LPAREN ( p_ElementTest | p_SchemaElementTest )? RPAREN + root_0 = this.adaptor.nil(); + + DOCUMENT_NODE473=this.match(this.input,DOCUMENT_NODE,XQueryParser.FOLLOW_DOCUMENT_NODE_in_p_DocumentTest8994); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOCUMENT_NODE473_tree = this.adaptor.create(DOCUMENT_NODE473); + this.adaptor.addChild(root_0, DOCUMENT_NODE473_tree); + } + LPAREN474=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_DocumentTest8996); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN474_tree = this.adaptor.create(LPAREN474); + this.adaptor.addChild(root_0, LPAREN474_tree); + } + // XQueryParser.g:1058:34: ( p_ElementTest | p_SchemaElementTest )? + var alt158=3; + var LA158_0 = this.input.LA(1); + + if ( (LA158_0==ELEMENT) ) { + alt158=1; + } + else if ( (LA158_0==SCHEMA_ELEMENT) ) { + alt158=2; + } + switch (alt158) { + case 1 : + // XQueryParser.g:1058:35: p_ElementTest + this.pushFollow(XQueryParser.FOLLOW_p_ElementTest_in_p_DocumentTest8999); + p_ElementTest475=this.p_ElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementTest475.getTree()); + + + break; + case 2 : + // XQueryParser.g:1058:51: p_SchemaElementTest + this.pushFollow(XQueryParser.FOLLOW_p_SchemaElementTest_in_p_DocumentTest9003); + p_SchemaElementTest476=this.p_SchemaElementTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SchemaElementTest476.getTree()); + + + break; + + } + + RPAREN477=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_DocumentTest9007); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN477_tree = this.adaptor.create(RPAREN477); + this.adaptor.addChild(root_0, RPAREN477_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TextTest_return: (function() { + XQueryParser.p_TextTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TextTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1061:1: p_TextTest : TEXT LPAREN RPAREN ; + // $ANTLR start "p_TextTest" + p_TextTest: function() { + var retval = new XQueryParser.p_TextTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var TEXT478 = null; + var LPAREN479 = null; + var RPAREN480 = null; + + var TEXT478_tree=null; + var LPAREN479_tree=null; + var RPAREN480_tree=null; + + try { + // XQueryParser.g:1062:9: ( TEXT LPAREN RPAREN ) + // XQueryParser.g:1062:13: TEXT LPAREN RPAREN + root_0 = this.adaptor.nil(); + + TEXT478=this.match(this.input,TEXT,XQueryParser.FOLLOW_TEXT_in_p_TextTest9027); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + TEXT478_tree = this.adaptor.create(TEXT478); + this.adaptor.addChild(root_0, TEXT478_tree); + } + LPAREN479=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_TextTest9029); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN479_tree = this.adaptor.create(LPAREN479); + this.adaptor.addChild(root_0, LPAREN479_tree); + } + RPAREN480=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_TextTest9031); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN480_tree = this.adaptor.create(RPAREN480); + this.adaptor.addChild(root_0, RPAREN480_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CommentTest_return: (function() { + XQueryParser.p_CommentTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CommentTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1066:1: p_CommentTest : COMMENT LPAREN RPAREN ; + // $ANTLR start "p_CommentTest" + p_CommentTest: function() { + var retval = new XQueryParser.p_CommentTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMENT481 = null; + var LPAREN482 = null; + var RPAREN483 = null; + + var COMMENT481_tree=null; + var LPAREN482_tree=null; + var RPAREN483_tree=null; + + try { + // XQueryParser.g:1067:9: ( COMMENT LPAREN RPAREN ) + // XQueryParser.g:1067:13: COMMENT LPAREN RPAREN + root_0 = this.adaptor.nil(); + + COMMENT481=this.match(this.input,COMMENT,XQueryParser.FOLLOW_COMMENT_in_p_CommentTest9059); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMENT481_tree = this.adaptor.create(COMMENT481); + this.adaptor.addChild(root_0, COMMENT481_tree); + } + LPAREN482=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_CommentTest9061); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN482_tree = this.adaptor.create(LPAREN482); + this.adaptor.addChild(root_0, LPAREN482_tree); + } + RPAREN483=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_CommentTest9063); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN483_tree = this.adaptor.create(RPAREN483); + this.adaptor.addChild(root_0, RPAREN483_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NamespaceNodeTest_return: (function() { + XQueryParser.p_NamespaceNodeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NamespaceNodeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1071:1: p_NamespaceNodeTest : NAMESPACE_NODE LPAREN RPAREN ; + // $ANTLR start "p_NamespaceNodeTest" + p_NamespaceNodeTest: function() { + var retval = new XQueryParser.p_NamespaceNodeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var NAMESPACE_NODE484 = null; + var LPAREN485 = null; + var RPAREN486 = null; + + var NAMESPACE_NODE484_tree=null; + var LPAREN485_tree=null; + var RPAREN486_tree=null; + + try { + // XQueryParser.g:1072:9: ( NAMESPACE_NODE LPAREN RPAREN ) + // XQueryParser.g:1072:11: NAMESPACE_NODE LPAREN RPAREN + root_0 = this.adaptor.nil(); + + NAMESPACE_NODE484=this.match(this.input,NAMESPACE_NODE,XQueryParser.FOLLOW_NAMESPACE_NODE_in_p_NamespaceNodeTest9089); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + NAMESPACE_NODE484_tree = this.adaptor.create(NAMESPACE_NODE484); + this.adaptor.addChild(root_0, NAMESPACE_NODE484_tree); + } + LPAREN485=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_NamespaceNodeTest9091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN485_tree = this.adaptor.create(LPAREN485); + this.adaptor.addChild(root_0, LPAREN485_tree); + } + RPAREN486=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_NamespaceNodeTest9093); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN486_tree = this.adaptor.create(RPAREN486); + this.adaptor.addChild(root_0, RPAREN486_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_PITest_return: (function() { + XQueryParser.p_PITest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_PITest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1076:1: p_PITest : PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN ; + // $ANTLR start "p_PITest" + p_PITest: function() { + var retval = new XQueryParser.p_PITest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var PROCESSING_INSTRUCTION487 = null; + var LPAREN488 = null; + var RPAREN491 = null; + var p_NCName489 = null; + var p_StringLiteral490 = null; + + var PROCESSING_INSTRUCTION487_tree=null; + var LPAREN488_tree=null; + var RPAREN491_tree=null; + + try { + // XQueryParser.g:1077:9: ( PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN ) + // XQueryParser.g:1077:13: PROCESSING_INSTRUCTION LPAREN ( p_NCName | p_StringLiteral )? RPAREN + root_0 = this.adaptor.nil(); + + PROCESSING_INSTRUCTION487=this.match(this.input,PROCESSING_INSTRUCTION,XQueryParser.FOLLOW_PROCESSING_INSTRUCTION_in_p_PITest9121); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + PROCESSING_INSTRUCTION487_tree = this.adaptor.create(PROCESSING_INSTRUCTION487); + this.adaptor.addChild(root_0, PROCESSING_INSTRUCTION487_tree); + } + LPAREN488=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_PITest9123); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN488_tree = this.adaptor.create(LPAREN488); + this.adaptor.addChild(root_0, LPAREN488_tree); + } + // XQueryParser.g:1077:43: ( p_NCName | p_StringLiteral )? + var alt159=3; + var LA159_0 = this.input.LA(1); + + if ( ((LA159_0>=ANCESTOR && LA159_0<=EXIT)||(LA159_0>=SEQUENTIAL && LA159_0<=MAINTAINED)||(LA159_0>=MUTABLE && LA159_0<=QUOT_ER)||LA159_0==L_NCName||LA159_0==EXPLICITLY) ) { + alt159=1; + } + else if ( ((LA159_0>=APOS && LA159_0<=QUOT)) ) { + alt159=2; + } + switch (alt159) { + case 1 : + // XQueryParser.g:1077:44: p_NCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_PITest9126); + p_NCName489=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName489.getTree()); + + + break; + case 2 : + // XQueryParser.g:1077:55: p_StringLiteral + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_PITest9130); + p_StringLiteral490=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral490.getTree()); + + + break; + + } + + RPAREN491=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_PITest9134); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN491_tree = this.adaptor.create(RPAREN491); + this.adaptor.addChild(root_0, RPAREN491_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeTest_return: (function() { + XQueryParser.p_AttributeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1081:1: p_AttributeTest : ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN ; + // $ANTLR start "p_AttributeTest" + p_AttributeTest: function() { + var retval = new XQueryParser.p_AttributeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ATTRIBUTE492 = null; + var LPAREN493 = null; + var COMMA495 = null; + var RPAREN497 = null; + var p_AttribNameOrWildcard494 = null; + var p_TypeName496 = null; + + var ATTRIBUTE492_tree=null; + var LPAREN493_tree=null; + var COMMA495_tree=null; + var RPAREN497_tree=null; + + try { + // XQueryParser.g:1082:9: ( ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN ) + // XQueryParser.g:1082:13: ATTRIBUTE LPAREN ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? RPAREN + root_0 = this.adaptor.nil(); + + ATTRIBUTE492=this.match(this.input,ATTRIBUTE,XQueryParser.FOLLOW_ATTRIBUTE_in_p_AttributeTest9162); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ATTRIBUTE492_tree = this.adaptor.create(ATTRIBUTE492); + this.adaptor.addChild(root_0, ATTRIBUTE492_tree); + } + LPAREN493=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_AttributeTest9164); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN493_tree = this.adaptor.create(LPAREN493); + this.adaptor.addChild(root_0, LPAREN493_tree); + } + // XQueryParser.g:1082:30: ( p_AttribNameOrWildcard ( COMMA p_TypeName )? )? + var alt161=2; + var LA161_0 = this.input.LA(1); + + if ( ((LA161_0>=ANCESTOR && LA161_0<=EXIT)||(LA161_0>=SEQUENTIAL && LA161_0<=MAINTAINED)||(LA161_0>=MUTABLE && LA161_0<=QUOT_ER)||LA161_0==STAR||LA161_0==L_NCName||LA161_0==EXPLICITLY) ) { + alt161=1; + } + switch (alt161) { + case 1 : + // XQueryParser.g:1082:31: p_AttribNameOrWildcard ( COMMA p_TypeName )? + this.pushFollow(XQueryParser.FOLLOW_p_AttribNameOrWildcard_in_p_AttributeTest9167); + p_AttribNameOrWildcard494=this.p_AttribNameOrWildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttribNameOrWildcard494.getTree()); + // XQueryParser.g:1082:54: ( COMMA p_TypeName )? + var alt160=2; + var LA160_0 = this.input.LA(1); + + if ( (LA160_0==COMMA) ) { + alt160=1; + } + switch (alt160) { + case 1 : + // XQueryParser.g:1082:55: COMMA p_TypeName + COMMA495=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_AttributeTest9170); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA495_tree = this.adaptor.create(COMMA495); + this.adaptor.addChild(root_0, COMMA495_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_TypeName_in_p_AttributeTest9172); + p_TypeName496=this.p_TypeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeName496.getTree()); + + + break; + + } + + + + break; + + } + + RPAREN497=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_AttributeTest9178); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN497_tree = this.adaptor.create(RPAREN497); + this.adaptor.addChild(root_0, RPAREN497_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttribNameOrWildcard_return: (function() { + XQueryParser.p_AttribNameOrWildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttribNameOrWildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1086:1: p_AttribNameOrWildcard : ( p_QName | STAR ); + // $ANTLR start "p_AttribNameOrWildcard" + p_AttribNameOrWildcard: function() { + var retval = new XQueryParser.p_AttribNameOrWildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR499 = null; + var p_QName498 = null; + + var STAR499_tree=null; + + try { + // XQueryParser.g:1087:9: ( p_QName | STAR ) + var alt162=2; + var LA162_0 = this.input.LA(1); + + if ( ((LA162_0>=ANCESTOR && LA162_0<=EXIT)||(LA162_0>=SEQUENTIAL && LA162_0<=MAINTAINED)||(LA162_0>=MUTABLE && LA162_0<=QUOT_ER)||LA162_0==L_NCName||LA162_0==EXPLICITLY) ) { + alt162=1; + } + else if ( (LA162_0==STAR) ) { + alt162=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 162, 0, this.input); + + throw nvae; + } + switch (alt162) { + case 1 : + // XQueryParser.g:1087:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AttribNameOrWildcard9208); + p_QName498=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName498.getTree()); + + + break; + case 2 : + // XQueryParser.g:1087:23: STAR + root_0 = this.adaptor.nil(); + + STAR499=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_AttribNameOrWildcard9212); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR499_tree = this.adaptor.create(STAR499); + this.adaptor.addChild(root_0, STAR499_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaAttributeTest_return: (function() { + XQueryParser.p_SchemaAttributeTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaAttributeTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1091:1: p_SchemaAttributeTest : SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN ; + // $ANTLR start "p_SchemaAttributeTest" + p_SchemaAttributeTest: function() { + var retval = new XQueryParser.p_SchemaAttributeTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SCHEMA_ATTRIBUTE500 = null; + var LPAREN501 = null; + var RPAREN503 = null; + var p_AttributeDeclaration502 = null; + + var SCHEMA_ATTRIBUTE500_tree=null; + var LPAREN501_tree=null; + var RPAREN503_tree=null; + + try { + // XQueryParser.g:1092:9: ( SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN ) + // XQueryParser.g:1092:13: SCHEMA_ATTRIBUTE LPAREN p_AttributeDeclaration RPAREN + root_0 = this.adaptor.nil(); + + SCHEMA_ATTRIBUTE500=this.match(this.input,SCHEMA_ATTRIBUTE,XQueryParser.FOLLOW_SCHEMA_ATTRIBUTE_in_p_SchemaAttributeTest9240); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SCHEMA_ATTRIBUTE500_tree = this.adaptor.create(SCHEMA_ATTRIBUTE500); + this.adaptor.addChild(root_0, SCHEMA_ATTRIBUTE500_tree); + } + LPAREN501=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SchemaAttributeTest9242); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN501_tree = this.adaptor.create(LPAREN501); + this.adaptor.addChild(root_0, LPAREN501_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AttributeDeclaration_in_p_SchemaAttributeTest9244); + p_AttributeDeclaration502=this.p_AttributeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeDeclaration502.getTree()); + RPAREN503=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SchemaAttributeTest9246); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN503_tree = this.adaptor.create(RPAREN503); + this.adaptor.addChild(root_0, RPAREN503_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeDeclaration_return: (function() { + XQueryParser.p_AttributeDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1096:1: p_AttributeDeclaration : p_AttributeName ; + // $ANTLR start "p_AttributeDeclaration" + p_AttributeDeclaration: function() { + var retval = new XQueryParser.p_AttributeDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_AttributeName504 = null; + + + try { + // XQueryParser.g:1097:9: ( p_AttributeName ) + // XQueryParser.g:1097:11: p_AttributeName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_AttributeName_in_p_AttributeDeclaration9272); + p_AttributeName504=this.p_AttributeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AttributeName504.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementTest_return: (function() { + XQueryParser.p_ElementTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1101:1: p_ElementTest : ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN ; + // $ANTLR start "p_ElementTest" + p_ElementTest: function() { + var retval = new XQueryParser.p_ElementTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ELEMENT505 = null; + var LPAREN506 = null; + var COMMA508 = null; + var QUESTION510 = null; + var RPAREN511 = null; + var p_ElementNameOrWildcard507 = null; + var p_TypeName509 = null; + + var ELEMENT505_tree=null; + var LPAREN506_tree=null; + var COMMA508_tree=null; + var QUESTION510_tree=null; + var RPAREN511_tree=null; + + try { + // XQueryParser.g:1102:9: ( ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN ) + // XQueryParser.g:1102:13: ELEMENT LPAREN ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? RPAREN + root_0 = this.adaptor.nil(); + + ELEMENT505=this.match(this.input,ELEMENT,XQueryParser.FOLLOW_ELEMENT_in_p_ElementTest9300); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ELEMENT505_tree = this.adaptor.create(ELEMENT505); + this.adaptor.addChild(root_0, ELEMENT505_tree); + } + LPAREN506=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_ElementTest9302); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN506_tree = this.adaptor.create(LPAREN506); + this.adaptor.addChild(root_0, LPAREN506_tree); + } + // XQueryParser.g:1102:28: ( p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? )? + var alt165=2; + var LA165_0 = this.input.LA(1); + + if ( ((LA165_0>=ANCESTOR && LA165_0<=EXIT)||(LA165_0>=SEQUENTIAL && LA165_0<=MAINTAINED)||(LA165_0>=MUTABLE && LA165_0<=QUOT_ER)||LA165_0==STAR||LA165_0==L_NCName||LA165_0==EXPLICITLY) ) { + alt165=1; + } + switch (alt165) { + case 1 : + // XQueryParser.g:1102:29: p_ElementNameOrWildcard ( COMMA p_TypeName ( QUESTION )? )? + this.pushFollow(XQueryParser.FOLLOW_p_ElementNameOrWildcard_in_p_ElementTest9305); + p_ElementNameOrWildcard507=this.p_ElementNameOrWildcard(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementNameOrWildcard507.getTree()); + // XQueryParser.g:1102:53: ( COMMA p_TypeName ( QUESTION )? )? + var alt164=2; + var LA164_0 = this.input.LA(1); + + if ( (LA164_0==COMMA) ) { + alt164=1; + } + switch (alt164) { + case 1 : + // XQueryParser.g:1102:54: COMMA p_TypeName ( QUESTION )? + COMMA508=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ElementTest9308); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA508_tree = this.adaptor.create(COMMA508); + this.adaptor.addChild(root_0, COMMA508_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_TypeName_in_p_ElementTest9310); + p_TypeName509=this.p_TypeName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TypeName509.getTree()); + // XQueryParser.g:1102:71: ( QUESTION )? + var alt163=2; + var LA163_0 = this.input.LA(1); + + if ( (LA163_0==QUESTION) ) { + alt163=1; + } + switch (alt163) { + case 1 : + // XQueryParser.g:1102:71: QUESTION + QUESTION510=this.match(this.input,QUESTION,XQueryParser.FOLLOW_QUESTION_in_p_ElementTest9312); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + QUESTION510_tree = this.adaptor.create(QUESTION510); + this.adaptor.addChild(root_0, QUESTION510_tree); + } + + + break; + + } + + + + break; + + } + + + + break; + + } + + RPAREN511=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_ElementTest9319); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN511_tree = this.adaptor.create(RPAREN511); + this.adaptor.addChild(root_0, RPAREN511_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementNameOrWildcard_return: (function() { + XQueryParser.p_ElementNameOrWildcard_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementNameOrWildcard_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1106:1: p_ElementNameOrWildcard : ( p_QName | STAR ); + // $ANTLR start "p_ElementNameOrWildcard" + p_ElementNameOrWildcard: function() { + var retval = new XQueryParser.p_ElementNameOrWildcard_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var STAR513 = null; + var p_QName512 = null; + + var STAR513_tree=null; + + try { + // XQueryParser.g:1107:9: ( p_QName | STAR ) + var alt166=2; + var LA166_0 = this.input.LA(1); + + if ( ((LA166_0>=ANCESTOR && LA166_0<=EXIT)||(LA166_0>=SEQUENTIAL && LA166_0<=MAINTAINED)||(LA166_0>=MUTABLE && LA166_0<=QUOT_ER)||LA166_0==L_NCName||LA166_0==EXPLICITLY) ) { + alt166=1; + } + else if ( (LA166_0==STAR) ) { + alt166=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 166, 0, this.input); + + throw nvae; + } + switch (alt166) { + case 1 : + // XQueryParser.g:1107:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ElementNameOrWildcard9347); + p_QName512=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName512.getTree()); + + + break; + case 2 : + // XQueryParser.g:1107:23: STAR + root_0 = this.adaptor.nil(); + + STAR513=this.match(this.input,STAR,XQueryParser.FOLLOW_STAR_in_p_ElementNameOrWildcard9351); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + STAR513_tree = this.adaptor.create(STAR513); + this.adaptor.addChild(root_0, STAR513_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SchemaElementTest_return: (function() { + XQueryParser.p_SchemaElementTest_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SchemaElementTest_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1110:1: p_SchemaElementTest : SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN ; + // $ANTLR start "p_SchemaElementTest" + p_SchemaElementTest: function() { + var retval = new XQueryParser.p_SchemaElementTest_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SCHEMA_ELEMENT514 = null; + var LPAREN515 = null; + var RPAREN517 = null; + var p_ElementDeclaration516 = null; + + var SCHEMA_ELEMENT514_tree=null; + var LPAREN515_tree=null; + var RPAREN517_tree=null; + + try { + // XQueryParser.g:1111:9: ( SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN ) + // XQueryParser.g:1111:13: SCHEMA_ELEMENT LPAREN p_ElementDeclaration RPAREN + root_0 = this.adaptor.nil(); + + SCHEMA_ELEMENT514=this.match(this.input,SCHEMA_ELEMENT,XQueryParser.FOLLOW_SCHEMA_ELEMENT_in_p_SchemaElementTest9371); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SCHEMA_ELEMENT514_tree = this.adaptor.create(SCHEMA_ELEMENT514); + this.adaptor.addChild(root_0, SCHEMA_ELEMENT514_tree); + } + LPAREN515=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_SchemaElementTest9373); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN515_tree = this.adaptor.create(LPAREN515); + this.adaptor.addChild(root_0, LPAREN515_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ElementDeclaration_in_p_SchemaElementTest9375); + p_ElementDeclaration516=this.p_ElementDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementDeclaration516.getTree()); + RPAREN517=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_SchemaElementTest9377); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN517_tree = this.adaptor.create(RPAREN517); + this.adaptor.addChild(root_0, RPAREN517_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementDeclaration_return: (function() { + XQueryParser.p_ElementDeclaration_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementDeclaration_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1115:1: p_ElementDeclaration : p_ElementName ; + // $ANTLR start "p_ElementDeclaration" + p_ElementDeclaration: function() { + var retval = new XQueryParser.p_ElementDeclaration_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ElementName518 = null; + + + try { + // XQueryParser.g:1116:9: ( p_ElementName ) + // XQueryParser.g:1116:11: p_ElementName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ElementName_in_p_ElementDeclaration9403); + p_ElementName518=this.p_ElementName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ElementName518.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AttributeName_return: (function() { + XQueryParser.p_AttributeName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AttributeName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1120:1: p_AttributeName : p_QName ; + // $ANTLR start "p_AttributeName" + p_AttributeName: function() { + var retval = new XQueryParser.p_AttributeName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName519 = null; + + + try { + // XQueryParser.g:1121:9: ( p_QName ) + // XQueryParser.g:1121:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_AttributeName9431); + p_QName519=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName519.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ElementName_return: (function() { + XQueryParser.p_ElementName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ElementName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1125:1: p_ElementName : p_QName ; + // $ANTLR start "p_ElementName" + p_ElementName: function() { + var retval = new XQueryParser.p_ElementName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName520 = null; + + + try { + // XQueryParser.g:1126:9: ( p_QName ) + // XQueryParser.g:1126:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ElementName9459); + p_QName520=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName520.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TypeName_return: (function() { + XQueryParser.p_TypeName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TypeName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1130:1: p_TypeName : p_QName ; + // $ANTLR start "p_TypeName" + p_TypeName: function() { + var retval = new XQueryParser.p_TypeName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName521 = null; + + + try { + // XQueryParser.g:1131:9: ( p_QName ) + // XQueryParser.g:1131:13: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_TypeName9487); + p_QName521=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName521.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TryCatchExpr_return: (function() { + XQueryParser.p_TryCatchExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TryCatchExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1141:1: p_TryCatchExpr : p_TryClause ( p_CatchClause )+ ; + // $ANTLR start "p_TryCatchExpr" + p_TryCatchExpr: function() { + var retval = new XQueryParser.p_TryCatchExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_TryClause522 = null; + var p_CatchClause523 = null; + + + try { + // XQueryParser.g:1142:9: ( p_TryClause ( p_CatchClause )+ ) + // XQueryParser.g:1142:11: p_TryClause ( p_CatchClause )+ + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_TryClause_in_p_TryCatchExpr9519); + p_TryClause522=this.p_TryClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TryClause522.getTree()); + // XQueryParser.g:1142:23: ( p_CatchClause )+ + var cnt167=0; + loop167: + do { + var alt167=2; + var LA167_0 = this.input.LA(1); + + if ( (LA167_0==CATCH) ) { + alt167=1; + } + + + switch (alt167) { + case 1 : + // XQueryParser.g:1142:23: p_CatchClause + this.pushFollow(XQueryParser.FOLLOW_p_CatchClause_in_p_TryCatchExpr9521); + p_CatchClause523=this.p_CatchClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchClause523.getTree()); + + + break; + + default : + if ( cnt167 >= 1 ) { + break loop167; + } + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var eee = new org.antlr.runtime.EarlyExitException(167, this.input); + throw eee; + } + cnt167++; + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TryClause_return: (function() { + XQueryParser.p_TryClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TryClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1146:1: p_TryClause : kc= TRY LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_TryClause" + p_TryClause: function() { + var retval = new XQueryParser.p_TryClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var LBRACKET524 = null; + var RBRACKET526 = null; + var pm_Expr525 = null; + + var kc_tree=null; + var LBRACKET524_tree=null; + var RBRACKET526_tree=null; + + try { + // XQueryParser.g:1147:9: (kc= TRY LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:1147:11: kc= TRY LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,TRY,XQueryParser.FOLLOW_TRY_in_p_TryClause9550); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + LBRACKET524=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_TryClause9552); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET524_tree = this.adaptor.create(LBRACKET524); + this.adaptor.addChild(root_0, LBRACKET524_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_TryClause9554); + pm_Expr525=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr525.getTree()); + RBRACKET526=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_TryClause9556); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET526_tree = this.adaptor.create(RBRACKET526); + this.adaptor.addChild(root_0, RBRACKET526_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchClause_return: (function() { + XQueryParser.p_CatchClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1154:1: p_CatchClause : kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET ; + // $ANTLR start "p_CatchClause" + p_CatchClause: function() { + var retval = new XQueryParser.p_CatchClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var LBRACKET529 = null; + var RBRACKET531 = null; + var p_CatchErrorList527 = null; + var p_CatchVars528 = null; + var pm_Expr530 = null; + + var kc_tree=null; + var LBRACKET529_tree=null; + var RBRACKET531_tree=null; + + try { + // XQueryParser.g:1155:9: (kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET ) + // XQueryParser.g:1155:11: kc= CATCH p_CatchErrorList ( p_CatchVars )? LBRACKET pm_Expr RBRACKET + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,CATCH,XQueryParser.FOLLOW_CATCH_in_p_CatchClause9587); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_CatchErrorList_in_p_CatchClause9589); + p_CatchErrorList527=this.p_CatchErrorList(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchErrorList527.getTree()); + // XQueryParser.g:1155:37: ( p_CatchVars )? + var alt168=2; + var LA168_0 = this.input.LA(1); + + if ( (LA168_0==LPAREN) ) { + alt168=1; + } + switch (alt168) { + case 1 : + // XQueryParser.g:1155:37: p_CatchVars + this.pushFollow(XQueryParser.FOLLOW_p_CatchVars_in_p_CatchClause9591); + p_CatchVars528=this.p_CatchVars(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CatchVars528.getTree()); + + + break; + + } + + LBRACKET529=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_CatchClause9594); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET529_tree = this.adaptor.create(LBRACKET529); + this.adaptor.addChild(root_0, LBRACKET529_tree); + } + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_CatchClause9596); + pm_Expr530=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr530.getTree()); + RBRACKET531=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_CatchClause9598); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET531_tree = this.adaptor.create(RBRACKET531); + this.adaptor.addChild(root_0, RBRACKET531_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchErrorList_return: (function() { + XQueryParser.p_CatchErrorList_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchErrorList_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1159:1: p_CatchErrorList : ( p_NameTest ( VBAR p_NameTest )* | {...}? => () ); + // $ANTLR start "p_CatchErrorList" + p_CatchErrorList: function() { + var retval = new XQueryParser.p_CatchErrorList_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var VBAR533 = null; + var p_NameTest532 = null; + var p_NameTest534 = null; + + var VBAR533_tree=null; + + try { + // XQueryParser.g:1160:9: ( p_NameTest ( VBAR p_NameTest )* | {...}? => () ) + var alt170=2; + var LA170_0 = this.input.LA(1); + + if ( ((LA170_0>=ANCESTOR && LA170_0<=EXIT)||(LA170_0>=SEQUENTIAL && LA170_0<=MAINTAINED)||(LA170_0>=MUTABLE && LA170_0<=QUOT_ER)||LA170_0==STAR||LA170_0==L_NCName||LA170_0==EXPLICITLY) ) { + alt170=1; + } + else if ( (LA170_0==LPAREN||LA170_0==LBRACKET) && ((false))) { + alt170=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 170, 0, this.input); + + throw nvae; + } + switch (alt170) { + case 1 : + // XQueryParser.g:1160:11: p_NameTest ( VBAR p_NameTest )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_CatchErrorList9624); + p_NameTest532=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest532.getTree()); + // XQueryParser.g:1160:22: ( VBAR p_NameTest )* + loop169: + do { + var alt169=2; + var LA169_0 = this.input.LA(1); + + if ( (LA169_0==VBAR) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // XQueryParser.g:1160:23: VBAR p_NameTest + VBAR533=this.match(this.input,VBAR,XQueryParser.FOLLOW_VBAR_in_p_CatchErrorList9627); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + VBAR533_tree = this.adaptor.create(VBAR533); + this.adaptor.addChild(root_0, VBAR533_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NameTest_in_p_CatchErrorList9629); + p_NameTest534=this.p_NameTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NameTest534.getTree()); + + + break; + + default : + break loop169; + } + } while (true); + + + + break; + case 2 : + // XQueryParser.g:1161:11: {...}? => () + root_0 = this.adaptor.nil(); + + if ( !((false)) ) { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + throw new org.antlr.runtime.FailedPredicateException(this.input, "p_CatchErrorList", "false"); + } + // XQueryParser.g:1161:22: () + // XQueryParser.g:1161:36: + + + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CatchVars_return: (function() { + XQueryParser.p_CatchVars_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CatchVars_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1165:2: p_CatchVars : LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN ; + // $ANTLR start "p_CatchVars" + p_CatchVars: function() { + var retval = new XQueryParser.p_CatchVars_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LPAREN535 = null; + var DOLLAR536 = null; + var COMMA538 = null; + var DOLLAR539 = null; + var COMMA541 = null; + var DOLLAR542 = null; + var RPAREN544 = null; + var p_VarName537 = null; + var p_VarName540 = null; + var p_VarName543 = null; + + var LPAREN535_tree=null; + var DOLLAR536_tree=null; + var COMMA538_tree=null; + var DOLLAR539_tree=null; + var COMMA541_tree=null; + var DOLLAR542_tree=null; + var RPAREN544_tree=null; + + try { + // XQueryParser.g:1166:9: ( LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN ) + // XQueryParser.g:1166:11: LPAREN DOLLAR p_VarName ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? RPAREN + root_0 = this.adaptor.nil(); + + LPAREN535=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_CatchVars9675); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN535_tree = this.adaptor.create(LPAREN535); + this.adaptor.addChild(root_0, LPAREN535_tree); + } + DOLLAR536=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9677); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR536_tree = this.adaptor.create(DOLLAR536); + this.adaptor.addChild(root_0, DOLLAR536_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9679); + p_VarName537=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName537.getTree()); + // XQueryParser.g:1166:35: ( COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? )? + var alt172=2; + var LA172_0 = this.input.LA(1); + + if ( (LA172_0==COMMA) ) { + alt172=1; + } + switch (alt172) { + case 1 : + // XQueryParser.g:1166:36: COMMA DOLLAR p_VarName ( COMMA DOLLAR p_VarName )? + COMMA538=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_CatchVars9682); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA538_tree = this.adaptor.create(COMMA538); + this.adaptor.addChild(root_0, COMMA538_tree); + } + DOLLAR539=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9684); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR539_tree = this.adaptor.create(DOLLAR539); + this.adaptor.addChild(root_0, DOLLAR539_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9686); + p_VarName540=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName540.getTree()); + // XQueryParser.g:1166:59: ( COMMA DOLLAR p_VarName )? + var alt171=2; + var LA171_0 = this.input.LA(1); + + if ( (LA171_0==COMMA) ) { + alt171=1; + } + switch (alt171) { + case 1 : + // XQueryParser.g:1166:60: COMMA DOLLAR p_VarName + COMMA541=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_CatchVars9689); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA541_tree = this.adaptor.create(COMMA541); + this.adaptor.addChild(root_0, COMMA541_tree); + } + DOLLAR542=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_CatchVars9691); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR542_tree = this.adaptor.create(DOLLAR542); + this.adaptor.addChild(root_0, DOLLAR542_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_CatchVars9693); + p_VarName543=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName543.getTree()); + + + break; + + } + + + + break; + + } + + RPAREN544=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_CatchVars9699); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN544_tree = this.adaptor.create(RPAREN544); + this.adaptor.addChild(root_0, RPAREN544_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_StringLiteral_return: (function() { + XQueryParser.p_StringLiteral_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_StringLiteral_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1192:1: p_StringLiteral : ( QUOT p_QuotStringLiteralContent QUOT -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) | APOS p_AposStringLiteralContent APOS -> ^( StringLiteral ( p_AposStringLiteralContent )* ) ); + // $ANTLR start "p_StringLiteral" + p_StringLiteral: function() { + var retval = new XQueryParser.p_StringLiteral_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var QUOT545 = null; + var QUOT547 = null; + var APOS548 = null; + var APOS550 = null; + var p_QuotStringLiteralContent546 = null; + var p_AposStringLiteralContent549 = null; + + var QUOT545_tree=null; + var QUOT547_tree=null; + var APOS548_tree=null; + var APOS550_tree=null; + var stream_APOS=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token APOS"); + var stream_QUOT=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token QUOT"); + var stream_p_AposStringLiteralContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_AposStringLiteralContent"); + var stream_p_QuotStringLiteralContent=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_QuotStringLiteralContent"); + try { + // XQueryParser.g:1193:9: ( QUOT p_QuotStringLiteralContent QUOT -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) | APOS p_AposStringLiteralContent APOS -> ^( StringLiteral ( p_AposStringLiteralContent )* ) ) + var alt173=2; + var LA173_0 = this.input.LA(1); + + if ( (LA173_0==QUOT) ) { + alt173=1; + } + else if ( (LA173_0==APOS) ) { + alt173=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 173, 0, this.input); + + throw nvae; + } + switch (alt173) { + case 1 : + // XQueryParser.g:1193:11: QUOT p_QuotStringLiteralContent QUOT + QUOT545=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_StringLiteral9748); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT545); + + if ( this.state.backtracking===0 ) { + //pushStringLexer(false); + } + this.pushFollow(XQueryParser.FOLLOW_p_QuotStringLiteralContent_in_p_StringLiteral9752); + p_QuotStringLiteralContent546=this.p_QuotStringLiteralContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_QuotStringLiteralContent.add(p_QuotStringLiteralContent546.getTree()); + QUOT547=this.match(this.input,QUOT,XQueryParser.FOLLOW_QUOT_in_p_StringLiteral9754); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_QUOT.add(QUOT547); + + if ( this.state.backtracking===0 ) { + + } + + + // AST REWRITE + // elements: p_QuotStringLiteralContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1194:17: -> ^( StringLiteral ( p_QuotStringLiteralContent )* ) + { + // XQueryParser.g:1194:20: ^( StringLiteral ( p_QuotStringLiteralContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(StringLiteral, "StringLiteral"), root_1); + + // XQueryParser.g:1194:36: ( p_QuotStringLiteralContent )* + while ( stream_p_QuotStringLiteralContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_QuotStringLiteralContent.nextTree()); + + } + stream_p_QuotStringLiteralContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + case 2 : + // XQueryParser.g:1195:13: APOS p_AposStringLiteralContent APOS + APOS548=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_StringLiteral9795); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS548); + + if ( this.state.backtracking===0 ) { + //pushStringLexer(true); + } + this.pushFollow(XQueryParser.FOLLOW_p_AposStringLiteralContent_in_p_StringLiteral9799); + p_AposStringLiteralContent549=this.p_AposStringLiteralContent(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_AposStringLiteralContent.add(p_AposStringLiteralContent549.getTree()); + APOS550=this.match(this.input,APOS,XQueryParser.FOLLOW_APOS_in_p_StringLiteral9801); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_APOS.add(APOS550); + + if ( this.state.backtracking===0 ) { + + } + + + // AST REWRITE + // elements: p_AposStringLiteralContent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1196:17: -> ^( StringLiteral ( p_AposStringLiteralContent )* ) + { + // XQueryParser.g:1196:20: ^( StringLiteral ( p_AposStringLiteralContent )* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(StringLiteral, "StringLiteral"), root_1); + + // XQueryParser.g:1196:36: ( p_AposStringLiteralContent )* + while ( stream_p_AposStringLiteralContent.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_AposStringLiteralContent.nextTree()); + + } + stream_p_AposStringLiteralContent.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QuotStringLiteralContent_return: (function() { + XQueryParser.p_QuotStringLiteralContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QuotStringLiteralContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1203:1: p_QuotStringLiteralContent : ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* ; + // $ANTLR start "p_QuotStringLiteralContent" + p_QuotStringLiteralContent: function() { + var retval = new XQueryParser.p_QuotStringLiteralContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set551 = null; + + var set551_tree=null; + + try { + // XQueryParser.g:1204:9: ( ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* ) + // XQueryParser.g:1204:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1204:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( QUOT | AMP ) )* + loop174: + do { + var alt174=2; + var LA174_0 = this.input.LA(1); + + if ( ((LA174_0>=L_QuotAttrContentChar && LA174_0<=NOTEQUAL)||(LA174_0>=COMMA && LA174_0<=APOS)||(LA174_0>=NCNameStartChar && LA174_0<=EXPLICITLY)) ) { + alt174=1; + } + + + switch (alt174) { + case 1 : + // XQueryParser.g: + set551=this.input.LT(1); + if ( (this.input.LA(1)>=L_QuotAttrContentChar && this.input.LA(1)<=NOTEQUAL)||(this.input.LA(1)>=COMMA && this.input.LA(1)<=APOS)||(this.input.LA(1)>=NCNameStartChar && this.input.LA(1)<=EXPLICITLY) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set551)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + break; + + default : + break loop174; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AposStringLiteralContent_return: (function() { + XQueryParser.p_AposStringLiteralContent_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AposStringLiteralContent_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1212:1: p_AposStringLiteralContent : ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* ; + // $ANTLR start "p_AposStringLiteralContent" + p_AposStringLiteralContent: function() { + var retval = new XQueryParser.p_AposStringLiteralContent_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set552 = null; + + var set552_tree=null; + + try { + // XQueryParser.g:1213:9: ( ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* ) + // XQueryParser.g:1213:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1213:11: ( ESCAPE_QUOT | L_CharRef | L_PredefinedEntityRef | ~ ( APOS | AMP ) )* + loop175: + do { + var alt175=2; + var LA175_0 = this.input.LA(1); + + if ( ((LA175_0>=L_QuotAttrContentChar && LA175_0<=NOTEQUAL)||(LA175_0>=COMMA && LA175_0<=CHARREF_HEX)||(LA175_0>=QUOT && LA175_0<=EXPLICITLY)) ) { + alt175=1; + } + + + switch (alt175) { + case 1 : + // XQueryParser.g: + set552=this.input.LT(1); + if ( (this.input.LA(1)>=L_QuotAttrContentChar && this.input.LA(1)<=NOTEQUAL)||(this.input.LA(1)>=COMMA && this.input.LA(1)<=CHARREF_HEX)||(this.input.LA(1)>=QUOT && this.input.LA(1)<=EXPLICITLY) ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set552)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + break; + + default : + break loop175; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_QName_return: (function() { + XQueryParser.p_QName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_QName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1246:1: p_QName : p_NCName p_LocalNCName -> ^( QName p_NCName ( p_LocalNCName )? ) ; + // $ANTLR start "p_QName" + p_QName: function() { + var retval = new XQueryParser.p_QName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_NCName553 = null; + var p_LocalNCName554 = null; + + var stream_p_LocalNCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_LocalNCName"); + var stream_p_NCName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_NCName"); + try { + // XQueryParser.g:1247:9: ( p_NCName p_LocalNCName -> ^( QName p_NCName ( p_LocalNCName )? ) ) + // XQueryParser.g:1247:11: p_NCName p_LocalNCName + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_QName9994); + p_NCName553=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_NCName.add(p_NCName553.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_LocalNCName_in_p_QName9996); + p_LocalNCName554=this.p_LocalNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_LocalNCName.add(p_LocalNCName554.getTree()); + + + // AST REWRITE + // elements: p_NCName, p_LocalNCName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + + root_0 = this.adaptor.nil(); + // 1248:17: -> ^( QName p_NCName ( p_LocalNCName )? ) + { + // XQueryParser.g:1248:20: ^( QName p_NCName ( p_LocalNCName )? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(QName, "QName"), root_1); + + this.adaptor.addChild(root_1, stream_p_NCName.nextTree()); + // XQueryParser.g:1248:37: ( p_LocalNCName )? + if ( stream_p_LocalNCName.hasNext() ) { + this.adaptor.addChild(root_1, stream_p_LocalNCName.nextTree()); + + } + stream_p_LocalNCName.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LocalNCName_return: (function() { + XQueryParser.p_LocalNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LocalNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1253:1: p_LocalNCName : ( COLON p_NCName )? ; + // $ANTLR start "p_LocalNCName" + p_LocalNCName: function() { + var retval = new XQueryParser.p_LocalNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COLON555 = null; + var p_NCName556 = null; + + var COLON555_tree=null; + + try { + // XQueryParser.g:1254:9: ( ( COLON p_NCName )? ) + // XQueryParser.g:1254:11: ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1254:11: ( COLON p_NCName )? + var alt176=2; + var LA176_0 = this.input.LA(1); + + if ( (LA176_0==COLON) ) { + alt176=1; + } + switch (alt176) { + case 1 : + // XQueryParser.g:1254:12: COLON p_NCName + COLON555=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_LocalNCName10051); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON555_tree = this.adaptor.create(COLON555); + this.adaptor.addChild(root_0, COLON555_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_LocalNCName10053); + p_NCName556=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName556.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FQName_return: (function() { + XQueryParser.p_FQName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FQName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1260:1: p_FQName : p_FNCName p_LocalFNCName ; + // $ANTLR start "p_FQName" + p_FQName: function() { + var retval = new XQueryParser.p_FQName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_FNCName557 = null; + var p_LocalFNCName558 = null; + + + try { + // XQueryParser.g:1261:9: ( p_FNCName p_LocalFNCName ) + // XQueryParser.g:1261:11: p_FNCName p_LocalFNCName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_FNCName_in_p_FQName10083); + p_FNCName557=this.p_FNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_FNCName557.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_LocalFNCName_in_p_FQName10085); + p_LocalFNCName558=this.p_LocalFNCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_LocalFNCName558.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_LocalFNCName_return: (function() { + XQueryParser.p_LocalFNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_LocalFNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1266:1: p_LocalFNCName : ( COLON p_NCName )? ; + // $ANTLR start "p_LocalFNCName" + p_LocalFNCName: function() { + var retval = new XQueryParser.p_LocalFNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COLON559 = null; + var p_NCName560 = null; + + var COLON559_tree=null; + + try { + // XQueryParser.g:1267:9: ( ( COLON p_NCName )? ) + // XQueryParser.g:1267:11: ( COLON p_NCName )? + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1267:11: ( COLON p_NCName )? + var alt177=2; + var LA177_0 = this.input.LA(1); + + if ( (LA177_0==COLON) ) { + alt177=1; + } + switch (alt177) { + case 1 : + // XQueryParser.g:1267:12: COLON p_NCName + COLON559=this.match(this.input,COLON,XQueryParser.FOLLOW_COLON_in_p_LocalFNCName10113); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COLON559_tree = this.adaptor.create(COLON559); + this.adaptor.addChild(root_0, COLON559_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NCName_in_p_LocalFNCName10115); + p_NCName560=this.p_NCName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NCName560.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NCName_return: (function() { + XQueryParser.p_NCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1273:1: p_NCName : ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ); + // $ANTLR start "p_NCName" + p_NCName: function() { + var retval = new XQueryParser.p_NCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set561 = null; + + var set561_tree=null; + + try { + // XQueryParser.g:1274:9: ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | ATTRIBUTE | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | COMMENT | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | DOCUMENT_NODE | ELEMENT | ELSE | EMPTY | EMPTY_SEQUENCE | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IF | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | ITEM | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | NODE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | PROCESSING_INSTRUCTION | RETURN | SATISFIES | SCHEMA | SCHEMA_ATTRIBUTE | SCHEMA_ELEMENT | SELF | SOME | STABLE | STRICT | STRIP | TEXT | THEN | TO | TREAT | TYPESWITCH | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAMESPACE_NODE | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | WHILE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set561=this.input.LT(1); + if ( (this.input.LA(1)>=ANCESTOR && this.input.LA(1)<=EXIT)||(this.input.LA(1)>=SEQUENTIAL && this.input.LA(1)<=MAINTAINED)||(this.input.LA(1)>=MUTABLE && this.input.LA(1)<=QUOT_ER)||this.input.LA(1)==L_NCName||this.input.LA(1)==EXPLICITLY ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set561)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_FNCName_return: (function() { + XQueryParser.p_FNCName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_FNCName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1292:1: p_FNCName : ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | ELSE | EMPTY | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | RETURN | SATISFIES | SCHEMA | SELF | SOME | STABLE | STRICT | STRIP | THEN | TO | TREAT | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ); + // $ANTLR start "p_FNCName" + p_FNCName: function() { + var retval = new XQueryParser.p_FNCName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var set562 = null; + + var set562_tree=null; + + try { + // XQueryParser.g:1293:9: ( L_NCName | ANCESTOR | ANCESTOR_OR_SELF | AND | AS | ASCENDING | AT | BASE_URI | BOUNDARY_SPACE | BY | CASE | CAST | CASTABLE | CHILD | COLLATION | CONSTRUCTION | COPY_NAMESPACES | DECLARE | DEFAULT | DESCENDANT | DESCENDANT_OR_SELF | DESCENDING | DIV | DOCUMENT | ELSE | EMPTY | ENCODING | EQ | EVERY | EXCEPT | EXTERNAL | FOLLOWING | FOLLOWING_SIBLING | FOR | FUNCTION | GE | GREATEST | GT | IDIV | IMPORT | IN | INHERIT | INSTANCE | INTERSECT | IS | LAX | LE | LEAST | LET | LT | MOD | MODULE | NAMESPACE | NE | NO_INHERIT | NO_PRESERVE | OF | OPTION | OR | ORDER | ORDERED | ORDERING | PARENT | PRECEDING | PRECEDING_SIBLING | PRESERVE | RETURN | SATISFIES | SCHEMA | SELF | SOME | STABLE | STRICT | STRIP | THEN | TO | TREAT | UNION | UNORDERED | VALIDATE | VARIABLE | VERSION | WHERE | XQUERY | CATCH | CONTEXT | COUNT | DECIMAL_FORMAT | DECIMAL_SEPARATOR | DIGIT | END | GROUP | GROUPING_SEPARATOR | INFINITY | MINUS_SIGN | NAN | NEXT | ONLY | OUTER | PATTERN_SEPARATOR | PERCENT | PER_MILLE | PREVIOUS | SLIDING | START | TRY | TUMBLING | WHEN | WINDOW | ZERO_DIGIT | AFTER | BEFORE | COPY | DELETE | FIRST | INSERT | INTO | LAST | MODIFY | NODES | RENAME | REPLACE | REVALIDATION | SKIP | UPDATING | VALUE | WITH | BLOCK | CONSTANT | EXIT | SEQUENTIAL | SET | SIMPLE | EVAL | USING | APPEND_ONLY | AUTOMATICALLY | CHECK | COLLECTION | CONSTRAINT | CONST | EQUALITY | EXPLICITLY | FOREACH | FOREIGN | FROM | INDEX | INTEGRITY | KEY | MAINTAINED | MUTABLE | NON | ON | QUEUE | RANGE | READ_ONLY | UNIQUE | BINARY | PRIVATE | AMP_ER | APOS_ER | QUOT_ER ) + // XQueryParser.g: + root_0 = this.adaptor.nil(); + + set562=this.input.LT(1); + if ( (this.input.LA(1)>=ANCESTOR && this.input.LA(1)<=AT)||(this.input.LA(1)>=BASE_URI && this.input.LA(1)<=COLLATION)||(this.input.LA(1)>=CONSTRUCTION && this.input.LA(1)<=DOCUMENT)||(this.input.LA(1)>=ELSE && this.input.LA(1)<=EMPTY)||(this.input.LA(1)>=ENCODING && this.input.LA(1)<=IDIV)||(this.input.LA(1)>=IMPORT && this.input.LA(1)<=IS)||(this.input.LA(1)>=LAX && this.input.LA(1)<=NO_PRESERVE)||(this.input.LA(1)>=OF && this.input.LA(1)<=PRESERVE)||(this.input.LA(1)>=RETURN && this.input.LA(1)<=SCHEMA)||(this.input.LA(1)>=SELF && this.input.LA(1)<=STRIP)||(this.input.LA(1)>=THEN && this.input.LA(1)<=TREAT)||(this.input.LA(1)>=UNION && this.input.LA(1)<=MINUS_SIGN)||(this.input.LA(1)>=NAN && this.input.LA(1)<=EXIT)||(this.input.LA(1)>=SEQUENTIAL && this.input.LA(1)<=SIMPLE)||(this.input.LA(1)>=EVAL && this.input.LA(1)<=MAINTAINED)||(this.input.LA(1)>=MUTABLE && this.input.LA(1)<=QUOT_ER)||this.input.LA(1)==L_NCName||this.input.LA(1)==EXPLICITLY ) { + this.input.consume(); + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, this.adaptor.create(set562)); + this.state.errorRecovery=false;this.state.failed=false; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + throw mse; + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_RevalidationDecl_return: (function() { + XQueryParser.pm_RevalidationDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_RevalidationDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1326:1: pm_RevalidationDecl : k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) ; + // $ANTLR start "pm_RevalidationDecl" + pm_RevalidationDecl: function() { + var retval = new XQueryParser.pm_RevalidationDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1327:9: (k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) ) + // XQueryParser.g:1327:11: k+= DECLARE k+= REVALIDATION (k+= STRICT | k+= LAX | k+= SKIP ) + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_RevalidationDecl11839); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,REVALIDATION,XQueryParser.FOLLOW_REVALIDATION_in_pm_RevalidationDecl11843); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1327:38: (k+= STRICT | k+= LAX | k+= SKIP ) + var alt178=3; + switch ( this.input.LA(1) ) { + case STRICT: + alt178=1; + break; + case LAX: + alt178=2; + break; + case SKIP: + alt178=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 178, 0, this.input); + + throw nvae; + } + + switch (alt178) { + case 1 : + // XQueryParser.g:1327:39: k+= STRICT + k=this.match(this.input,STRICT,XQueryParser.FOLLOW_STRICT_in_pm_RevalidationDecl11848); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1327:51: k+= LAX + k=this.match(this.input,LAX,XQueryParser.FOLLOW_LAX_in_pm_RevalidationDecl11854); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1327:60: k+= SKIP + k=this.match(this.input,SKIP,XQueryParser.FOLLOW_SKIP_in_pm_RevalidationDecl11860); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InsertExprTargetChoice_return: (function() { + XQueryParser.p_InsertExprTargetChoice_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InsertExprTargetChoice_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1331:1: p_InsertExprTargetChoice : ( ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) | ka= AFTER | kb= BEFORE ); + // $ANTLR start "p_InsertExprTargetChoice" + p_InsertExprTargetChoice: function() { + var retval = new XQueryParser.p_InsertExprTargetChoice_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var kb = null; + var k = null; + var list_k=null; + + var ka_tree=null; + var kb_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1332:9: ( ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) | ka= AFTER | kb= BEFORE ) + var alt181=3; + switch ( this.input.LA(1) ) { + case AS: + case INTO: + alt181=1; + break; + case AFTER: + alt181=2; + break; + case BEFORE: + alt181=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 181, 0, this.input); + + throw nvae; + } + + switch (alt181) { + case 1 : + // XQueryParser.g:1332:11: ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1332:11: ( (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO ) + // XQueryParser.g:1332:12: (k+= AS (k+= FIRST | k+= LAST ) )? k+= INTO + // XQueryParser.g:1332:12: (k+= AS (k+= FIRST | k+= LAST ) )? + var alt180=2; + var LA180_0 = this.input.LA(1); + + if ( (LA180_0==AS) ) { + alt180=1; + } + switch (alt180) { + case 1 : + // XQueryParser.g:1332:13: k+= AS (k+= FIRST | k+= LAST ) + k=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_InsertExprTargetChoice11892); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1332:19: (k+= FIRST | k+= LAST ) + var alt179=2; + var LA179_0 = this.input.LA(1); + + if ( (LA179_0==FIRST) ) { + alt179=1; + } + else if ( (LA179_0==LAST) ) { + alt179=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 179, 0, this.input); + + throw nvae; + } + switch (alt179) { + case 1 : + // XQueryParser.g:1332:20: k+= FIRST + k=this.match(this.input,FIRST,XQueryParser.FOLLOW_FIRST_in_p_InsertExprTargetChoice11897); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1332:31: k+= LAST + k=this.match(this.input,LAST,XQueryParser.FOLLOW_LAST_in_p_InsertExprTargetChoice11903); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + break; + + } + + k=this.match(this.input,INTO,XQueryParser.FOLLOW_INTO_in_p_InsertExprTargetChoice11910); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + + + + break; + case 2 : + // XQueryParser.g:1333:11: ka= AFTER + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AFTER,XQueryParser.FOLLOW_AFTER_in_p_InsertExprTargetChoice11926); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + + + break; + case 3 : + // XQueryParser.g:1334:11: kb= BEFORE + root_0 = this.adaptor.nil(); + + kb=this.match(this.input,BEFORE,XQueryParser.FOLLOW_BEFORE_in_p_InsertExprTargetChoice11940); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kb_tree = this.adaptor.create(kb); + this.adaptor.addChild(root_0, kb_tree); + } + + + break; + + } + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_InsertExpr_return: (function() { + XQueryParser.p_InsertExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_InsertExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1338:1: p_InsertExpr : k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr ; + // $ANTLR start "p_InsertExpr" + p_InsertExpr: function() { + var retval = new XQueryParser.p_InsertExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_SourceExpr563 = null; + var p_InsertExprTargetChoice564 = null; + var p_TargetExpr565 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1339:9: (k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr ) + // XQueryParser.g:1339:11: k+= INSERT (k+= NODE | k+= NODES ) p_SourceExpr p_InsertExprTargetChoice p_TargetExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,INSERT,XQueryParser.FOLLOW_INSERT_in_p_InsertExpr11968); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1339:21: (k+= NODE | k+= NODES ) + var alt182=2; + var LA182_0 = this.input.LA(1); + + if ( (LA182_0==NODE) ) { + alt182=1; + } + else if ( (LA182_0==NODES) ) { + alt182=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 182, 0, this.input); + + throw nvae; + } + switch (alt182) { + case 1 : + // XQueryParser.g:1339:22: k+= NODE + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_InsertExpr11973); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1339:32: k+= NODES + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_InsertExpr11979); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_SourceExpr_in_p_InsertExpr11982); + p_SourceExpr563=this.p_SourceExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_SourceExpr563.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_InsertExprTargetChoice_in_p_InsertExpr11984); + p_InsertExprTargetChoice564=this.p_InsertExprTargetChoice(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_InsertExprTargetChoice564.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_InsertExpr11986); + p_TargetExpr565=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr565.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_DeleteExpr_return: (function() { + XQueryParser.p_DeleteExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_DeleteExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1343:1: p_DeleteExpr : k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr ; + // $ANTLR start "p_DeleteExpr" + p_DeleteExpr: function() { + var retval = new XQueryParser.p_DeleteExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_TargetExpr566 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1344:9: (k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr ) + // XQueryParser.g:1344:11: k+= DELETE (k+= NODE | k+= NODES ) p_TargetExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DELETE,XQueryParser.FOLLOW_DELETE_in_p_DeleteExpr12015); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1344:21: (k+= NODE | k+= NODES ) + var alt183=2; + var LA183_0 = this.input.LA(1); + + if ( (LA183_0==NODE) ) { + alt183=1; + } + else if ( (LA183_0==NODES) ) { + alt183=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 183, 0, this.input); + + throw nvae; + } + switch (alt183) { + case 1 : + // XQueryParser.g:1344:22: k+= NODE + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_DeleteExpr12020); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1344:32: k+= NODES + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_DeleteExpr12026); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_DeleteExpr12029); + p_TargetExpr566=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr566.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ReplaceExpr_return: (function() { + XQueryParser.p_ReplaceExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ReplaceExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1348:1: p_ReplaceExpr : k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle ; + // $ANTLR start "p_ReplaceExpr" + p_ReplaceExpr: function() { + var retval = new XQueryParser.p_ReplaceExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_ExprSingle567 = null; + var p_ExprSingle568 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1349:9: (k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle ) + // XQueryParser.g:1349:11: k+= REPLACE (k+= VALUE k+= OF )? k+= NODE p_ExprSingle k+= WITH p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,REPLACE,XQueryParser.FOLLOW_REPLACE_in_p_ReplaceExpr12058); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + // XQueryParser.g:1349:22: (k+= VALUE k+= OF )? + var alt184=2; + var LA184_0 = this.input.LA(1); + + if ( (LA184_0==VALUE) ) { + alt184=1; + } + switch (alt184) { + case 1 : + // XQueryParser.g:1349:23: k+= VALUE k+= OF + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_ReplaceExpr12063); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,OF,XQueryParser.FOLLOW_OF_in_p_ReplaceExpr12067); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ReplaceExpr12073); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReplaceExpr12075); + p_ExprSingle567=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle567.getTree()); + k=this.match(this.input,WITH,XQueryParser.FOLLOW_WITH_in_p_ReplaceExpr12079); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ReplaceExpr12081); + p_ExprSingle568=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle568.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_RenameExpr_return: (function() { + XQueryParser.p_RenameExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_RenameExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1353:1: p_RenameExpr : k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr ; + // $ANTLR start "p_RenameExpr" + p_RenameExpr: function() { + var retval = new XQueryParser.p_RenameExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var AS570 = null; + var k = null; + var list_k=null; + var p_TargetExpr569 = null; + var p_NewNameExpr571 = null; + + var AS570_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1354:9: (k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr ) + // XQueryParser.g:1354:11: k+= RENAME k+= NODE p_TargetExpr AS p_NewNameExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,RENAME,XQueryParser.FOLLOW_RENAME_in_p_RenameExpr12110); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_RenameExpr12114); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_TargetExpr_in_p_RenameExpr12116); + p_TargetExpr569=this.p_TargetExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_TargetExpr569.getTree()); + AS570=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_RenameExpr12118); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + AS570_tree = this.adaptor.create(AS570); + this.adaptor.addChild(root_0, AS570_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_NewNameExpr_in_p_RenameExpr12120); + p_NewNameExpr571=this.p_NewNameExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NewNameExpr571.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_SourceExpr_return: (function() { + XQueryParser.p_SourceExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_SourceExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1358:1: p_SourceExpr : p_ExprSingle ; + // $ANTLR start "p_SourceExpr" + p_SourceExpr: function() { + var retval = new XQueryParser.p_SourceExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle572 = null; + + + try { + // XQueryParser.g:1359:9: ( p_ExprSingle ) + // XQueryParser.g:1359:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_SourceExpr12147); + p_ExprSingle572=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle572.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TargetExpr_return: (function() { + XQueryParser.p_TargetExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TargetExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1363:1: p_TargetExpr : p_ExprSingle ; + // $ANTLR start "p_TargetExpr" + p_TargetExpr: function() { + var retval = new XQueryParser.p_TargetExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle573 = null; + + + try { + // XQueryParser.g:1364:9: ( p_ExprSingle ) + // XQueryParser.g:1364:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TargetExpr12173); + p_ExprSingle573=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle573.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NewNameExpr_return: (function() { + XQueryParser.p_NewNameExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NewNameExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1368:1: p_NewNameExpr : p_ExprSingle ; + // $ANTLR start "p_NewNameExpr" + p_NewNameExpr: function() { + var retval = new XQueryParser.p_NewNameExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_ExprSingle574 = null; + + + try { + // XQueryParser.g:1369:9: ( p_ExprSingle ) + // XQueryParser.g:1369:11: p_ExprSingle + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_NewNameExpr12199); + p_ExprSingle574=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle574.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_TransformExpr_return: (function() { + XQueryParser.p_TransformExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_TransformExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1373:1: p_TransformExpr : k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle ; + // $ANTLR start "p_TransformExpr" + p_TransformExpr: function() { + var retval = new XQueryParser.p_TransformExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR575 = null; + var BIND577 = null; + var COMMA579 = null; + var DOLLAR580 = null; + var BIND582 = null; + var k = null; + var list_k=null; + var p_VarName576 = null; + var p_ExprSingle578 = null; + var p_VarName581 = null; + var p_ExprSingle583 = null; + var p_ExprSingle584 = null; + var p_ExprSingle585 = null; + + var DOLLAR575_tree=null; + var BIND577_tree=null; + var COMMA579_tree=null; + var DOLLAR580_tree=null; + var BIND582_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1374:9: (k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle ) + // XQueryParser.g:1374:11: k+= COPY DOLLAR p_VarName BIND p_ExprSingle ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* k+= MODIFY p_ExprSingle k+= RETURN p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COPY,XQueryParser.FOLLOW_COPY_in_p_TransformExpr12227); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR575=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TransformExpr12229); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR575_tree = this.adaptor.create(DOLLAR575); + this.adaptor.addChild(root_0, DOLLAR575_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TransformExpr12231); + p_VarName576=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName576.getTree()); + BIND577=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_TransformExpr12233); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND577_tree = this.adaptor.create(BIND577); + this.adaptor.addChild(root_0, BIND577_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12235); + p_ExprSingle578=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle578.getTree()); + // XQueryParser.g:1374:54: ( COMMA DOLLAR p_VarName BIND p_ExprSingle )* + loop185: + do { + var alt185=2; + var LA185_0 = this.input.LA(1); + + if ( (LA185_0==COMMA) ) { + alt185=1; + } + + + switch (alt185) { + case 1 : + // XQueryParser.g:1374:55: COMMA DOLLAR p_VarName BIND p_ExprSingle + COMMA579=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_TransformExpr12238); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA579_tree = this.adaptor.create(COMMA579); + this.adaptor.addChild(root_0, COMMA579_tree); + } + DOLLAR580=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_TransformExpr12240); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR580_tree = this.adaptor.create(DOLLAR580); + this.adaptor.addChild(root_0, DOLLAR580_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_TransformExpr12242); + p_VarName581=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName581.getTree()); + BIND582=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_TransformExpr12244); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND582_tree = this.adaptor.create(BIND582); + this.adaptor.addChild(root_0, BIND582_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12246); + p_ExprSingle583=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle583.getTree()); + + + break; + + default : + break loop185; + } + } while (true); + + k=this.match(this.input,MODIFY,XQueryParser.FOLLOW_MODIFY_in_p_TransformExpr12252); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12254); + p_ExprSingle584=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle584.getTree()); + k=this.match(this.input,RETURN,XQueryParser.FOLLOW_RETURN_in_p_TransformExpr12258); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_TransformExpr12260); + p_ExprSingle585=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle585.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_ApplyExpr_return: (function() { + XQueryParser.pm_ApplyExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_ApplyExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1384:1: pm_ApplyExpr : p_ConcatExpr SEMICOLON ; + // $ANTLR start "pm_ApplyExpr" + pm_ApplyExpr: function() { + var retval = new XQueryParser.pm_ApplyExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON587 = null; + var p_ConcatExpr586 = null; + + var SEMICOLON587_tree=null; + + try { + // XQueryParser.g:1385:9: ( p_ConcatExpr SEMICOLON ) + // XQueryParser.g:1385:11: p_ConcatExpr SEMICOLON + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ConcatExpr_in_pm_ApplyExpr12294); + p_ConcatExpr586=this.p_ConcatExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ConcatExpr586.getTree()); + SEMICOLON587=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_ApplyExpr12296); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON587_tree = this.adaptor.create(SEMICOLON587); + this.adaptor.addChild(root_0, SEMICOLON587_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ConcatExpr_return: (function() { + XQueryParser.p_ConcatExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ConcatExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1389:1: p_ConcatExpr : p_ExprSingle ( COMMA p_ExprSingle )* ; + // $ANTLR start "p_ConcatExpr" + p_ConcatExpr: function() { + var retval = new XQueryParser.p_ConcatExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA589 = null; + var p_ExprSingle588 = null; + var p_ExprSingle590 = null; + + var COMMA589_tree=null; + + try { + // XQueryParser.g:1390:9: ( p_ExprSingle ( COMMA p_ExprSingle )* ) + // XQueryParser.g:1390:11: p_ExprSingle ( COMMA p_ExprSingle )* + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ConcatExpr12322); + p_ExprSingle588=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle588.getTree()); + // XQueryParser.g:1390:24: ( COMMA p_ExprSingle )* + loop186: + do { + var alt186=2; + var LA186_0 = this.input.LA(1); + + if ( (LA186_0==COMMA) ) { + alt186=1; + } + + + switch (alt186) { + case 1 : + // XQueryParser.g:1390:25: COMMA p_ExprSingle + COMMA589=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_ConcatExpr12325); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA589_tree = this.adaptor.create(COMMA589); + this.adaptor.addChild(root_0, COMMA589_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ConcatExpr12327); + p_ExprSingle590=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle590.getTree()); + + + break; + + default : + break loop186; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_BlockExpr_return: (function() { + XQueryParser.p_BlockExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_BlockExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1394:1: p_BlockExpr : kb= BLOCK p_Block ; + // $ANTLR start "p_BlockExpr" + p_BlockExpr: function() { + var retval = new XQueryParser.p_BlockExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kb = null; + var p_Block591 = null; + + var kb_tree=null; + + try { + // XQueryParser.g:1395:9: (kb= BLOCK p_Block ) + // XQueryParser.g:1395:11: kb= BLOCK p_Block + root_0 = this.adaptor.nil(); + + kb=this.match(this.input,BLOCK,XQueryParser.FOLLOW_BLOCK_in_p_BlockExpr12357); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kb_tree = this.adaptor.create(kb); + this.adaptor.addChild(root_0, kb_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_p_BlockExpr12359); + p_Block591=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Block591.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_Block_return: (function() { + XQueryParser.p_Block_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_Block_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1399:1: p_Block : LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET -> ^( Block $bd $bb) ; + // $ANTLR start "p_Block" + p_Block: function() { + var retval = new XQueryParser.p_Block_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var LBRACKET592 = null; + var RBRACKET593 = null; + var bd = null; + var bb = null; + + var LBRACKET592_tree=null; + var RBRACKET593_tree=null; + var stream_LBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token LBRACKET"); + var stream_RBRACKET=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token RBRACKET"); + var stream_p_BlockBody=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_BlockBody"); + var stream_pm_BlockDecls=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_BlockDecls"); + try { + // XQueryParser.g:1400:9: ( LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET -> ^( Block $bd $bb) ) + // XQueryParser.g:1400:11: LBRACKET bd= pm_BlockDecls bb= p_BlockBody RBRACKET + LBRACKET592=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_Block12385); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_LBRACKET.add(LBRACKET592); + + this.pushFollow(XQueryParser.FOLLOW_pm_BlockDecls_in_p_Block12389); + bd=this.pm_BlockDecls(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_BlockDecls.add(bd.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_BlockBody_in_p_Block12393); + bb=this.p_BlockBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_BlockBody.add(bb.getTree()); + RBRACKET593=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_Block12395); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_RBRACKET.add(RBRACKET593); + + + + // AST REWRITE + // elements: bd, bb + // token labels: + // rule labels: retval, bb, bd + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_bb=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bb",bb!=null?bb.tree:null); + var stream_bd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bd",bd!=null?bd.tree:null); + + root_0 = this.adaptor.nil(); + // 1401:17: -> ^( Block $bd $bb) + { + // XQueryParser.g:1401:20: ^( Block $bd $bb) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(Block, "Block"), root_1); + + this.adaptor.addChild(root_1, stream_bd.nextTree()); + this.adaptor.addChild(root_1, stream_bb.nextTree()); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BlockDecls_return: (function() { + XQueryParser.pm_BlockDecls_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BlockDecls_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1405:1: pm_BlockDecls : (bvd+= pm_BlockVarDecl )* -> ^( BlockDecls ( $bvd)* ) ; + // $ANTLR start "pm_BlockDecls" + pm_BlockDecls: function() { + var retval = new XQueryParser.pm_BlockDecls_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var list_bvd=null; + var bvd = null; + var stream_pm_BlockVarDecl=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule pm_BlockVarDecl"); + try { + // XQueryParser.g:1406:9: ( (bvd+= pm_BlockVarDecl )* -> ^( BlockDecls ( $bvd)* ) ) + // XQueryParser.g:1406:11: (bvd+= pm_BlockVarDecl )* + // XQueryParser.g:1406:14: (bvd+= pm_BlockVarDecl )* + loop187: + do { + var alt187=2; + var LA187_0 = this.input.LA(1); + + if ( (LA187_0==DECLARE) ) { + var LA187_2 = this.input.LA(2); + + if ( (LA187_2==DOLLAR) ) { + alt187=1; + } + + + } + + + switch (alt187) { + case 1 : + // XQueryParser.g:1406:14: bvd+= pm_BlockVarDecl + this.pushFollow(XQueryParser.FOLLOW_pm_BlockVarDecl_in_pm_BlockDecls12451); + bvd=this.pm_BlockVarDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_pm_BlockVarDecl.add(bvd.getTree()); + if (org.antlr.lang.isNull(list_bvd)) list_bvd = []; + list_bvd.push(bvd.getTree()); + + + + break; + + default : + break loop187; + } + } while (true); + + + + // AST REWRITE + // elements: bvd + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: bvd + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_bvd=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token bvd",list_bvd); + root_0 = this.adaptor.nil(); + // 1407:17: -> ^( BlockDecls ( $bvd)* ) + { + // XQueryParser.g:1407:20: ^( BlockDecls ( $bvd)* ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BlockDecls, "BlockDecls"), root_1); + + // XQueryParser.g:1407:33: ( $bvd)* + while ( stream_bvd.hasNext() ) { + this.adaptor.addChild(root_1, stream_bvd.nextTree()); + + } + stream_bvd.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + pm_BlockVarDecl_return: (function() { + XQueryParser.pm_BlockVarDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.pm_BlockVarDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1411:1: pm_BlockVarDecl : kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) ; + // $ANTLR start "pm_BlockVarDecl" + pm_BlockVarDecl: function() { + var retval = new XQueryParser.pm_BlockVarDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kd = null; + var DOLLAR594 = null; + var BIND595 = null; + var COMMA596 = null; + var DOLLAR597 = null; + var BIND600 = null; + var SEMICOLON602 = null; + var qn = null; + var td = null; + var es = null; + var p_VarName598 = null; + var p_TypeDeclaration599 = null; + var p_ExprSingle601 = null; + + var kd_tree=null; + var DOLLAR594_tree=null; + var BIND595_tree=null; + var COMMA596_tree=null; + var DOLLAR597_tree=null; + var BIND600_tree=null; + var SEMICOLON602_tree=null; + var stream_DOLLAR=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DOLLAR"); + var stream_DECLARE=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token DECLARE"); + var stream_SEMICOLON=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token SEMICOLON"); + var stream_COMMA=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token COMMA"); + var stream_BIND=new org.antlr.runtime.tree.RewriteRuleTokenStream(this.adaptor,"token BIND"); + var stream_p_VarName=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_VarName"); + var stream_p_TypeDeclaration=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_TypeDeclaration"); + var stream_p_ExprSingle=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"rule p_ExprSingle"); + try { + // XQueryParser.g:1412:9: (kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) ) + // XQueryParser.g:1412:11: kd= DECLARE DOLLAR qn= p_VarName (td= p_TypeDeclaration )? ( BIND es= p_ExprSingle )? ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* SEMICOLON + kd=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_pm_BlockVarDecl12506); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DECLARE.add(kd); + + DOLLAR594=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_BlockVarDecl12508); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR594); + + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_pm_BlockVarDecl12512); + qn=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VarName.add(qn.getTree()); + // XQueryParser.g:1412:44: (td= p_TypeDeclaration )? + var alt188=2; + var LA188_0 = this.input.LA(1); + + if ( (LA188_0==AS) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // XQueryParser.g:1412:44: td= p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12516); + td=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(td.getTree()); + + + break; + + } + + // XQueryParser.g:1412:64: ( BIND es= p_ExprSingle )? + var alt189=2; + var LA189_0 = this.input.LA(1); + + if ( (LA189_0==BIND) ) { + alt189=1; + } + switch (alt189) { + case 1 : + // XQueryParser.g:1412:65: BIND es= p_ExprSingle + BIND595=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_BlockVarDecl12520); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND595); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12524); + es=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(es.getTree()); + + + break; + + } + + // XQueryParser.g:1412:88: ( COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? )* + loop192: + do { + var alt192=2; + var LA192_0 = this.input.LA(1); + + if ( (LA192_0==COMMA) ) { + alt192=1; + } + + + switch (alt192) { + case 1 : + // XQueryParser.g:1412:89: COMMA DOLLAR p_VarName ( p_TypeDeclaration )? ( BIND p_ExprSingle )? + COMMA596=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_pm_BlockVarDecl12529); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_COMMA.add(COMMA596); + + DOLLAR597=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_pm_BlockVarDecl12531); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_DOLLAR.add(DOLLAR597); + + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_pm_BlockVarDecl12533); + p_VarName598=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_VarName.add(p_VarName598.getTree()); + // XQueryParser.g:1412:112: ( p_TypeDeclaration )? + var alt190=2; + var LA190_0 = this.input.LA(1); + + if ( (LA190_0==AS) ) { + alt190=1; + } + switch (alt190) { + case 1 : + // XQueryParser.g:1412:112: p_TypeDeclaration + this.pushFollow(XQueryParser.FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12535); + p_TypeDeclaration599=this.p_TypeDeclaration(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_TypeDeclaration.add(p_TypeDeclaration599.getTree()); + + + break; + + } + + // XQueryParser.g:1412:131: ( BIND p_ExprSingle )? + var alt191=2; + var LA191_0 = this.input.LA(1); + + if ( (LA191_0==BIND) ) { + alt191=1; + } + switch (alt191) { + case 1 : + // XQueryParser.g:1412:132: BIND p_ExprSingle + BIND600=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_pm_BlockVarDecl12539); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_BIND.add(BIND600); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12541); + p_ExprSingle601=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_p_ExprSingle.add(p_ExprSingle601.getTree()); + + + break; + + } + + + + break; + + default : + break loop192; + } + } while (true); + + SEMICOLON602=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_pm_BlockVarDecl12547); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) stream_SEMICOLON.add(SEMICOLON602); + + + + // AST REWRITE + // elements: td, es, qn + // token labels: + // rule labels: qn, retval, td, es + // token list labels: + // rule list labels: + if ( this.state.backtracking===0 ) { + retval.tree = root_0; + var stream_qn=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token qn",qn!=null?qn.tree:null); + var stream_retval=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token retval",retval!=null?retval.tree:null); + var stream_td=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token td",td!=null?td.tree:null); + var stream_es=new org.antlr.runtime.tree.RewriteRuleSubtreeStream(this.adaptor,"token es",es!=null?es.tree:null); + + root_0 = this.adaptor.nil(); + // 1413:17: -> ^( BlockVarDecl $qn ( $td)? ( $es)? ) + { + // XQueryParser.g:1413:21: ^( BlockVarDecl $qn ( $td)? ( $es)? ) + { + var root_1 = this.adaptor.nil(); + root_1 = this.adaptor.becomeRoot(this.adaptor.create(BlockVarDecl, "BlockVarDecl"), root_1); + + this.adaptor.addChild(root_1, stream_qn.nextTree()); + // XQueryParser.g:1413:40: ( $td)? + if ( stream_td.hasNext() ) { + this.adaptor.addChild(root_1, stream_td.nextTree()); + + } + stream_td.reset(); + // XQueryParser.g:1413:45: ( $es)? + if ( stream_es.hasNext() ) { + this.adaptor.addChild(root_1, stream_es.nextTree()); + + } + stream_es.reset(); + + this.adaptor.addChild(root_0, root_1); + } + + } + + retval.tree = root_0;} + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_BlockBody_return: (function() { + XQueryParser.p_BlockBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_BlockBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1417:1: p_BlockBody : pm_Expr ; + // $ANTLR start "p_BlockBody" + p_BlockBody: function() { + var retval = new XQueryParser.p_BlockBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var pm_Expr603 = null; + + + try { + // XQueryParser.g:1418:9: ( pm_Expr ) + // XQueryParser.g:1418:11: pm_Expr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_pm_Expr_in_p_BlockBody12607); + pm_Expr603=this.pm_Expr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, pm_Expr603.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_AssignmentExpr_return: (function() { + XQueryParser.p_AssignmentExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_AssignmentExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1422:1: p_AssignmentExpr : ks= SET DOLLAR p_VarName BIND p_ExprSingle ; + // $ANTLR start "p_AssignmentExpr" + p_AssignmentExpr: function() { + var retval = new XQueryParser.p_AssignmentExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ks = null; + var DOLLAR604 = null; + var BIND606 = null; + var p_VarName605 = null; + var p_ExprSingle607 = null; + + var ks_tree=null; + var DOLLAR604_tree=null; + var BIND606_tree=null; + + try { + // XQueryParser.g:1423:9: (ks= SET DOLLAR p_VarName BIND p_ExprSingle ) + // XQueryParser.g:1423:11: ks= SET DOLLAR p_VarName BIND p_ExprSingle + root_0 = this.adaptor.nil(); + + ks=this.match(this.input,SET,XQueryParser.FOLLOW_SET_in_p_AssignmentExpr12635); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ks_tree = this.adaptor.create(ks); + this.adaptor.addChild(root_0, ks_tree); + } + DOLLAR604=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_AssignmentExpr12637); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR604_tree = this.adaptor.create(DOLLAR604); + this.adaptor.addChild(root_0, DOLLAR604_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_AssignmentExpr12639); + p_VarName605=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName605.getTree()); + BIND606=this.match(this.input,BIND,XQueryParser.FOLLOW_BIND_in_p_AssignmentExpr12641); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + BIND606_tree = this.adaptor.create(BIND606); + this.adaptor.addChild(root_0, BIND606_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_AssignmentExpr12643); + p_ExprSingle607=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle607.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ExitExpr_return: (function() { + XQueryParser.p_ExitExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ExitExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1427:1: p_ExitExpr : ke= EXIT kr= RETURNING p_ExprSingle ; + // $ANTLR start "p_ExitExpr" + p_ExitExpr: function() { + var retval = new XQueryParser.p_ExitExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ke = null; + var kr = null; + var p_ExprSingle608 = null; + + var ke_tree=null; + var kr_tree=null; + + try { + // XQueryParser.g:1428:9: (ke= EXIT kr= RETURNING p_ExprSingle ) + // XQueryParser.g:1428:11: ke= EXIT kr= RETURNING p_ExprSingle + root_0 = this.adaptor.nil(); + + ke=this.match(this.input,EXIT,XQueryParser.FOLLOW_EXIT_in_p_ExitExpr12671); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ke_tree = this.adaptor.create(ke); + this.adaptor.addChild(root_0, ke_tree); + } + kr=this.match(this.input,RETURNING,XQueryParser.FOLLOW_RETURNING_in_p_ExitExpr12675); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kr_tree = this.adaptor.create(kr); + this.adaptor.addChild(root_0, kr_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ExitExpr12677); + p_ExprSingle608=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle608.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhileExpr_return: (function() { + XQueryParser.p_WhileExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhileExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1432:1: p_WhileExpr : kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody ; + // $ANTLR start "p_WhileExpr" + p_WhileExpr: function() { + var retval = new XQueryParser.p_WhileExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kw = null; + var LPAREN609 = null; + var RPAREN611 = null; + var p_ExprSingle610 = null; + var p_WhileBody612 = null; + + var kw_tree=null; + var LPAREN609_tree=null; + var RPAREN611_tree=null; + + try { + // XQueryParser.g:1433:9: (kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody ) + // XQueryParser.g:1433:11: kw= WHILE LPAREN p_ExprSingle RPAREN p_WhileBody + root_0 = this.adaptor.nil(); + + kw=this.match(this.input,WHILE,XQueryParser.FOLLOW_WHILE_in_p_WhileExpr12705); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kw_tree = this.adaptor.create(kw); + this.adaptor.addChild(root_0, kw_tree); + } + LPAREN609=this.match(this.input,LPAREN,XQueryParser.FOLLOW_LPAREN_in_p_WhileExpr12707); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LPAREN609_tree = this.adaptor.create(LPAREN609); + this.adaptor.addChild(root_0, LPAREN609_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_WhileExpr12709); + p_ExprSingle610=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle610.getTree()); + RPAREN611=this.match(this.input,RPAREN,XQueryParser.FOLLOW_RPAREN_in_p_WhileExpr12711); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RPAREN611_tree = this.adaptor.create(RPAREN611); + this.adaptor.addChild(root_0, RPAREN611_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_WhileBody_in_p_WhileExpr12713); + p_WhileBody612=this.p_WhileBody(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_WhileBody612.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_WhileBody_return: (function() { + XQueryParser.p_WhileBody_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_WhileBody_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1437:1: p_WhileBody : p_Block ; + // $ANTLR start "p_WhileBody" + p_WhileBody: function() { + var retval = new XQueryParser.p_WhileBody_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_Block613 = null; + + + try { + // XQueryParser.g:1438:9: ( p_Block ) + // XQueryParser.g:1438:11: p_Block + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_Block_in_p_WhileBody12739); + p_Block613=this.p_Block(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_Block613.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_EvalExpr_return: (function() { + XQueryParser.p_EvalExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_EvalExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1446:1: p_EvalExpr : ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET ; + // $ANTLR start "p_EvalExpr" + p_EvalExpr: function() { + var retval = new XQueryParser.p_EvalExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ke = null; + var LBRACKET615 = null; + var RBRACKET617 = null; + var p_UsingClause614 = null; + var p_ExprSingle616 = null; + + var ke_tree=null; + var LBRACKET615_tree=null; + var RBRACKET617_tree=null; + + try { + // XQueryParser.g:1447:9: ( ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET ) + // XQueryParser.g:1447:11: ( p_UsingClause )? ke= EVAL LBRACKET p_ExprSingle RBRACKET + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1447:11: ( p_UsingClause )? + var alt193=2; + var LA193_0 = this.input.LA(1); + + if ( (LA193_0==USING) ) { + alt193=1; + } + switch (alt193) { + case 1 : + // XQueryParser.g:1447:11: p_UsingClause + this.pushFollow(XQueryParser.FOLLOW_p_UsingClause_in_p_EvalExpr12769); + p_UsingClause614=this.p_UsingClause(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_UsingClause614.getTree()); + + + break; + + } + + ke=this.match(this.input,EVAL,XQueryParser.FOLLOW_EVAL_in_p_EvalExpr12774); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ke_tree = this.adaptor.create(ke); + this.adaptor.addChild(root_0, ke_tree); + } + LBRACKET615=this.match(this.input,LBRACKET,XQueryParser.FOLLOW_LBRACKET_in_p_EvalExpr12776); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + LBRACKET615_tree = this.adaptor.create(LBRACKET615); + this.adaptor.addChild(root_0, LBRACKET615_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_EvalExpr12778); + p_ExprSingle616=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle616.getTree()); + RBRACKET617=this.match(this.input,RBRACKET,XQueryParser.FOLLOW_RBRACKET_in_p_EvalExpr12780); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + RBRACKET617_tree = this.adaptor.create(RBRACKET617); + this.adaptor.addChild(root_0, RBRACKET617_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_UsingClause_return: (function() { + XQueryParser.p_UsingClause_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_UsingClause_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1450:1: p_UsingClause : ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* ; + // $ANTLR start "p_UsingClause" + p_UsingClause: function() { + var retval = new XQueryParser.p_UsingClause_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ku = null; + var DOLLAR618 = null; + var COMMA620 = null; + var DOLLAR621 = null; + var p_VarName619 = null; + var p_VarName622 = null; + + var ku_tree=null; + var DOLLAR618_tree=null; + var COMMA620_tree=null; + var DOLLAR621_tree=null; + + try { + // XQueryParser.g:1451:9: (ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* ) + // XQueryParser.g:1451:11: ku= USING DOLLAR p_VarName ( COMMA DOLLAR p_VarName )* + root_0 = this.adaptor.nil(); + + ku=this.match(this.input,USING,XQueryParser.FOLLOW_USING_in_p_UsingClause12807); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ku_tree = this.adaptor.create(ku); + this.adaptor.addChild(root_0, ku_tree); + } + DOLLAR618=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_UsingClause12809); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR618_tree = this.adaptor.create(DOLLAR618); + this.adaptor.addChild(root_0, DOLLAR618_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_UsingClause12811); + p_VarName619=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName619.getTree()); + // XQueryParser.g:1451:37: ( COMMA DOLLAR p_VarName )* + loop194: + do { + var alt194=2; + var LA194_0 = this.input.LA(1); + + if ( (LA194_0==COMMA) ) { + alt194=1; + } + + + switch (alt194) { + case 1 : + // XQueryParser.g:1451:38: COMMA DOLLAR p_VarName + COMMA620=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_UsingClause12814); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA620_tree = this.adaptor.create(COMMA620); + this.adaptor.addChild(root_0, COMMA620_tree); + } + DOLLAR621=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_UsingClause12816); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR621_tree = this.adaptor.create(DOLLAR621); + this.adaptor.addChild(root_0, DOLLAR621_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_VarName_in_p_UsingClause12818); + p_VarName622=this.p_VarName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_VarName622.getTree()); + + + break; + + default : + break loop194; + } + } while (true); + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollectionDecl_return: (function() { + XQueryParser.p_CollectionDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollectionDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1460:1: p_CollectionDecl : k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON ; + // $ANTLR start "p_CollectionDecl" + p_CollectionDecl: function() { + var retval = new XQueryParser.p_CollectionDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON627 = null; + var k = null; + var list_k=null; + var p_CollProperties623 = null; + var p_QName624 = null; + var p_CollectionTypeDecl625 = null; + var p_NodeModifier626 = null; + + var SEMICOLON627_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1461:9: (k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON ) + // XQueryParser.g:1461:11: k+= DECLARE p_CollProperties k+= COLLECTION p_QName ( p_CollectionTypeDecl )? (k+= WITH p_NodeModifier k+= NODES )? SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_CollectionDecl12853); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_CollProperties_in_p_CollectionDecl12855); + p_CollProperties623=this.p_CollProperties(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollProperties623.getTree()); + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_CollectionDecl12859); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_CollectionDecl12861); + p_QName624=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName624.getTree()); + // XQueryParser.g:1461:61: ( p_CollectionTypeDecl )? + var alt195=2; + var LA195_0 = this.input.LA(1); + + if ( (LA195_0==AS) ) { + alt195=1; + } + switch (alt195) { + case 1 : + // XQueryParser.g:1461:61: p_CollectionTypeDecl + this.pushFollow(XQueryParser.FOLLOW_p_CollectionTypeDecl_in_p_CollectionDecl12863); + p_CollectionTypeDecl625=this.p_CollectionTypeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_CollectionTypeDecl625.getTree()); + + + break; + + } + + // XQueryParser.g:1461:83: (k+= WITH p_NodeModifier k+= NODES )? + var alt196=2; + var LA196_0 = this.input.LA(1); + + if ( (LA196_0==WITH) ) { + alt196=1; + } + switch (alt196) { + case 1 : + // XQueryParser.g:1461:84: k+= WITH p_NodeModifier k+= NODES + k=this.match(this.input,WITH,XQueryParser.FOLLOW_WITH_in_p_CollectionDecl12869); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_NodeModifier_in_p_CollectionDecl12871); + p_NodeModifier626=this.p_NodeModifier(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_NodeModifier626.getTree()); + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_CollectionDecl12875); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + SEMICOLON627=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_CollectionDecl12879); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON627_tree = this.adaptor.create(SEMICOLON627); + this.adaptor.addChild(root_0, SEMICOLON627_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollProperties_return: (function() { + XQueryParser.p_CollProperties_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollProperties_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1464:1: p_CollProperties : ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) ; + // $ANTLR start "p_CollProperties" + p_CollProperties: function() { + var retval = new XQueryParser.p_CollProperties_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1465:9: ( ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) ) + // XQueryParser.g:1465:11: ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1465:11: ( (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* ) + // XQueryParser.g:1465:12: (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* + // XQueryParser.g:1465:12: (k+= CONST | k+= MUTABLE | k+= APPEND_ONLY | k+= QUEUE | k+= ORDERED | k+= UNORDERED )* + loop197: + do { + var alt197=7; + switch ( this.input.LA(1) ) { + case CONST: + alt197=1; + break; + case MUTABLE: + alt197=2; + break; + case APPEND_ONLY: + alt197=3; + break; + case QUEUE: + alt197=4; + break; + case ORDERED: + alt197=5; + break; + case UNORDERED: + alt197=6; + break; + + } + + switch (alt197) { + case 1 : + // XQueryParser.g:1465:13: k+= CONST + k=this.match(this.input,CONST,XQueryParser.FOLLOW_CONST_in_p_CollProperties12909); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1465:24: k+= MUTABLE + k=this.match(this.input,MUTABLE,XQueryParser.FOLLOW_MUTABLE_in_p_CollProperties12915); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1466:11: k+= APPEND_ONLY + k=this.match(this.input,APPEND_ONLY,XQueryParser.FOLLOW_APPEND_ONLY_in_p_CollProperties12929); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 4 : + // XQueryParser.g:1466:28: k+= QUEUE + k=this.match(this.input,QUEUE,XQueryParser.FOLLOW_QUEUE_in_p_CollProperties12935); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 5 : + // XQueryParser.g:1467:11: k+= ORDERED + k=this.match(this.input,ORDERED,XQueryParser.FOLLOW_ORDERED_in_p_CollProperties12949); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 6 : + // XQueryParser.g:1467:24: k+= UNORDERED + k=this.match(this.input,UNORDERED,XQueryParser.FOLLOW_UNORDERED_in_p_CollProperties12955); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + default : + break loop197; + } + } while (true); + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_CollectionTypeDecl_return: (function() { + XQueryParser.p_CollectionTypeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_CollectionTypeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1470:1: p_CollectionTypeDecl : (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) ; + // $ANTLR start "p_CollectionTypeDecl" + p_CollectionTypeDecl: function() { + var retval = new XQueryParser.p_CollectionTypeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var p_KindTest628 = null; + var p_OccurrenceIndicator629 = null; + + var ka_tree=null; + + try { + // XQueryParser.g:1471:9: ( (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) ) + // XQueryParser.g:1471:11: (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1471:11: (ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? ) + // XQueryParser.g:1471:12: ka= AS p_KindTest ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_CollectionTypeDecl12987); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_KindTest_in_p_CollectionTypeDecl12989); + p_KindTest628=this.p_KindTest(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_KindTest628.getTree()); + // XQueryParser.g:1471:29: ( ( p_OccurrenceIndicator )=> p_OccurrenceIndicator )? + var alt198=2; + var LA198_0 = this.input.LA(1); + + if ( ((LA198_0>=QUESTION && LA198_0<=PLUS)) && (this.synpred3_XQueryParser())) { + alt198=1; + } + switch (alt198) { + case 1 : + // XQueryParser.g:1471:30: ( p_OccurrenceIndicator )=> p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_p_CollectionTypeDecl12998); + p_OccurrenceIndicator629=this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_OccurrenceIndicator629.getTree()); + + + break; + + } + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_NodeModifier_return: (function() { + XQueryParser.p_NodeModifier_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_NodeModifier_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1474:1: p_NodeModifier : (k+= READ_ONLY | k+= MUTABLE ) ; + // $ANTLR start "p_NodeModifier" + p_NodeModifier: function() { + var retval = new XQueryParser.p_NodeModifier_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1475:9: ( (k+= READ_ONLY | k+= MUTABLE ) ) + // XQueryParser.g:1475:11: (k+= READ_ONLY | k+= MUTABLE ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1475:11: (k+= READ_ONLY | k+= MUTABLE ) + var alt199=2; + var LA199_0 = this.input.LA(1); + + if ( (LA199_0==READ_ONLY) ) { + alt199=1; + } + else if ( (LA199_0==MUTABLE) ) { + alt199=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 199, 0, this.input); + + throw nvae; + } + switch (alt199) { + case 1 : + // XQueryParser.g:1475:12: k+= READ_ONLY + k=this.match(this.input,READ_ONLY,XQueryParser.FOLLOW_READ_ONLY_in_p_NodeModifier13029); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1475:27: k+= MUTABLE + k=this.match(this.input,MUTABLE,XQueryParser.FOLLOW_MUTABLE_in_p_NodeModifier13035); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexDecl_return: (function() { + XQueryParser.p_IndexDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1478:1: p_IndexDecl : k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON ; + // $ANTLR start "p_IndexDecl" + p_IndexDecl: function() { + var retval = new XQueryParser.p_IndexDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var COMMA634 = null; + var SEMICOLON636 = null; + var k = null; + var list_k=null; + var p_IndexProperties630 = null; + var p_IndexName631 = null; + var p_IndexDomainExpr632 = null; + var p_IndexKeySpec633 = null; + var p_IndexKeySpec635 = null; + + var COMMA634_tree=null; + var SEMICOLON636_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1479:9: (k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON ) + // XQueryParser.g:1479:11: k+= DECLARE p_IndexProperties k+= INDEX p_IndexName k+= ON k+= NODES p_IndexDomainExpr k+= BY p_IndexKeySpec ( COMMA p_IndexKeySpec )* SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_IndexDecl13064); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexProperties_in_p_IndexDecl13066); + p_IndexProperties630=this.p_IndexProperties(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexProperties630.getTree()); + k=this.match(this.input,INDEX,XQueryParser.FOLLOW_INDEX_in_p_IndexDecl13070); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexName_in_p_IndexDecl13072); + p_IndexName631=this.p_IndexName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexName631.getTree()); + k=this.match(this.input,ON,XQueryParser.FOLLOW_ON_in_p_IndexDecl13076); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODES,XQueryParser.FOLLOW_NODES_in_p_IndexDecl13080); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexDomainExpr_in_p_IndexDecl13082); + p_IndexDomainExpr632=this.p_IndexDomainExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexDomainExpr632.getTree()); + k=this.match(this.input,BY,XQueryParser.FOLLOW_BY_in_p_IndexDecl13086); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeySpec_in_p_IndexDecl13088); + p_IndexKeySpec633=this.p_IndexKeySpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeySpec633.getTree()); + // XQueryParser.g:1479:115: ( COMMA p_IndexKeySpec )* + loop200: + do { + var alt200=2; + var LA200_0 = this.input.LA(1); + + if ( (LA200_0==COMMA) ) { + alt200=1; + } + + + switch (alt200) { + case 1 : + // XQueryParser.g:1479:116: COMMA p_IndexKeySpec + COMMA634=this.match(this.input,COMMA,XQueryParser.FOLLOW_COMMA_in_p_IndexDecl13091); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + COMMA634_tree = this.adaptor.create(COMMA634); + this.adaptor.addChild(root_0, COMMA634_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeySpec_in_p_IndexDecl13093); + p_IndexKeySpec635=this.p_IndexKeySpec(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeySpec635.getTree()); + + + break; + + default : + break loop200; + } + } while (true); + + SEMICOLON636=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_IndexDecl13097); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON636_tree = this.adaptor.create(SEMICOLON636); + this.adaptor.addChild(root_0, SEMICOLON636_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexName_return: (function() { + XQueryParser.p_IndexName_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexName_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1482:1: p_IndexName : p_QName ; + // $ANTLR start "p_IndexName" + p_IndexName: function() { + var retval = new XQueryParser.p_IndexName_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_QName637 = null; + + + try { + // XQueryParser.g:1483:9: ( p_QName ) + // XQueryParser.g:1483:11: p_QName + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_IndexName13123); + p_QName637=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName637.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexProperties_return: (function() { + XQueryParser.p_IndexProperties_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexProperties_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1486:1: p_IndexProperties : ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) ; + // $ANTLR start "p_IndexProperties" + p_IndexProperties: function() { + var retval = new XQueryParser.p_IndexProperties_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + + var k_tree=null; + + try { + // XQueryParser.g:1487:9: ( ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) ) + // XQueryParser.g:1487:11: ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) + root_0 = this.adaptor.nil(); + + // XQueryParser.g:1487:11: ( (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* ) + // XQueryParser.g:1487:12: (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* + // XQueryParser.g:1487:12: (k+= UNIQUE | k+= NON k+= UNIQUE | k+= VALUE k+= RANGE | k+= VALUE k+= EQUALITY | k+= AUTOMATICALLY k+= MAINTAINED | k+= MANUALLY k+= MAINTAINED )* + loop201: + do { + var alt201=7; + switch ( this.input.LA(1) ) { + case UNIQUE: + alt201=1; + break; + case NON: + alt201=2; + break; + case VALUE: + var LA201_4 = this.input.LA(2); + + if ( (LA201_4==RANGE) ) { + alt201=3; + } + else if ( (LA201_4==EQUALITY) ) { + alt201=4; + } + + + break; + case AUTOMATICALLY: + alt201=5; + break; + case MANUALLY: + alt201=6; + break; + + } + + switch (alt201) { + case 1 : + // XQueryParser.g:1487:13: k+= UNIQUE + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_IndexProperties13152); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 2 : + // XQueryParser.g:1487:25: k+= NON k+= UNIQUE + k=this.match(this.input,NON,XQueryParser.FOLLOW_NON_in_p_IndexProperties13158); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_IndexProperties13162); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 3 : + // XQueryParser.g:1488:11: k+= VALUE k+= RANGE + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_IndexProperties13176); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,RANGE,XQueryParser.FOLLOW_RANGE_in_p_IndexProperties13180); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 4 : + // XQueryParser.g:1488:31: k+= VALUE k+= EQUALITY + k=this.match(this.input,VALUE,XQueryParser.FOLLOW_VALUE_in_p_IndexProperties13186); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,EQUALITY,XQueryParser.FOLLOW_EQUALITY_in_p_IndexProperties13190); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 5 : + // XQueryParser.g:1489:11: k+= AUTOMATICALLY k+= MAINTAINED + k=this.match(this.input,AUTOMATICALLY,XQueryParser.FOLLOW_AUTOMATICALLY_in_p_IndexProperties13204); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MAINTAINED,XQueryParser.FOLLOW_MAINTAINED_in_p_IndexProperties13208); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + case 6 : + // XQueryParser.g:1489:44: k+= MANUALLY k+= MAINTAINED + k=this.match(this.input,MANUALLY,XQueryParser.FOLLOW_MANUALLY_in_p_IndexProperties13214); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,MAINTAINED,XQueryParser.FOLLOW_MAINTAINED_in_p_IndexProperties13218); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + + + break; + + default : + break loop201; + } + } while (true); + + + + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexDomainExpr_return: (function() { + XQueryParser.p_IndexDomainExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexDomainExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1492:1: p_IndexDomainExpr : p_PathExpr ; + // $ANTLR start "p_IndexDomainExpr" + p_IndexDomainExpr: function() { + var retval = new XQueryParser.p_IndexDomainExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PathExpr638 = null; + + + try { + // XQueryParser.g:1493:9: ( p_PathExpr ) + // XQueryParser.g:1493:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_IndexDomainExpr13247); + p_PathExpr638=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr638.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeySpec_return: (function() { + XQueryParser.p_IndexKeySpec_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeySpec_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1496:1: p_IndexKeySpec : p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? ; + // $ANTLR start "p_IndexKeySpec" + p_IndexKeySpec: function() { + var retval = new XQueryParser.p_IndexKeySpec_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_IndexKeyExpr639 = null; + var p_IndexKeyTypeDecl640 = null; + var p_IndexKeyCollation641 = null; + + + try { + // XQueryParser.g:1497:9: ( p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? ) + // XQueryParser.g:1497:11: p_IndexKeyExpr p_IndexKeyTypeDecl ( p_IndexKeyCollation )? + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyExpr_in_p_IndexKeySpec13272); + p_IndexKeyExpr639=this.p_IndexKeyExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyExpr639.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyTypeDecl_in_p_IndexKeySpec13274); + p_IndexKeyTypeDecl640=this.p_IndexKeyTypeDecl(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyTypeDecl640.getTree()); + // XQueryParser.g:1497:45: ( p_IndexKeyCollation )? + var alt202=2; + var LA202_0 = this.input.LA(1); + + if ( (LA202_0==COLLATION) ) { + alt202=1; + } + switch (alt202) { + case 1 : + // XQueryParser.g:1497:45: p_IndexKeyCollation + this.pushFollow(XQueryParser.FOLLOW_p_IndexKeyCollation_in_p_IndexKeySpec13276); + p_IndexKeyCollation641=this.p_IndexKeyCollation(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_IndexKeyCollation641.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyExpr_return: (function() { + XQueryParser.p_IndexKeyExpr_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyExpr_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1500:1: p_IndexKeyExpr : p_PathExpr ; + // $ANTLR start "p_IndexKeyExpr" + p_IndexKeyExpr: function() { + var retval = new XQueryParser.p_IndexKeyExpr_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var p_PathExpr642 = null; + + + try { + // XQueryParser.g:1501:9: ( p_PathExpr ) + // XQueryParser.g:1501:11: p_PathExpr + root_0 = this.adaptor.nil(); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_IndexKeyExpr13302); + p_PathExpr642=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr642.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyTypeDecl_return: (function() { + XQueryParser.p_IndexKeyTypeDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyTypeDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1504:1: p_IndexKeyTypeDecl : ka= AS p_AtomicType ; + // $ANTLR start "p_IndexKeyTypeDecl" + p_IndexKeyTypeDecl: function() { + var retval = new XQueryParser.p_IndexKeyTypeDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var ka = null; + var p_AtomicType643 = null; + + var ka_tree=null; + + try { + // XQueryParser.g:1505:9: (ka= AS p_AtomicType ) + // XQueryParser.g:1505:11: ka= AS p_AtomicType + root_0 = this.adaptor.nil(); + + ka=this.match(this.input,AS,XQueryParser.FOLLOW_AS_in_p_IndexKeyTypeDecl13329); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + ka_tree = this.adaptor.create(ka); + this.adaptor.addChild(root_0, ka_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_AtomicType_in_p_IndexKeyTypeDecl13331); + p_AtomicType643=this.p_AtomicType(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_AtomicType643.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_IndexKeyCollation_return: (function() { + XQueryParser.p_IndexKeyCollation_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_IndexKeyCollation_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1508:1: p_IndexKeyCollation : kc= COLLATION p_StringLiteral ; + // $ANTLR start "p_IndexKeyCollation" + p_IndexKeyCollation: function() { + var retval = new XQueryParser.p_IndexKeyCollation_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var p_StringLiteral644 = null; + + var kc_tree=null; + + try { + // XQueryParser.g:1509:9: (kc= COLLATION p_StringLiteral ) + // XQueryParser.g:1509:11: kc= COLLATION p_StringLiteral + root_0 = this.adaptor.nil(); + + kc=this.match(this.input,COLLATION,XQueryParser.FOLLOW_COLLATION_in_p_IndexKeyCollation13358); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_StringLiteral_in_p_IndexKeyCollation13360); + p_StringLiteral644=this.p_StringLiteral(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_StringLiteral644.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICDecl_return: (function() { + XQueryParser.p_ICDecl_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICDecl_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1512:1: p_ICDecl : k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON ; + // $ANTLR start "p_ICDecl" + p_ICDecl: function() { + var retval = new XQueryParser.p_ICDecl_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var SEMICOLON648 = null; + var k = null; + var list_k=null; + var p_QName645 = null; + var p_ICCollection646 = null; + var p_ICForeignKey647 = null; + + var SEMICOLON648_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1513:9: (k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON ) + // XQueryParser.g:1513:11: k+= DECLARE k+= INTEGRITY k+= CONSTRAINT p_QName ( p_ICCollection | p_ICForeignKey ) SEMICOLON + root_0 = this.adaptor.nil(); + + k=this.match(this.input,DECLARE,XQueryParser.FOLLOW_DECLARE_in_p_ICDecl13387); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,INTEGRITY,XQueryParser.FOLLOW_INTEGRITY_in_p_ICDecl13391); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,CONSTRAINT,XQueryParser.FOLLOW_CONSTRAINT_in_p_ICDecl13395); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICDecl13398); + p_QName645=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName645.getTree()); + // XQueryParser.g:1513:58: ( p_ICCollection | p_ICForeignKey ) + var alt203=2; + var LA203_0 = this.input.LA(1); + + if ( (LA203_0==ON) ) { + alt203=1; + } + else if ( (LA203_0==FOREIGN) ) { + alt203=2; + } + else { + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 203, 0, this.input); + + throw nvae; + } + switch (alt203) { + case 1 : + // XQueryParser.g:1513:59: p_ICCollection + this.pushFollow(XQueryParser.FOLLOW_p_ICCollection_in_p_ICDecl13401); + p_ICCollection646=this.p_ICCollection(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollection646.getTree()); + + + break; + case 2 : + // XQueryParser.g:1513:76: p_ICForeignKey + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKey_in_p_ICDecl13405); + p_ICForeignKey647=this.p_ICForeignKey(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKey647.getTree()); + + + break; + + } + + SEMICOLON648=this.match(this.input,SEMICOLON,XQueryParser.FOLLOW_SEMICOLON_in_p_ICDecl13408); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + SEMICOLON648_tree = this.adaptor.create(SEMICOLON648); + this.adaptor.addChild(root_0, SEMICOLON648_tree); + } + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollection_return: (function() { + XQueryParser.p_ICCollection_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollection_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1516:1: p_ICCollection : k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) ; + // $ANTLR start "p_ICCollection" + p_ICCollection: function() { + var retval = new XQueryParser.p_ICCollection_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_QName649 = null; + var p_ICCollSequence650 = null; + var p_ICCollSequenceUnique651 = null; + var p_ICCollNode652 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1517:9: (k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) ) + // XQueryParser.g:1517:11: k+= ON k+= COLLECTION p_QName ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) + root_0 = this.adaptor.nil(); + + k=this.match(this.input,ON,XQueryParser.FOLLOW_ON_in_p_ICCollection13435); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_ICCollection13439); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollection13442); + p_QName649=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName649.getTree()); + // XQueryParser.g:1517:40: ( p_ICCollSequence | p_ICCollSequenceUnique | p_ICCollNode ) + var alt204=3; + switch ( this.input.LA(1) ) { + case DOLLAR: + alt204=1; + break; + case NODE: + alt204=2; + break; + case FOREACH: + alt204=3; + break; + default: + if (this.state.backtracking>0) {this.state.failed=true; return retval;} + var nvae = + new org.antlr.runtime.NoViableAltException("", 204, 0, this.input); + + throw nvae; + } + + switch (alt204) { + case 1 : + // XQueryParser.g:1517:41: p_ICCollSequence + this.pushFollow(XQueryParser.FOLLOW_p_ICCollSequence_in_p_ICCollection13445); + p_ICCollSequence650=this.p_ICCollSequence(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollSequence650.getTree()); + + + break; + case 2 : + // XQueryParser.g:1517:60: p_ICCollSequenceUnique + this.pushFollow(XQueryParser.FOLLOW_p_ICCollSequenceUnique_in_p_ICCollection13449); + p_ICCollSequenceUnique651=this.p_ICCollSequenceUnique(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollSequenceUnique651.getTree()); + + + break; + case 3 : + // XQueryParser.g:1517:85: p_ICCollNode + this.pushFollow(XQueryParser.FOLLOW_p_ICCollNode_in_p_ICCollection13453); + p_ICCollNode652=this.p_ICCollNode(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICCollNode652.getTree()); + + + break; + + } + + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollSequence_return: (function() { + XQueryParser.p_ICCollSequence_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollSequence_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1520:1: p_ICCollSequence : DOLLAR p_QName kc= CHECK p_ExprSingle ; + // $ANTLR start "p_ICCollSequence" + p_ICCollSequence: function() { + var retval = new XQueryParser.p_ICCollSequence_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kc = null; + var DOLLAR653 = null; + var p_QName654 = null; + var p_ExprSingle655 = null; + + var kc_tree=null; + var DOLLAR653_tree=null; + + try { + // XQueryParser.g:1521:9: ( DOLLAR p_QName kc= CHECK p_ExprSingle ) + // XQueryParser.g:1521:11: DOLLAR p_QName kc= CHECK p_ExprSingle + root_0 = this.adaptor.nil(); + + DOLLAR653=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollSequence13479); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR653_tree = this.adaptor.create(DOLLAR653); + this.adaptor.addChild(root_0, DOLLAR653_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollSequence13481); + p_QName654=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName654.getTree()); + kc=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollSequence13485); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kc_tree = this.adaptor.create(kc); + this.adaptor.addChild(root_0, kc_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ICCollSequence13487); + p_ExprSingle655=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle655.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollSequenceUnique_return: (function() { + XQueryParser.p_ICCollSequenceUnique_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollSequenceUnique_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1524:1: p_ICCollSequenceUnique : k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr ; + // $ANTLR start "p_ICCollSequenceUnique" + p_ICCollSequenceUnique: function() { + var retval = new XQueryParser.p_ICCollSequenceUnique_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_QName656 = null; + var p_PathExpr657 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1525:9: (k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr ) + // XQueryParser.g:1525:11: k+= NODE k+= DOLLAR p_QName k+= CHECK k+= UNIQUE k+= KEY p_PathExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICCollSequenceUnique13514); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollSequenceUnique13518); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollSequenceUnique13520); + p_QName656=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName656.getTree()); + k=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollSequenceUnique13524); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,UNIQUE,XQueryParser.FOLLOW_UNIQUE_in_p_ICCollSequenceUnique13528); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICCollSequenceUnique13532); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ICCollSequenceUnique13534); + p_PathExpr657=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr657.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICCollNode_return: (function() { + XQueryParser.p_ICCollNode_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICCollNode_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1528:1: p_ICCollNode : k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle ; + // $ANTLR start "p_ICCollNode" + p_ICCollNode: function() { + var retval = new XQueryParser.p_ICCollNode_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR658 = null; + var k = null; + var list_k=null; + var p_QName659 = null; + var p_ExprSingle660 = null; + + var DOLLAR658_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1529:9: (k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle ) + // XQueryParser.g:1529:11: k+= FOREACH k+= NODE DOLLAR p_QName k+= CHECK p_ExprSingle + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOREACH,XQueryParser.FOLLOW_FOREACH_in_p_ICCollNode13562); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICCollNode13566); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR658=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICCollNode13568); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR658_tree = this.adaptor.create(DOLLAR658); + this.adaptor.addChild(root_0, DOLLAR658_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICCollNode13570); + p_QName659=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName659.getTree()); + k=this.match(this.input,CHECK,XQueryParser.FOLLOW_CHECK_in_p_ICCollNode13574); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ExprSingle_in_p_ICCollNode13576); + p_ExprSingle660=this.p_ExprSingle(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ExprSingle660.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKey_return: (function() { + XQueryParser.p_ICForeignKey_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKey_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1532:1: p_ICForeignKey : k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget ; + // $ANTLR start "p_ICForeignKey" + p_ICForeignKey: function() { + var retval = new XQueryParser.p_ICForeignKey_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var k = null; + var list_k=null; + var p_ICForeignKeySource661 = null; + var p_ICForeignKeyTarget662 = null; + + var k_tree=null; + + try { + // XQueryParser.g:1533:9: (k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget ) + // XQueryParser.g:1533:11: k+= FOREIGN k+= KEY p_ICForeignKeySource p_ICForeignKeyTarget + root_0 = this.adaptor.nil(); + + k=this.match(this.input,FOREIGN,XQueryParser.FOLLOW_FOREIGN_in_p_ICForeignKey13604); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICForeignKey13608); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeySource_in_p_ICForeignKey13610); + p_ICForeignKeySource661=this.p_ICForeignKeySource(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeySource661.getTree()); + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyTarget_in_p_ICForeignKey13612); + p_ICForeignKeyTarget662=this.p_ICForeignKeyTarget(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyTarget662.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeySource_return: (function() { + XQueryParser.p_ICForeignKeySource_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeySource_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1536:1: p_ICForeignKeySource : kf= FROM p_ICForeignKeyValues ; + // $ANTLR start "p_ICForeignKeySource" + p_ICForeignKeySource: function() { + var retval = new XQueryParser.p_ICForeignKeySource_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kf = null; + var p_ICForeignKeyValues663 = null; + + var kf_tree=null; + + try { + // XQueryParser.g:1537:9: (kf= FROM p_ICForeignKeyValues ) + // XQueryParser.g:1537:11: kf= FROM p_ICForeignKeyValues + root_0 = this.adaptor.nil(); + + kf=this.match(this.input,FROM,XQueryParser.FOLLOW_FROM_in_p_ICForeignKeySource13640); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kf_tree = this.adaptor.create(kf); + this.adaptor.addChild(root_0, kf_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeySource13642); + p_ICForeignKeyValues663=this.p_ICForeignKeyValues(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyValues663.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeyTarget_return: (function() { + XQueryParser.p_ICForeignKeyTarget_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeyTarget_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1540:1: p_ICForeignKeyTarget : kt= TO p_ICForeignKeyValues ; + // $ANTLR start "p_ICForeignKeyTarget" + p_ICForeignKeyTarget: function() { + var retval = new XQueryParser.p_ICForeignKeyTarget_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var kt = null; + var p_ICForeignKeyValues664 = null; + + var kt_tree=null; + + try { + // XQueryParser.g:1541:9: (kt= TO p_ICForeignKeyValues ) + // XQueryParser.g:1541:11: kt= TO p_ICForeignKeyValues + root_0 = this.adaptor.nil(); + + kt=this.match(this.input,TO,XQueryParser.FOLLOW_TO_in_p_ICForeignKeyTarget13669); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + kt_tree = this.adaptor.create(kt); + this.adaptor.addChild(root_0, kt_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeyTarget13671); + p_ICForeignKeyValues664=this.p_ICForeignKeyValues(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_ICForeignKeyValues664.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // inline static return class + p_ICForeignKeyValues_return: (function() { + XQueryParser.p_ICForeignKeyValues_return = function(){}; + org.antlr.lang.extend(XQueryParser.p_ICForeignKeyValues_return, + org.antlr.runtime.ParserRuleReturnScope, + { + getTree: function() { return this.tree; } + }); + return; + })(), + + // XQueryParser.g:1544:1: p_ICForeignKeyValues : k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr ; + // $ANTLR start "p_ICForeignKeyValues" + p_ICForeignKeyValues: function() { + var retval = new XQueryParser.p_ICForeignKeyValues_return(); + retval.start = this.input.LT(1); + + var root_0 = null; + + var DOLLAR666 = null; + var k = null; + var list_k=null; + var p_QName665 = null; + var p_QName667 = null; + var p_PathExpr668 = null; + + var DOLLAR666_tree=null; + var k_tree=null; + + try { + // XQueryParser.g:1545:9: (k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr ) + // XQueryParser.g:1545:11: k+= COLLECTION p_QName k+= NODE DOLLAR p_QName k+= KEY p_PathExpr + root_0 = this.adaptor.nil(); + + k=this.match(this.input,COLLECTION,XQueryParser.FOLLOW_COLLECTION_in_p_ICForeignKeyValues13698); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICForeignKeyValues13700); + p_QName665=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName665.getTree()); + k=this.match(this.input,NODE,XQueryParser.FOLLOW_NODE_in_p_ICForeignKeyValues13704); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + DOLLAR666=this.match(this.input,DOLLAR,XQueryParser.FOLLOW_DOLLAR_in_p_ICForeignKeyValues13706); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + DOLLAR666_tree = this.adaptor.create(DOLLAR666); + this.adaptor.addChild(root_0, DOLLAR666_tree); + } + this.pushFollow(XQueryParser.FOLLOW_p_QName_in_p_ICForeignKeyValues13708); + p_QName667=this.p_QName(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_QName667.getTree()); + k=this.match(this.input,KEY,XQueryParser.FOLLOW_KEY_in_p_ICForeignKeyValues13712); if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) { + k_tree = this.adaptor.create(k); + this.adaptor.addChild(root_0, k_tree); + } + if (org.antlr.lang.isNull(list_k)) list_k = []; + list_k.push(k); + + this.pushFollow(XQueryParser.FOLLOW_p_PathExpr_in_p_ICForeignKeyValues13714); + p_PathExpr668=this.p_PathExpr(); + + this.state._fsp--; + if (this.state.failed) return retval; + if ( this.state.backtracking===0 ) this.adaptor.addChild(root_0, p_PathExpr668.getTree()); + + + + retval.stop = this.input.LT(-1); + + if ( this.state.backtracking===0 ) { + + retval.tree = this.adaptor.rulePostProcessing(root_0); + this.adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (re) { + if (re instanceof org.antlr.runtime.RecognitionException) { + this.reportError(re); + this.recover(this.input,re); + retval.tree = this.adaptor.errorNode(this.input, retval.start, this.input.LT(-1), re); + } else { + throw re; + } + } + finally { + } + return retval; + }, + + // $ANTLR start "synpred1_XQueryParser" + synpred1_XQueryParser_fragment: function() { + // XQueryParser.g:657:11: ( SLASH p_RelativePathExpr ) + // XQueryParser.g:657:12: SLASH p_RelativePathExpr + this.match(this.input,SLASH,XQueryParser.FOLLOW_SLASH_in_synpred1_XQueryParser5860); if (this.state.failed) return ; + this.pushFollow(XQueryParser.FOLLOW_p_RelativePathExpr_in_synpred1_XQueryParser5862); + this.p_RelativePathExpr(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred1_XQueryParser", + + // $ANTLR start "synpred2_XQueryParser" + synpred2_XQueryParser_fragment: function() { + // XQueryParser.g:1011:26: ( p_OccurrenceIndicator ) + // XQueryParser.g:1011:27: p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_synpred2_XQueryParser8510); + this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred2_XQueryParser", + + // $ANTLR start "synpred3_XQueryParser" + synpred3_XQueryParser_fragment: function() { + // XQueryParser.g:1471:30: ( p_OccurrenceIndicator ) + // XQueryParser.g:1471:31: p_OccurrenceIndicator + this.pushFollow(XQueryParser.FOLLOW_p_OccurrenceIndicator_in_synpred3_XQueryParser12993); + this.p_OccurrenceIndicator(); + + this.state._fsp--; + if (this.state.failed) return ; + + + }, + // $ANTLR end "synpred3_XQueryParser" + + // Delegated rules + + + + synpred3_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred3_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + }, + synpred1_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred1_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + }, + synpred2_XQueryParser: function() { + this.state.backtracking++; + var start = this.input.mark(); + try { + this.synpred2_XQueryParser_fragment(); // can never throw exception + } catch (re) { + alert("impossible: "+re.toString()); + } + var success = !this.state.failed; + this.input.rewind(start); + this.state.backtracking--; + this.state.failed=false; + return success; + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(XQueryParser, { + DFA6_eotS: + "\u000d\uffff", + DFA6_eofS: + "\u0001\u0002\u0001\u000c\u0001\uffff\u0001\u000c\u0009\uffff", + DFA6_minS: + "\u0001\u0010\u0001\u0012\u0001\uffff\u0001\u0012\u0009\uffff", + DFA6_maxS: + "\u0001\u0137\u0001\u00e0\u0001\uffff\u0001\u00e0\u0009\uffff", + DFA6_acceptS: + "\u0002\uffff\u0001\u0002\u0001\uffff\u0003\u0002\u0003\u0001\u0003"+ + "\u0002", + DFA6_specialS: + "\u0001\uffff\u0001\u0000\u000b\uffff}>", + DFA6_transitionS: [ + "\u0012\u0002\u0001\u0001\u0019\u0002\u0001\u0003\u0062\u0002"+ + "\u0001\uffff\u0014\u0002\u0001\uffff\u000d\u0002\u0001\uffff"+ + "\u0001\u0002\u000a\uffff\u0004\u0002\u0005\uffff\u0004\u0002"+ + "\u000c\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0006\uffff\u0006\u0002\u003b\uffff\u0002\u0002", + "\u0001\u000c\u0004\uffff\u0002\u0007\u0002\uffff\u0002\u000c"+ + "\u0003\uffff\u0001\u0007\u0001\u0009\u0001\uffff\u0001\u0007"+ + "\u0003\uffff\u0001\u000c\u0007\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0004\uffff\u0001\u000a\u0001\u000c\u0001\uffff"+ + "\u0002\u000c\u0004\uffff\u0003\u000c\u0002\uffff\u0001\u000c"+ + "\u0002\uffff\u0002\u000c\u0001\uffff\u0001\u0009\u0001\u000c"+ + "\u0004\uffff\u0001\u0005\u0001\u000c\u0001\uffff\u0001\u000b"+ + "\u0001\u0007\u0011\uffff\u0002\u000c\u0001\uffff\u0001\u000c"+ + "\u0001\u000b\u0001\uffff\u0001\u000a\u0004\uffff\u0001\u0002"+ + "\u0025\uffff\u0001\u0008\u0001\uffff\u0001\u000a\u0001\u000b"+ + "\u0002\uffff\u0001\u000a\u0002\uffff\u0001\u0004\u0001\uffff"+ + "\u0001\u000a\u0003\uffff\u0002\u000b\u0001\uffff\u0001\u000b"+ + "\u0001\uffff\u0001\u000b\u0004\uffff\u0001\u000b\u0001\u0006"+ + "\u0002\uffff\u0003\u000b\u0001\uffff\u0001\u000b\u0002\uffff"+ + "\u0001\u000b\u0001\uffff\u0001\u000a\u0003\uffff\u0001\u000c"+ + "\u0004\uffff\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff\u000b\u000c"+ + "\u0002\uffff\u0001\u000c\u0003\uffff\u0002\u000c", + "", + "\u0001\u000c\u0008\uffff\u0002\u000c\u000a\uffff\u0001\u000c"+ + "\u0007\uffff\u0001\u000c\u0001\uffff\u0001\u000c\u0005\uffff"+ + "\u0001\u000c\u0001\uffff\u0002\u000c\u0004\uffff\u0003\u000c"+ + "\u0002\uffff\u0001\u000c\u0002\uffff\u0002\u000c\u0001\u0009"+ + "\u0001\uffff\u0001\u000c\u0005\uffff\u0001\u000c\u000a\uffff"+ + "\u0001\u0009\u0009\uffff\u0002\u000c\u0001\uffff\u0001\u000c"+ + "\u0057\uffff\u0001\u000c\u0004\uffff\u0001\u000c\u0001\uffff"+ + "\u0001\u000c\u0001\uffff\u0001\u000c\u0001\uffff\u0001\u000c"+ + "\u0001\uffff\u000b\u000c\u0002\uffff\u0001\u000c\u0003\uffff"+ + "\u0002\u000c", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA6_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_eotS), + DFA6_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_eofS), + DFA6_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA6_minS), + DFA6_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA6_maxS), + DFA6_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_acceptS), + DFA6_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA6_specialS), + DFA6_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA6_transitionS.length; + for (i=0; i=BASE_URI && LA6_1<=BOUNDARY_SPACE)||LA6_1==CONSTRUCTION||LA6_1==DEFAULT||LA6_1==ORDERING) ) {s = 7;} + + else if ( (LA6_1==REVALIDATION) && ((true))) {s = 8;} + + else if ( (LA6_1==COPY_NAMESPACES||LA6_1==NAMESPACE) ) {s = 9;} + + else if ( (LA6_1==FUNCTION||LA6_1==VARIABLE||LA6_1==UPDATING||LA6_1==CONSTANT||LA6_1==SIMPLE||LA6_1==PRIVATE) ) {s = 10;} + + else if ( (LA6_1==ORDERED||LA6_1==UNORDERED||LA6_1==VALUE||(LA6_1>=APPEND_ONLY && LA6_1<=AUTOMATICALLY)||LA6_1==COLLECTION||LA6_1==CONST||LA6_1==INDEX||(LA6_1>=MANUALLY && LA6_1<=NON)||LA6_1==QUEUE||LA6_1==UNIQUE) && ((true))) {s = 11;} + + else if ( (LA6_1==EOF||LA6_1==AND||(LA6_1>=CAST && LA6_1<=CASTABLE)||LA6_1==DIV||LA6_1==EQ||LA6_1==EXCEPT||LA6_1==GE||(LA6_1>=GT && LA6_1<=IDIV)||(LA6_1>=INSTANCE && LA6_1<=IS)||LA6_1==LE||(LA6_1>=LT && LA6_1<=MOD)||LA6_1==NE||LA6_1==OR||(LA6_1>=TO && LA6_1<=TREAT)||LA6_1==UNION||LA6_1==LPAREN||LA6_1==LSQUARE||LA6_1==EQUAL||LA6_1==NOTEQUAL||LA6_1==COMMA||(LA6_1>=STAR && LA6_1<=SLASH_SLASH)||LA6_1==COLON||(LA6_1>=SEMICOLON && LA6_1<=VBAR)) ) {s = 12;} + + + input.seek(index6_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 6, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA7_eotS: + "\u000c\uffff", + DFA7_eofS: + "\u0001\u0001\u0001\uffff\u0001\u0001\u0009\uffff", + DFA7_minS: + "\u0001\u0010\u0001\uffff\u0001\u0012\u0004\uffff\u0001\u0036\u0004"+ + "\uffff", + DFA7_maxS: + "\u0001\u0137\u0001\uffff\u0001\u00e0\u0004\uffff\u0001\u00a2\u0004"+ + "\uffff", + DFA7_acceptS: + "\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0002\u0001\u0003\u0001"+ + "\u0004\u0001\u0007\u0001\uffff\u0001\u0001\u0001\u0003\u0001\u0005\u0001"+ + "\u0006", + DFA7_specialS: + "\u0002\uffff\u0001\u0000\u0009\uffff}>", + DFA7_transitionS: [ + "\u0012\u0001\u0001\u0002\u007c\u0001\u0001\uffff\u0014\u0001"+ + "\u0001\uffff\u000d\u0001\u0001\uffff\u0001\u0001\u000a\uffff"+ + "\u0004\u0001\u0005\uffff\u0004\u0001\u000c\uffff\u0001\u0001"+ + "\u0002\uffff\u0002\u0001\u0002\uffff\u0001\u0001\u0006\uffff"+ + "\u0006\u0001\u003b\uffff\u0002\u0001", + "", + "\u0001\u0001\u0008\uffff\u0002\u0001\u000a\uffff\u0001\u0001"+ + "\u0007\uffff\u0001\u0001\u0001\uffff\u0001\u0001\u0004\uffff"+ + "\u0001\u0009\u0001\u0001\u0001\uffff\u0002\u0001\u0004\uffff"+ + "\u0003\u0001\u0002\uffff\u0001\u0001\u0002\uffff\u0002\u0001"+ + "\u0002\uffff\u0001\u0001\u0004\uffff\u0001\u0005\u0001\u0001"+ + "\u0001\uffff\u0001\u000a\u0012\uffff\u0002\u0001\u0001\uffff"+ + "\u0001\u0001\u0001\u000a\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0003\u0027\uffff\u0001\u0009\u0001\u000b\u0002\uffff"+ + "\u0001\u0008\u0002\uffff\u0001\u0004\u0001\uffff\u0001\u0009"+ + "\u0003\uffff\u0001\u000a\u0001\u000b\u0001\uffff\u0001\u000a"+ + "\u0001\uffff\u0001\u000a\u0004\uffff\u0001\u000b\u0001\u0006"+ + "\u0002\uffff\u0001\u000b\u0001\u000a\u0001\u000b\u0001\uffff"+ + "\u0001\u000a\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u0007"+ + "\u0003\uffff\u0001\u0001\u0004\uffff\u0001\u0001\u0001\uffff"+ + "\u0001\u0001\u0001\uffff\u0001\u0001\u0001\uffff\u0001\u0001"+ + "\u0001\uffff\u000b\u0001\u0002\uffff\u0001\u0001\u0003\uffff"+ + "\u0002\u0001", + "", + "", + "", + "", + "\u0001\u0009\u0035\uffff\u0001\u0008\u002c\uffff\u0001\u0009"+ + "\u0003\uffff\u0001\u0008\u0004\uffff\u0001\u0009", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA7_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_eotS), + DFA7_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_eofS), + DFA7_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA7_minS), + DFA7_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA7_maxS), + DFA7_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_acceptS), + DFA7_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA7_specialS), + DFA7_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA7_transitionS.length; + for (i=0; i p_CollectionDecl | {...}? => p_IndexDecl | {...}? => p_ICDecl )*"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA7_2 = input.LA(1); + + + var index7_2 = input.index(); + input.rewind(); + s = -1; + if ( (LA7_2==CONTEXT) ) {s = 3;} + + else if ( (LA7_2==SEQUENTIAL) && ((true))) {s = 4;} + + else if ( (LA7_2==OPTION) ) {s = 5;} + + else if ( (LA7_2==INTEGRITY) && ((true))) {s = 6;} + + else if ( (LA7_2==EOF||LA7_2==AND||(LA7_2>=CAST && LA7_2<=CASTABLE)||LA7_2==DIV||LA7_2==EQ||LA7_2==EXCEPT||LA7_2==GE||(LA7_2>=GT && LA7_2<=IDIV)||(LA7_2>=INSTANCE && LA7_2<=IS)||LA7_2==LE||(LA7_2>=LT && LA7_2<=MOD)||LA7_2==NE||LA7_2==OR||(LA7_2>=TO && LA7_2<=TREAT)||LA7_2==UNION||LA7_2==LPAREN||LA7_2==LSQUARE||LA7_2==EQUAL||LA7_2==NOTEQUAL||LA7_2==COMMA||(LA7_2>=STAR && LA7_2<=SLASH_SLASH)||LA7_2==COLON||(LA7_2>=SEMICOLON && LA7_2<=VBAR)) ) {s = 1;} + + else if ( (LA7_2==PRIVATE) ) {s = 7;} + + else if ( (LA7_2==VARIABLE||LA7_2==CONSTANT) ) {s = 8;} + + else if ( (LA7_2==FUNCTION||LA7_2==UPDATING||LA7_2==SIMPLE) ) {s = 9;} + + else if ( (LA7_2==ORDERED||LA7_2==UNORDERED||LA7_2==APPEND_ONLY||LA7_2==COLLECTION||LA7_2==CONST||LA7_2==MUTABLE||LA7_2==QUEUE) && ((true))) {s = 10;} + + else if ( (LA7_2==VALUE||LA7_2==AUTOMATICALLY||LA7_2==INDEX||LA7_2==MANUALLY||LA7_2==NON||LA7_2==UNIQUE) && ((true))) {s = 11;} + + + input.seek(index7_2); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 7, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA8_eotS: + "\u000b\uffff", + DFA8_eofS: + "\u000b\uffff", + DFA8_minS: + "\u0001\u0022\u0001\u0017\u0001\uffff\u0001\u001e\u0007\uffff", + DFA8_maxS: + "\u0001\u0022\u0001\u0097\u0001\uffff\u0001\u0052\u0007\uffff", + DFA8_acceptS: + "\u0002\uffff\u0001\u0001\u0001\uffff\u0001\u0003\u0001\u0004\u0001"+ + "\u0005\u0001\u0007\u0001\u0008\u0001\u0002\u0001\u0006", + DFA8_specialS: + "\u0001\uffff\u0001\u0000\u0009\uffff}>", + DFA8_transitionS: [ + "\u0001\u0001", + "\u0001\u0004\u0001\u0002\u0007\uffff\u0001\u0005\u0001\u0008"+ + "\u0001\uffff\u0001\u0003\u0030\uffff\u0001\u0006\u0042\uffff"+ + "\u0001\u0007", + "", + "\u0001\u0009\u0033\uffff\u0001\u000a", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA8_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_eotS), + DFA8_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_eofS), + DFA8_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA8_minS), + DFA8_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA8_maxS), + DFA8_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_acceptS), + DFA8_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA8_specialS), + DFA8_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA8_transitionS.length; + for (i=0; i pm_RevalidationDecl | pm_CopyNamespacesDecl );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA8_1 = input.LA(1); + + + var index8_1 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_1==BOUNDARY_SPACE) ) {s = 2;} + + else if ( (LA8_1==DEFAULT) ) {s = 3;} + + else if ( (LA8_1==BASE_URI) ) {s = 4;} + + else if ( (LA8_1==CONSTRUCTION) ) {s = 5;} + + else if ( (LA8_1==ORDERING) ) {s = 6;} + + else if ( (LA8_1==REVALIDATION) && ((true))) {s = 7;} + + else if ( (LA8_1==COPY_NAMESPACES) ) {s = 8;} + + + input.seek(index8_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 8, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA49_eotS: + "\u0022\uffff", + DFA49_eofS: + "\u0001\uffff\u0001\u0013\u0001\uffff\u0010\u0013\u000f\uffff", + DFA49_minS: + "\u0001\u0010\u0001\u0012\u0001\uffff\u0010\u0012\u000f\uffff", + DFA49_maxS: + "\u0001\u0137\u0001\u0136\u0001\uffff\u0010\u0136\u000f\uffff", + DFA49_acceptS: + "\u0002\uffff\u0001\u0001\u0010\uffff\u0001\u0010\u0001\u0002\u0001"+ + "\u0003\u0001\u0004\u0001\u0005\u0001\u0006\u0001\u0007\u0001\u0008\u0001"+ + "\u0009\u0001\u000a\u0001\u000b\u0001\u000c\u0001\u000d\u0001\u000e\u0001"+ + "\u000f", + DFA49_specialS: + "\u0008\uffff\u0001\u0000\u0001\u0003\u0001\u000a\u0001\u0001\u0001"+ + "\u0007\u0001\u0009\u0001\u0002\u0001\u0005\u0001\u0004\u0001\u0006\u0001"+ + "\u0008\u000f\uffff}>", + DFA49_transitionS: [ + "\u0020\u0013\u0001\u0004\u0004\u0013\u0001\u0001\u0005\u0013"+ + "\u0001\u0006\u0024\u0013\u0001\u0003\u0007\u0013\u0001\u0005"+ + "\u001d\u0013\u0001\u0007\u0006\u0013\u0001\u000e\u0001\u000b"+ + "\u0001\u0013\u0001\u000a\u0004\u0013\u0001\u000c\u0001\u000d"+ + "\u0005\u0013\u0001\u000f\u0001\u0013\u0001\u0011\u0001\uffff"+ + "\u0001\u0013\u0001\u0010\u0001\u0013\u0001\u0012\u0001\u0009"+ + "\u0001\u0008\u000e\u0013\u0001\uffff\u000d\u0013\u0001\uffff"+ + "\u0001\u0013\u000a\uffff\u0004\u0013\u0005\uffff\u0004\u0013"+ + "\u000c\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0002\uffff"+ + "\u0001\u0013\u0006\uffff\u0006\u0013\u003b\uffff\u0001\u0002"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0005\uffff\u0001\u0002\u0001\u0013"+ + "\u0001\uffff\u0001\u0002\u0003\uffff\u0002\u0013\u0004\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0007\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0001\u0002\u0001\uffff\u0004\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u000b\u0013\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0055\uffff\u0001\u0013", + "", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0014"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0014"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0015\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0016\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0017\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u0018"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0018\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u0019\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\u0019\u0006\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001a\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\u001a\u0006\uffff\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001b\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0007\uffff\u0001\u0013\u0025\uffff"+ + "\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff"+ + "\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0002\uffff"+ + "\u0001\u001c\u0002\uffff\u0002\u0013\u0007\uffff\u0002\u0013"+ + "\u0005\uffff\u0001\u0013\u0004\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u0013\u0004\uffff\u0001\u0013\u0003\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0006\uffff\u0001\u0013\u0006\uffff"+ + "\u0001\u0013\u0005\uffff\u0002\u0013\u0004\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0006\uffff\u0001\u001c\u0001\u0013"+ + "\u0025\uffff\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013"+ + "\u0002\uffff\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff"+ + "\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u001d"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\uffff"+ + "\u0001\u001e\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0002\u0013\u0001\u001f"+ + "\u0001\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0003\uffff\u0001\u0020\u0021\uffff"+ + "\u0002\u0013\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013"+ + "\u0001\uffff\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff"+ + "\u0001\u0013\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "\u0003\u0013\u0005\uffff\u0003\u0013\u0001\uffff\u0001\u0013"+ + "\u0004\uffff\u0001\u0013\u0002\uffff\u0002\u0013\u0003\uffff"+ + "\u0002\u0013\u0002\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0003\uffff\u0001\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0002\u0013\u0004\uffff\u0003\u0013\u0002\uffff\u0001\u0013"+ + "\u0002\uffff\u0002\u0013\u0002\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0007\uffff\u0002\u0013\u0005\uffff\u0001\u0013"+ + "\u0004\uffff\u0002\u0013\u0001\uffff\u0001\u0013\u0004\uffff"+ + "\u0001\u0013\u0003\uffff\u0001\u0013\u0003\uffff\u0002\u0013"+ + "\u0006\uffff\u0001\u0013\u0006\uffff\u0001\u0013\u0005\uffff"+ + "\u0002\u0013\u0004\uffff\u0001\u0013\u0001\uffff\u0001\u0013"+ + "\u0007\uffff\u0001\u0013\u0025\uffff\u0001\u0021\u0001\u0013"+ + "\u0002\uffff\u0004\u0013\u0001\uffff\u0001\u0013\u0001\uffff"+ + "\u0001\u0013\u0001\uffff\u000b\u0013\u0002\uffff\u0001\u0013"+ + "\u0003\uffff\u0002\u0013\u0055\uffff\u0001\u0013", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA49_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_eotS), + DFA49_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_eofS), + DFA49_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA49_minS), + DFA49_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA49_maxS), + DFA49_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_acceptS), + DFA49_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA49_specialS), + DFA49_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA49_transitionS.length; + for (i=0; i p_EvalExpr | {...}? => p_InsertExpr | {...}? => p_DeleteExpr | {...}? => p_RenameExpr | {...}? => p_ReplaceExpr | {...}? => p_TransformExpr | {...}? => p_BlockExpr | {...}? => p_AssignmentExpr | {...}? => p_ExitExpr | {...}? => p_WhileExpr | p_OrExpr );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA49_8 = input.LA(1); + + + var index49_8 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_8==DOLLAR) && ((true))) {s = 24;} + + else if ( (LA49_8==EOF||(LA49_8>=AND && LA49_8<=ASCENDING)||(LA49_8>=CASE && LA49_8<=CASTABLE)||LA49_8==COLLATION||LA49_8==DEFAULT||(LA49_8>=DESCENDING && LA49_8<=DIV)||(LA49_8>=ELSE && LA49_8<=EMPTY)||LA49_8==EQ||LA49_8==EXCEPT||LA49_8==FOR||LA49_8==GE||(LA49_8>=GT && LA49_8<=IDIV)||(LA49_8>=INSTANCE && LA49_8<=IS)||LA49_8==LE||(LA49_8>=LT && LA49_8<=MOD)||LA49_8==NE||(LA49_8>=OR && LA49_8<=ORDER)||(LA49_8>=RETURN && LA49_8<=SATISFIES)||LA49_8==STABLE||(LA49_8>=TO && LA49_8<=TREAT)||LA49_8==UNION||LA49_8==WHERE||LA49_8==COUNT||(LA49_8>=END && LA49_8<=GROUP)||LA49_8==ONLY||LA49_8==START||(LA49_8>=AFTER && LA49_8<=BEFORE)||LA49_8==INTO||LA49_8==MODIFY||LA49_8==WITH||(LA49_8>=LPAREN && LA49_8<=RPAREN)||(LA49_8>=RBRACKET && LA49_8<=EQUAL)||LA49_8==NOTEQUAL||LA49_8==COMMA||(LA49_8>=STAR && LA49_8<=SLASH_SLASH)||LA49_8==COLON||(LA49_8>=SEMICOLON && LA49_8<=VBAR)||LA49_8==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_8); + if ( s>=0 ) return s; + break; + case 1 : + var LA49_11 = input.LA(1); + + + var index49_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_11==NODE||LA49_11==NODES) && ((true))) {s = 26;} + + else if ( (LA49_11==EOF||(LA49_11>=AND && LA49_11<=ASCENDING)||(LA49_11>=CASE && LA49_11<=CASTABLE)||LA49_11==COLLATION||LA49_11==DEFAULT||(LA49_11>=DESCENDING && LA49_11<=DIV)||(LA49_11>=ELSE && LA49_11<=EMPTY)||LA49_11==EQ||LA49_11==EXCEPT||LA49_11==FOR||LA49_11==GE||(LA49_11>=GT && LA49_11<=IDIV)||(LA49_11>=INSTANCE && LA49_11<=IS)||LA49_11==LE||(LA49_11>=LT && LA49_11<=MOD)||LA49_11==NE||(LA49_11>=OR && LA49_11<=ORDER)||(LA49_11>=RETURN && LA49_11<=SATISFIES)||LA49_11==STABLE||(LA49_11>=TO && LA49_11<=TREAT)||LA49_11==UNION||LA49_11==WHERE||LA49_11==COUNT||(LA49_11>=END && LA49_11<=GROUP)||LA49_11==ONLY||LA49_11==START||(LA49_11>=AFTER && LA49_11<=BEFORE)||LA49_11==INTO||LA49_11==MODIFY||LA49_11==WITH||(LA49_11>=LPAREN && LA49_11<=RPAREN)||(LA49_11>=RBRACKET && LA49_11<=EQUAL)||LA49_11==NOTEQUAL||LA49_11==COMMA||(LA49_11>=STAR && LA49_11<=SLASH_SLASH)||LA49_11==COLON||(LA49_11>=SEMICOLON && LA49_11<=VBAR)||LA49_11==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_11); + if ( s>=0 ) return s; + break; + case 2 : + var LA49_14 = input.LA(1); + + + var index49_14 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_14==DOLLAR) && ((true))) {s = 29;} + + else if ( (LA49_14==EOF||(LA49_14>=AND && LA49_14<=ASCENDING)||(LA49_14>=CASE && LA49_14<=CASTABLE)||LA49_14==COLLATION||LA49_14==DEFAULT||(LA49_14>=DESCENDING && LA49_14<=DIV)||(LA49_14>=ELSE && LA49_14<=EMPTY)||LA49_14==EQ||LA49_14==EXCEPT||LA49_14==FOR||LA49_14==GE||(LA49_14>=GT && LA49_14<=IDIV)||(LA49_14>=INSTANCE && LA49_14<=IS)||LA49_14==LE||(LA49_14>=LT && LA49_14<=MOD)||LA49_14==NE||(LA49_14>=OR && LA49_14<=ORDER)||(LA49_14>=RETURN && LA49_14<=SATISFIES)||LA49_14==STABLE||(LA49_14>=TO && LA49_14<=TREAT)||LA49_14==UNION||LA49_14==WHERE||LA49_14==COUNT||(LA49_14>=END && LA49_14<=GROUP)||LA49_14==ONLY||LA49_14==START||(LA49_14>=AFTER && LA49_14<=BEFORE)||LA49_14==INTO||LA49_14==MODIFY||LA49_14==WITH||(LA49_14>=LPAREN && LA49_14<=RPAREN)||(LA49_14>=RBRACKET && LA49_14<=EQUAL)||LA49_14==NOTEQUAL||LA49_14==COMMA||(LA49_14>=STAR && LA49_14<=SLASH_SLASH)||LA49_14==COLON||(LA49_14>=SEMICOLON && LA49_14<=VBAR)||LA49_14==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_14); + if ( s>=0 ) return s; + break; + case 3 : + var LA49_9 = input.LA(1); + + + var index49_9 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_9==LBRACKET) && ((true))) {s = 24;} + + else if ( (LA49_9==EOF||(LA49_9>=AND && LA49_9<=ASCENDING)||(LA49_9>=CASE && LA49_9<=CASTABLE)||LA49_9==COLLATION||LA49_9==DEFAULT||(LA49_9>=DESCENDING && LA49_9<=DIV)||(LA49_9>=ELSE && LA49_9<=EMPTY)||LA49_9==EQ||LA49_9==EXCEPT||LA49_9==FOR||LA49_9==GE||(LA49_9>=GT && LA49_9<=IDIV)||(LA49_9>=INSTANCE && LA49_9<=IS)||LA49_9==LE||(LA49_9>=LT && LA49_9<=MOD)||LA49_9==NE||(LA49_9>=OR && LA49_9<=ORDER)||(LA49_9>=RETURN && LA49_9<=SATISFIES)||LA49_9==STABLE||(LA49_9>=TO && LA49_9<=TREAT)||LA49_9==UNION||LA49_9==WHERE||LA49_9==COUNT||(LA49_9>=END && LA49_9<=GROUP)||LA49_9==ONLY||LA49_9==START||(LA49_9>=AFTER && LA49_9<=BEFORE)||LA49_9==INTO||LA49_9==MODIFY||LA49_9==WITH||(LA49_9>=LPAREN && LA49_9<=RPAREN)||(LA49_9>=RBRACKET && LA49_9<=EQUAL)||LA49_9==NOTEQUAL||LA49_9==COMMA||(LA49_9>=STAR && LA49_9<=SLASH_SLASH)||LA49_9==COLON||(LA49_9>=SEMICOLON && LA49_9<=VBAR)||LA49_9==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_9); + if ( s>=0 ) return s; + break; + case 4 : + var LA49_16 = input.LA(1); + + + var index49_16 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_16==DOLLAR) && ((true))) {s = 31;} + + else if ( (LA49_16==EOF||(LA49_16>=AND && LA49_16<=ASCENDING)||(LA49_16>=CASE && LA49_16<=CASTABLE)||LA49_16==COLLATION||LA49_16==DEFAULT||(LA49_16>=DESCENDING && LA49_16<=DIV)||(LA49_16>=ELSE && LA49_16<=EMPTY)||LA49_16==EQ||LA49_16==EXCEPT||LA49_16==FOR||LA49_16==GE||(LA49_16>=GT && LA49_16<=IDIV)||(LA49_16>=INSTANCE && LA49_16<=IS)||LA49_16==LE||(LA49_16>=LT && LA49_16<=MOD)||LA49_16==NE||(LA49_16>=OR && LA49_16<=ORDER)||(LA49_16>=RETURN && LA49_16<=SATISFIES)||LA49_16==STABLE||(LA49_16>=TO && LA49_16<=TREAT)||LA49_16==UNION||LA49_16==WHERE||LA49_16==COUNT||(LA49_16>=END && LA49_16<=GROUP)||LA49_16==ONLY||LA49_16==START||(LA49_16>=AFTER && LA49_16<=BEFORE)||LA49_16==INTO||LA49_16==MODIFY||LA49_16==WITH||(LA49_16>=LPAREN && LA49_16<=RPAREN)||(LA49_16>=RBRACKET && LA49_16<=EQUAL)||LA49_16==NOTEQUAL||LA49_16==COMMA||(LA49_16>=STAR && LA49_16<=SLASH_SLASH)||LA49_16==COLON||(LA49_16>=SEMICOLON && LA49_16<=VBAR)||LA49_16==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_16); + if ( s>=0 ) return s; + break; + case 5 : + var LA49_15 = input.LA(1); + + + var index49_15 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_15==LBRACKET) && ((true))) {s = 30;} + + else if ( (LA49_15==EOF||(LA49_15>=AND && LA49_15<=ASCENDING)||(LA49_15>=CASE && LA49_15<=CASTABLE)||LA49_15==COLLATION||LA49_15==DEFAULT||(LA49_15>=DESCENDING && LA49_15<=DIV)||(LA49_15>=ELSE && LA49_15<=EMPTY)||LA49_15==EQ||LA49_15==EXCEPT||LA49_15==FOR||LA49_15==GE||(LA49_15>=GT && LA49_15<=IDIV)||(LA49_15>=INSTANCE && LA49_15<=IS)||LA49_15==LE||(LA49_15>=LT && LA49_15<=MOD)||LA49_15==NE||(LA49_15>=OR && LA49_15<=ORDER)||(LA49_15>=RETURN && LA49_15<=SATISFIES)||LA49_15==STABLE||(LA49_15>=TO && LA49_15<=TREAT)||LA49_15==UNION||LA49_15==WHERE||LA49_15==COUNT||(LA49_15>=END && LA49_15<=GROUP)||LA49_15==ONLY||LA49_15==START||(LA49_15>=AFTER && LA49_15<=BEFORE)||LA49_15==INTO||LA49_15==MODIFY||LA49_15==WITH||(LA49_15>=LPAREN && LA49_15<=RPAREN)||(LA49_15>=RBRACKET && LA49_15<=EQUAL)||LA49_15==NOTEQUAL||LA49_15==COMMA||(LA49_15>=STAR && LA49_15<=SLASH_SLASH)||LA49_15==COLON||(LA49_15>=SEMICOLON && LA49_15<=VBAR)||LA49_15==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_15); + if ( s>=0 ) return s; + break; + case 6 : + var LA49_17 = input.LA(1); + + + var index49_17 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_17==RETURNING) && ((true))) {s = 32;} + + else if ( (LA49_17==EOF||(LA49_17>=AND && LA49_17<=ASCENDING)||(LA49_17>=CASE && LA49_17<=CASTABLE)||LA49_17==COLLATION||LA49_17==DEFAULT||(LA49_17>=DESCENDING && LA49_17<=DIV)||(LA49_17>=ELSE && LA49_17<=EMPTY)||LA49_17==EQ||LA49_17==EXCEPT||LA49_17==FOR||LA49_17==GE||(LA49_17>=GT && LA49_17<=IDIV)||(LA49_17>=INSTANCE && LA49_17<=IS)||LA49_17==LE||(LA49_17>=LT && LA49_17<=MOD)||LA49_17==NE||(LA49_17>=OR && LA49_17<=ORDER)||(LA49_17>=RETURN && LA49_17<=SATISFIES)||LA49_17==STABLE||(LA49_17>=TO && LA49_17<=TREAT)||LA49_17==UNION||LA49_17==WHERE||LA49_17==COUNT||(LA49_17>=END && LA49_17<=GROUP)||LA49_17==ONLY||LA49_17==START||(LA49_17>=AFTER && LA49_17<=BEFORE)||LA49_17==INTO||LA49_17==MODIFY||LA49_17==WITH||(LA49_17>=LPAREN && LA49_17<=RPAREN)||(LA49_17>=RBRACKET && LA49_17<=EQUAL)||LA49_17==NOTEQUAL||LA49_17==COMMA||(LA49_17>=STAR && LA49_17<=SLASH_SLASH)||LA49_17==COLON||(LA49_17>=SEMICOLON && LA49_17<=VBAR)||LA49_17==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_17); + if ( s>=0 ) return s; + break; + case 7 : + var LA49_12 = input.LA(1); + + + var index49_12 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_12==NODE) && ((true))) {s = 27;} + + else if ( (LA49_12==EOF||(LA49_12>=AND && LA49_12<=ASCENDING)||(LA49_12>=CASE && LA49_12<=CASTABLE)||LA49_12==COLLATION||LA49_12==DEFAULT||(LA49_12>=DESCENDING && LA49_12<=DIV)||(LA49_12>=ELSE && LA49_12<=EMPTY)||LA49_12==EQ||LA49_12==EXCEPT||LA49_12==FOR||LA49_12==GE||(LA49_12>=GT && LA49_12<=IDIV)||(LA49_12>=INSTANCE && LA49_12<=IS)||LA49_12==LE||(LA49_12>=LT && LA49_12<=MOD)||LA49_12==NE||(LA49_12>=OR && LA49_12<=ORDER)||(LA49_12>=RETURN && LA49_12<=SATISFIES)||LA49_12==STABLE||(LA49_12>=TO && LA49_12<=TREAT)||LA49_12==UNION||LA49_12==WHERE||LA49_12==COUNT||(LA49_12>=END && LA49_12<=GROUP)||LA49_12==ONLY||LA49_12==START||(LA49_12>=AFTER && LA49_12<=BEFORE)||LA49_12==INTO||LA49_12==MODIFY||LA49_12==WITH||(LA49_12>=LPAREN && LA49_12<=RPAREN)||(LA49_12>=RBRACKET && LA49_12<=EQUAL)||LA49_12==NOTEQUAL||LA49_12==COMMA||(LA49_12>=STAR && LA49_12<=SLASH_SLASH)||LA49_12==COLON||(LA49_12>=SEMICOLON && LA49_12<=VBAR)||LA49_12==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_12); + if ( s>=0 ) return s; + break; + case 8 : + var LA49_18 = input.LA(1); + + + var index49_18 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_18==LPAREN) && ((true))) {s = 33;} + + else if ( (LA49_18==EOF||(LA49_18>=AND && LA49_18<=ASCENDING)||(LA49_18>=CASE && LA49_18<=CASTABLE)||LA49_18==COLLATION||LA49_18==DEFAULT||(LA49_18>=DESCENDING && LA49_18<=DIV)||(LA49_18>=ELSE && LA49_18<=EMPTY)||LA49_18==EQ||LA49_18==EXCEPT||LA49_18==FOR||LA49_18==GE||(LA49_18>=GT && LA49_18<=IDIV)||(LA49_18>=INSTANCE && LA49_18<=IS)||LA49_18==LE||(LA49_18>=LT && LA49_18<=MOD)||LA49_18==NE||(LA49_18>=OR && LA49_18<=ORDER)||(LA49_18>=RETURN && LA49_18<=SATISFIES)||LA49_18==STABLE||(LA49_18>=TO && LA49_18<=TREAT)||LA49_18==UNION||LA49_18==WHERE||LA49_18==COUNT||(LA49_18>=END && LA49_18<=GROUP)||LA49_18==ONLY||LA49_18==START||(LA49_18>=AFTER && LA49_18<=BEFORE)||LA49_18==INTO||LA49_18==MODIFY||LA49_18==WITH||LA49_18==RPAREN||(LA49_18>=RBRACKET && LA49_18<=EQUAL)||LA49_18==NOTEQUAL||LA49_18==COMMA||(LA49_18>=STAR && LA49_18<=SLASH_SLASH)||LA49_18==COLON||(LA49_18>=SEMICOLON && LA49_18<=VBAR)||LA49_18==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_18); + if ( s>=0 ) return s; + break; + case 9 : + var LA49_13 = input.LA(1); + + + var index49_13 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_13==NODE||LA49_13==VALUE) && ((true))) {s = 28;} + + else if ( (LA49_13==EOF||(LA49_13>=AND && LA49_13<=ASCENDING)||(LA49_13>=CASE && LA49_13<=CASTABLE)||LA49_13==COLLATION||LA49_13==DEFAULT||(LA49_13>=DESCENDING && LA49_13<=DIV)||(LA49_13>=ELSE && LA49_13<=EMPTY)||LA49_13==EQ||LA49_13==EXCEPT||LA49_13==FOR||LA49_13==GE||(LA49_13>=GT && LA49_13<=IDIV)||(LA49_13>=INSTANCE && LA49_13<=IS)||LA49_13==LE||(LA49_13>=LT && LA49_13<=MOD)||LA49_13==NE||(LA49_13>=OR && LA49_13<=ORDER)||(LA49_13>=RETURN && LA49_13<=SATISFIES)||LA49_13==STABLE||(LA49_13>=TO && LA49_13<=TREAT)||LA49_13==UNION||LA49_13==WHERE||LA49_13==COUNT||(LA49_13>=END && LA49_13<=GROUP)||LA49_13==ONLY||LA49_13==START||(LA49_13>=AFTER && LA49_13<=BEFORE)||LA49_13==INTO||LA49_13==MODIFY||LA49_13==WITH||(LA49_13>=LPAREN && LA49_13<=RPAREN)||(LA49_13>=RBRACKET && LA49_13<=EQUAL)||LA49_13==NOTEQUAL||LA49_13==COMMA||(LA49_13>=STAR && LA49_13<=SLASH_SLASH)||LA49_13==COLON||(LA49_13>=SEMICOLON && LA49_13<=VBAR)||LA49_13==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_13); + if ( s>=0 ) return s; + break; + case 10 : + var LA49_10 = input.LA(1); + + + var index49_10 = input.index(); + input.rewind(); + s = -1; + if ( (LA49_10==NODE||LA49_10==NODES) && ((true))) {s = 25;} + + else if ( (LA49_10==EOF||(LA49_10>=AND && LA49_10<=ASCENDING)||(LA49_10>=CASE && LA49_10<=CASTABLE)||LA49_10==COLLATION||LA49_10==DEFAULT||(LA49_10>=DESCENDING && LA49_10<=DIV)||(LA49_10>=ELSE && LA49_10<=EMPTY)||LA49_10==EQ||LA49_10==EXCEPT||LA49_10==FOR||LA49_10==GE||(LA49_10>=GT && LA49_10<=IDIV)||(LA49_10>=INSTANCE && LA49_10<=IS)||LA49_10==LE||(LA49_10>=LT && LA49_10<=MOD)||LA49_10==NE||(LA49_10>=OR && LA49_10<=ORDER)||(LA49_10>=RETURN && LA49_10<=SATISFIES)||LA49_10==STABLE||(LA49_10>=TO && LA49_10<=TREAT)||LA49_10==UNION||LA49_10==WHERE||LA49_10==COUNT||(LA49_10>=END && LA49_10<=GROUP)||LA49_10==ONLY||LA49_10==START||(LA49_10>=AFTER && LA49_10<=BEFORE)||LA49_10==INTO||LA49_10==MODIFY||LA49_10==WITH||(LA49_10>=LPAREN && LA49_10<=RPAREN)||(LA49_10>=RBRACKET && LA49_10<=EQUAL)||LA49_10==NOTEQUAL||LA49_10==COMMA||(LA49_10>=STAR && LA49_10<=SLASH_SLASH)||LA49_10==COLON||(LA49_10>=SEMICOLON && LA49_10<=VBAR)||LA49_10==LETDOLLAR) ) {s = 19;} + + + input.seek(index49_10); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 49, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA103_eotS: + "\u002d\uffff", + DFA103_eofS: + "\u002d\uffff", + DFA103_minS: + "\u0001\u0010\u002c\uffff", + DFA103_maxS: + "\u0001\u0137\u002c\uffff", + DFA103_acceptS: + "\u0001\uffff\u0001\u0001\u0001\u0002\u0029\uffff\u0001\u0003", + DFA103_specialS: + "\u002d\uffff}>", + DFA103_transitionS: [ + "\u005b\u0002\u0001\u0001\u0033\u0002\u0001\uffff\u0014\u0002"+ + "\u0001\uffff\u000d\u0002\u0001\uffff\u0001\u0002\u000a\uffff"+ + "\u0001\u0002\u0002\uffff\u0001\u0002\u0005\uffff\u0004\u0002"+ + "\u000c\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0006\uffff\u0001\u002c\u0005\u0002\u003c\uffff"+ + "\u0001\u0002", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA103_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_eotS), + DFA103_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_eofS), + DFA103_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA103_minS), + DFA103_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA103_maxS), + DFA103_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_acceptS), + DFA103_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA103_specialS), + DFA103_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA103_transitionS.length; + for (i=0; i", + DFA110_transitionS: [ + "\u008f\u0003\u0001\uffff\u0014\u0003\u0001\uffff\u000d\u0003"+ + "\u0001\uffff\u0001\u0003\u000a\uffff\u0001\u0003\u0002\uffff"+ + "\u0001\u0003\u0005\uffff\u0001\u0001\u0001\u0002\u0002\u0003"+ + "\u000c\uffff\u0001\u0003\u0002\uffff\u0002\u0003\u0002\uffff"+ + "\u0001\u0003\u0007\uffff\u0005\u0003\u003c\uffff\u0001\u0003", + "\u0001\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA110_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_eotS), + DFA110_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_eofS), + DFA110_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA110_minS), + DFA110_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA110_maxS), + DFA110_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_acceptS), + DFA110_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA110_specialS), + DFA110_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA110_transitionS.length; + for (i=0; i ( SLASH p_RelativePathExpr ) | SLASH | SLASH_SLASH p_RelativePathExpr | p_RelativePathExpr );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA110_1 = input.LA(1); + + + var index110_1 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred1_XQueryParser()) ) {s = 43;} + + else if ( (true) ) {s = 44;} + + + input.seek(index110_1); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 110, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA112_eotS: + "\u00d1\uffff", + DFA112_eofS: + "\u0001\uffff\u0005\u0006\u0001\uffff\u000c\u0006\u0001\uffff\u0005"+ + "\u0006\u00b7\uffff\u0001\u0006", + DFA112_minS: + "\u0001\u0010\u0005\u0012\u0001\uffff\u0002\u0012\u0001\u0010\u0004"+ + "\u0012\u0002\u0010\u0003\u0012\u0001\uffff\u0002\u0012\u0001\u0010\u0002"+ + "\u0012\u0001\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0003\u0013\u0001\u004f\u0010\u0010\u0001\u0084\u0001"+ + "\u0010\u0002\u0019\u0001\u0052\u0001\u00c3\u0001\u0010\u0001\u0015\u0001"+ + "\u0076\u0001\u0015\u0002\u001e\u0001\u0038\u0001\u00c4\u0001\u0010\u0001"+ + "\u005a\u0009\u0010\u0002\uffff\u0001\u0012", + DFA112_maxS: + "\u0001\u0137\u0005\u0136\u0001\uffff\u0002\u0136\u0001\u0137\u0004"+ + "\u0136\u0002\u0137\u0003\u0136\u0001\uffff\u0002\u0136\u0001\u0137\u0002"+ + "\u0136\u0001\u0137\u0004\u00db\u0010\u0137\u0001\u00db\u0001\u0137\u0004"+ + "\u00db\u0001\u0137\u0003\u00db\u0002\u0136\u0001\u00db\u0001\u00eb\u0001"+ + "\u0137\u0001\u00db\u0009\u0137\u0004\u00db\u0010\u0137\u0001\u00db\u0001"+ + "\u0137\u0004\u00db\u0001\u0137\u0003\u00db\u0002\u0136\u0001\u00db\u0001"+ + "\u00eb\u0001\u0137\u0001\u00db\u0009\u0137\u0004\u00c4\u0010\u0137\u0001"+ + "\u00c4\u0001\u0137\u0004\u00c4\u0001\u0137\u0003\u00c4\u0002\u0136\u0001"+ + "\u00c4\u0001\u00eb\u0001\u0137\u0001\u00c4\u0009\u0137\u0004\u00c4\u0010"+ + "\u0137\u0001\u00c4\u0001\u0137\u0004\u00c4\u0001\u0137\u0003\u00c4\u0002"+ + "\u0136\u0001\u00c4\u0001\u00eb\u0001\u0137\u0001\u00c4\u0009\u0137\u0002"+ + "\uffff\u0001\u0136", + DFA112_acceptS: + "\u0006\uffff\u0001\u0001\u000c\uffff\u0001\u0002\u00ba\uffff\u0002"+ + "\u0002\u0001\uffff", + DFA112_specialS: + "\u0017\uffff\u0001\u0000\u00b9\uffff}>", + DFA112_transitionS: [ + "\u0001\u0002\u0001\u0005\u0004\u0018\u0001\u0009\u0006\u0018"+ + "\u0001\u0007\u0001\u0018\u0001\u0010\u0004\u0018\u0001\u0008"+ + "\u0001\u000b\u0002\u0018\u0001\u0015\u0001\u0006\u0001\u000e"+ + "\u0002\u0018\u0001\u0006\u0005\u0018\u0001\u000d\u0001\u000c"+ + "\u0006\u0018\u0001\u0006\u0006\u0018\u0001\u0006\u0007\u0018"+ + "\u0001\u0016\u0003\u0018\u0001\u0006\u0004\u0018\u0001\u0012"+ + "\u0001\u0018\u0001\u0001\u0001\u0004\u0001\u0003\u0001\u0018"+ + "\u0001\u000f\u0003\u0018\u0002\u0006\u0001\u000a\u0004\u0018"+ + "\u0001\u0011\u0003\u0018\u0001\u0006\u0001\u0018\u0001\u0014"+ + "\u0010\u0018\u0001\u0006\u0023\u0018\u0001\uffff\u0003\u0018"+ + "\u0001\u0006\u0010\u0018\u0001\uffff\u0007\u0018\u0001\u0017"+ + "\u0004\u0018\u0001\u0013\u0001\uffff\u0001\u0013\u000a\uffff"+ + "\u0001\u0006\u0002\uffff\u0001\u0013\u0007\uffff\u0001\u0013"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0002\uffff\u0002\u0013"+ + "\u0002\uffff\u0001\u0018\u0007\uffff\u0005\u0013\u003c\uffff"+ + "\u0001\u0018", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u002c\u0001\u0041\u0001\u0038\u0004\u0013"+ + "\u0001\u0046\u0001\u003e\u0001\u001a\u0001\u001b\u0001\u0013"+ + "\u0001\u003b\u0004\u0013\u0001\u003d\u0002\u0013\u0001\u0039"+ + "\u0001\u0021\u0003\u0013\u0001\u003f\u0001\u003a\u0002\u0013"+ + "\u0001\u0025\u0001\u0013\u0001\u001f\u0003\u0013\u0001\u002e"+ + "\u0001\u0013\u0001\u002a\u0001\u0013\u0001\u0029\u0001\u0022"+ + "\u0004\u0013\u0001\u001d\u0001\u001e\u0001\u002b\u0002\u0013"+ + "\u0001\u0028\u0002\u0013\u0001\u0027\u0001\u0023\u0002\u0013"+ + "\u0001\u0026\u0005\u0013\u0001\u002d\u0001\u0031\u0007\u0013"+ + "\u0001\u0034\u0001\u003c\u0005\u0013\u0001\u0032\u0004\u0013"+ + "\u0001\u0024\u0001\u001c\u0001\u0013\u0001\u0020\u0004\u0013"+ + "\u0001\u002f\u0003\u0013\u0001\u0033\u0003\u0013\u0001\u0037"+ + "\u0001\u0030\u0006\u0013\u0001\u0036\u0006\u0013\u0001\u0035"+ + "\u0005\u0013\u0001\u0043\u0001\u0044\u0004\u0013\u0001\u0042"+ + "\u0001\u0013\u0001\u0045\u0007\u0013\u0001\u0040\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u0059\u0001\u006e\u0001\u0065\u0004\u0013"+ + "\u0001\u0073\u0001\u006b\u0001\u0047\u0001\u0048\u0001\u0013"+ + "\u0001\u0068\u0004\u0013\u0001\u006a\u0002\u0013\u0001\u0066"+ + "\u0001\u004e\u0003\u0013\u0001\u006c\u0001\u0067\u0002\u0013"+ + "\u0001\u0052\u0001\u0013\u0001\u004c\u0003\u0013\u0001\u005b"+ + "\u0001\u0013\u0001\u0057\u0001\u0013\u0001\u0056\u0001\u004f"+ + "\u0004\u0013\u0001\u004a\u0001\u004b\u0001\u0058\u0002\u0013"+ + "\u0001\u0055\u0002\u0013\u0001\u0054\u0001\u0050\u0002\u0013"+ + "\u0001\u0053\u0005\u0013\u0001\u005a\u0001\u005e\u0007\u0013"+ + "\u0001\u0061\u0001\u0069\u0005\u0013\u0001\u005f\u0004\u0013"+ + "\u0001\u0051\u0001\u0049\u0001\u0013\u0001\u004d\u0004\u0013"+ + "\u0001\u005c\u0003\u0013\u0001\u0060\u0003\u0013\u0001\u0064"+ + "\u0001\u005d\u0006\u0013\u0001\u0063\u0006\u0013\u0001\u0062"+ + "\u0005\u0013\u0001\u0070\u0001\u0071\u0004\u0013\u0001\u006f"+ + "\u0001\u0013\u0001\u0072\u0007\u0013\u0001\u006d\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0006\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0002\u0013\u0001\u0086\u0001\u009b\u0001\u0092\u0004\u0013"+ + "\u0001\u00a0\u0001\u0098\u0001\u0074\u0001\u0075\u0001\u0013"+ + "\u0001\u0095\u0004\u0013\u0001\u0097\u0002\u0013\u0001\u0093"+ + "\u0001\u007b\u0003\u0013\u0001\u0099\u0001\u0094\u0002\u0013"+ + "\u0001\u007f\u0001\u0013\u0001\u0079\u0003\u0013\u0001\u0088"+ + "\u0001\u0013\u0001\u0084\u0001\u0013\u0001\u0083\u0001\u007c"+ + "\u0004\u0013\u0001\u0077\u0001\u0078\u0001\u0085\u0002\u0013"+ + "\u0001\u0082\u0002\u0013\u0001\u0081\u0001\u007d\u0002\u0013"+ + "\u0001\u0080\u0005\u0013\u0001\u0087\u0001\u008b\u0007\u0013"+ + "\u0001\u008e\u0001\u0096\u0005\u0013\u0001\u008c\u0004\u0013"+ + "\u0001\u007e\u0001\u0076\u0001\u0013\u0001\u007a\u0004\u0013"+ + "\u0001\u0089\u0003\u0013\u0001\u008d\u0003\u0013\u0001\u0091"+ + "\u0001\u008a\u0006\u0013\u0001\u0090\u0006\u0013\u0001\u008f"+ + "\u0005\u0013\u0001\u009d\u0001\u009e\u0004\u0013\u0001\u009c"+ + "\u0001\u0013\u0001\u009f\u0007\u0013\u0001\u009a\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000c\u0013\u0002\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0006\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0002\u0006\u0001\uffff"+ + "\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0006"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0002\u0006\u0001\uffff"+ + "\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0006"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0002\u0013\u0001\u00b3\u0001\u00c8\u0001\u00bf\u0004\u0013"+ + "\u0001\u00cd\u0001\u00c5\u0001\u00a1\u0001\u00a2\u0001\u0013"+ + "\u0001\u00c2\u0004\u0013\u0001\u00c4\u0002\u0013\u0001\u00c0"+ + "\u0001\u00a8\u0003\u0013\u0001\u00c6\u0001\u00c1\u0002\u0013"+ + "\u0001\u00ac\u0001\u0013\u0001\u00a6\u0003\u0013\u0001\u00b5"+ + "\u0001\u0013\u0001\u00b1\u0001\u0013\u0001\u00b0\u0001\u00a9"+ + "\u0004\u0013\u0001\u00a4\u0001\u00a5\u0001\u00b2\u0002\u0013"+ + "\u0001\u00af\u0002\u0013\u0001\u00ae\u0001\u00aa\u0002\u0013"+ + "\u0001\u00ad\u0005\u0013\u0001\u00b4\u0001\u00b8\u0007\u0013"+ + "\u0001\u00bb\u0001\u00c3\u0005\u0013\u0001\u00b9\u0004\u0013"+ + "\u0001\u00ab\u0001\u00a3\u0001\u0013\u0001\u00a7\u0004\u0013"+ + "\u0001\u00b6\u0003\u0013\u0001\u00ba\u0003\u0013\u0001\u00be"+ + "\u0001\u00b7\u0006\u0013\u0001\u00bd\u0006\u0013\u0001\u00bc"+ + "\u0005\u0013\u0001\u00ca\u0001\u00cb\u0004\u0013\u0001\u00c9"+ + "\u0001\u0013\u0001\u00cc\u0007\u0013\u0001\u00c7\u0003\u0013"+ + "\u0001\uffff\u0014\u0013\u0001\uffff\u000d\u0013\u0001\u0006"+ + "\u0001\uffff\u0001\u0013\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u000d\uffff\u0001\u0013"+ + "\u0047\uffff\u0001\u0006\u0001\u0013", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0001\uffff\u0001\u00ce\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff"+ + "\u0001\u0019\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0002\uffff\u0001\u0019"+ + "\u0003\uffff\u0002\u0006\u0055\uffff\u0001\u0006", + "\u008f\u00d0\u0001\uffff\u0014\u00d0\u0001\uffff\u000c\u00d0"+ + "\u000d\uffff\u0001\u0006\u001f\uffff\u0001\u00d0\u0048\uffff"+ + "\u0001\u00d0", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u00cf\u0016\uffff\u0001\u00cf\u000e\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf\u0016\uffff"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf"+ + "\u0012\uffff\u0001\u0006\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u0001\u00cf"+ + "\u000b\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff"+ + "\u0001\u0006\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u000e\uffff\u0001\u00cf\u005a\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf"+ + "\u0016\uffff\u0001\u00cf", + "\u0001\u00cf\u0016\uffff\u0001\u00cf\u000e\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf\u0016\uffff"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0016\uffff\u0001\u00cf"+ + "\u0012\uffff\u0001\u0006\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u0001\u00cf\u000b\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff"+ + "\u0006\u0006\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u0001\u00cf"+ + "\u000b\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff"+ + "\u0001\u0006\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf", + "\u0001\u00cf\u0025\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0029\uffff\u0001\u0006"+ + "\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u000c\uffff"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006"+ + "\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u00b0\uffff\u0001\u00cf", + "\u0001\u0006\u0074\uffff\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003c\uffff\u0001\u0006", + "\u0001\u0006\u0002\uffff\u0001\u0006\u003b\uffff\u0001\u0006"+ + "\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u00aa\uffff\u0001\u00cf", + "\u0001\u0006\u0071\uffff\u0001\u00cf", + "\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u004d\uffff\u0001\u00cf", + "\u0001\u0006\u0067\uffff\u0001\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u003a\uffff\u0001\u0006\u0001\u00cf", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000d\uffff\u0001\u0006\u0008\uffff\u0001\u0006"+ + "\u001c\uffff\u0001\u0006\u0007\uffff\u0001\u0006\u0006\uffff"+ + "\u0001\u0006\u000c\uffff\u0001\u0006\u0003\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u004c\uffff\u0001\u00cf\u0007\uffff"+ + "\u0001\u0006\u0069\uffff\u0001\u0006", + "\u0001\u0006\u000c\uffff\u0001\u0006\u007e\uffff\u0001\u00cf", + "\u0001\u00cf\u0025\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u0001\u0006\u0068\uffff\u0001\u0006\u0001\u00cf", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000c\u0006"+ + "\u0002\uffff\u0001\u0006\u0001\u00cf\u0029\uffff\u0001\u0006"+ + "\u0048\uffff\u0001\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0004\u0006"+ + "\u0005\uffff\u0004\u0006\u000c\uffff\u0001\u0006\u0002\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0006\uffff\u0006\u0006"+ + "\u003b\uffff\u0002\u0006", + "\u008f\u0006\u0001\uffff\u0014\u0006\u0001\uffff\u000d\u0006"+ + "\u0001\uffff\u0001\u0006\u0001\u00cf\u0009\uffff\u0001\u0006"+ + "\u0002\uffff\u0001\u0006\u0005\uffff\u0004\u0006\u000c\uffff"+ + "\u0001\u0006\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006"+ + "\u0007\uffff\u0005\u0006\u003c\uffff\u0001\u0006", + "", + "", + "\u0003\u0006\u0004\uffff\u0004\u0006\u0001\uffff\u0001\u0006"+ + "\u0004\uffff\u0001\u0006\u0002\uffff\u0002\u0006\u0003\uffff"+ + "\u0002\u0006\u0002\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0003\uffff\u0001\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0002\u0006\u0004\uffff\u0003\u0006\u0002\uffff\u0001\u0006"+ + "\u0002\uffff\u0002\u0006\u0002\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0007\uffff\u0002\u0006\u0005\uffff\u0001\u0006"+ + "\u0004\uffff\u0002\u0006\u0001\uffff\u0001\u0006\u0004\uffff"+ + "\u0001\u0006\u0003\uffff\u0001\u0006\u0003\uffff\u0002\u0006"+ + "\u0006\uffff\u0001\u0006\u0006\uffff\u0001\u0006\u0005\uffff"+ + "\u0002\u0006\u0004\uffff\u0001\u0006\u0001\uffff\u0001\u0006"+ + "\u0007\uffff\u0001\u0006\u0025\uffff\u0001\u00cf\u0001\u0006"+ + "\u0002\uffff\u0004\u0006\u0001\uffff\u0001\u0006\u0001\uffff"+ + "\u0001\u0006\u0001\uffff\u000b\u0006\u0006\uffff\u0002\u0006"+ + "\u0055\uffff\u0001\u0006" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA112_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_eotS), + DFA112_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_eofS), + DFA112_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA112_minS), + DFA112_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA112_maxS), + DFA112_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_acceptS), + DFA112_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA112_specialS), + DFA112_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA112_transitionS.length; + for (i=0; i=AND && LA112_23<=ASCENDING)||(LA112_23>=BY && LA112_23<=CASTABLE)||LA112_23==COLLATION||LA112_23==DEFAULT||(LA112_23>=DESCENDING && LA112_23<=DIV)||(LA112_23>=ELSE && LA112_23<=EMPTY)||LA112_23==EQ||LA112_23==EXCEPT||LA112_23==FOR||LA112_23==GE||(LA112_23>=GT && LA112_23<=IDIV)||(LA112_23>=INSTANCE && LA112_23<=IS)||LA112_23==LE||(LA112_23>=LT && LA112_23<=MOD)||LA112_23==NE||(LA112_23>=OR && LA112_23<=ORDER)||(LA112_23>=RETURN && LA112_23<=SATISFIES)||LA112_23==STABLE||(LA112_23>=TO && LA112_23<=TREAT)||LA112_23==UNION||LA112_23==WHERE||LA112_23==COUNT||(LA112_23>=END && LA112_23<=GROUP)||LA112_23==ONLY||LA112_23==START||(LA112_23>=AFTER && LA112_23<=BEFORE)||LA112_23==INTO||LA112_23==MODIFY||LA112_23==WITH||LA112_23==RPAREN||(LA112_23>=RBRACKET && LA112_23<=EQUAL)||LA112_23==NOTEQUAL||LA112_23==COMMA||(LA112_23>=STAR && LA112_23<=SLASH_SLASH)||(LA112_23>=SEMICOLON && LA112_23<=VBAR)||LA112_23==LETDOLLAR) ) {s = 6;} + + else if ( (LA112_23==LPAREN) ) {s = 207;} + + + input.seek(index112_23); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 112, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA114_eotS: + "\u000a\uffff", + DFA114_eofS: + "\u0001\uffff\u0007\u0008\u0002\uffff", + DFA114_minS: + "\u0001\u0010\u0007\u0012\u0002\uffff", + DFA114_maxS: + "\u0001\u0137\u0007\u0136\u0002\uffff", + DFA114_acceptS: + "\u0008\uffff\u0001\u0002\u0001\u0001", + DFA114_specialS: + "\u000a\uffff}>", + DFA114_transitionS: [ + "\u0006\u0008\u0001\u0003\u0006\u0008\u0001\u0001\u0006\u0008"+ + "\u0001\u0002\u0001\u0005\u000d\u0008\u0001\u0007\u0001\u0006"+ + "\u002a\u0008\u0001\u0004\u003f\u0008\u0001\uffff\u0014\u0008"+ + "\u0001\uffff\u000c\u0008\u000d\uffff\u0001\u0008\u0018\uffff"+ + "\u0001\u0008\u0006\uffff\u0001\u0008\u0048\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0025\uffff\u0002\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "\u0003\u0008\u0004\uffff\u0004\u0008\u0001\uffff\u0001\u0008"+ + "\u0004\uffff\u0001\u0008\u0002\uffff\u0002\u0008\u0003\uffff"+ + "\u0002\u0008\u0002\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0003\uffff\u0001\u0008\u0001\uffff\u0001\u0008\u0001\uffff"+ + "\u0002\u0008\u0004\uffff\u0003\u0008\u0002\uffff\u0001\u0008"+ + "\u0002\uffff\u0002\u0008\u0002\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0007\uffff\u0002\u0008\u0005\uffff\u0001\u0008"+ + "\u0004\uffff\u0002\u0008\u0001\uffff\u0001\u0008\u0004\uffff"+ + "\u0001\u0008\u0003\uffff\u0001\u0008\u0003\uffff\u0002\u0008"+ + "\u0006\uffff\u0001\u0008\u0006\uffff\u0001\u0008\u0005\uffff"+ + "\u0002\u0008\u0004\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0007\uffff\u0001\u0008\u0026\uffff\u0001\u0008\u0002\uffff"+ + "\u0004\u0008\u0001\uffff\u0001\u0008\u0001\uffff\u0001\u0008"+ + "\u0001\uffff\u000b\u0008\u0002\uffff\u0001\u0008\u0001\u0009"+ + "\u0002\uffff\u0002\u0008\u0055\uffff\u0001\u0008", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA114_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_eotS), + DFA114_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_eofS), + DFA114_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA114_minS), + DFA114_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA114_maxS), + DFA114_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_acceptS), + DFA114_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA114_specialS), + DFA114_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA114_transitionS.length; + for (i=0; i", + DFA119_transitionS: [ + "\u0006\u000b\u0001\u0003\u0008\u000b\u0001\u0008\u0009\u000b"+ + "\u0001\u0001\u0001\u0002\u0023\u000b\u0001\u000a\u000a\u000b"+ + "\u0001\u0007\u0003\u000b\u0001\u0005\u0001\u0004\u0005\u000b"+ + "\u0001\u0009\u0016\u000b\u0001\u0006\u0023\u000b\u0001\uffff"+ + "\u0014\u000b\u0001\uffff\u000c\u000b\u000d\uffff\u0001\u000b"+ + "\u001f\uffff\u0001\u000b\u0048\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "\u0003\u000b\u0004\uffff\u0004\u000b\u0001\uffff\u0001\u000b"+ + "\u0004\uffff\u0001\u000b\u0002\uffff\u0002\u000b\u0003\uffff"+ + "\u0002\u000b\u0002\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0003\uffff\u0001\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0002\u000b\u0004\uffff\u0003\u000b\u0002\uffff\u0001\u000b"+ + "\u0002\uffff\u0002\u000b\u0002\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0007\uffff\u0002\u000b\u0005\uffff\u0001\u000b"+ + "\u0004\uffff\u0002\u000b\u0001\uffff\u0001\u000b\u0004\uffff"+ + "\u0001\u000b\u0003\uffff\u0001\u000b\u0003\uffff\u0002\u000b"+ + "\u0006\uffff\u0001\u000b\u0006\uffff\u0001\u000b\u0005\uffff"+ + "\u0002\u000b\u0004\uffff\u0001\u000b\u0001\uffff\u0001\u000b"+ + "\u0007\uffff\u0001\u000b\u0025\uffff\u0001\u000c\u0001\u000b"+ + "\u0002\uffff\u0004\u000b\u0001\uffff\u0001\u000b\u0001\uffff"+ + "\u0001\u000b\u0001\uffff\u000b\u000b\u0002\uffff\u0001\u000b"+ + "\u0003\uffff\u0002\u000b\u0055\uffff\u0001\u000b", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA119_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_eotS), + DFA119_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_eofS), + DFA119_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA119_minS), + DFA119_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA119_maxS), + DFA119_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_acceptS), + DFA119_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA119_specialS), + DFA119_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA119_transitionS.length; + for (i=0; i", + DFA124_transitionS: [ + "\u0006\u000b\u0001\u0008\u0008\u000b\u0001\u0008\u0008\u000b"+ + "\u0001\u0007\u0001\uffff\u0001\u0008\u0002\u000b\u0001\uffff"+ + "\u000d\u000b\u0001\uffff\u0006\u000b\u0001\uffff\u0007\u000b"+ + "\u0001\u0009\u0003\u000b\u0001\uffff\u0004\u000b\u0001\u0005"+ + "\u0005\u000b\u0001\u0008\u0003\u000b\u0002\uffff\u0005\u000b"+ + "\u0001\u0008\u0003\u000b\u0001\uffff\u0001\u000b\u0001\u0006"+ + "\u0010\u000b\u0001\uffff\u0023\u000b\u0001\uffff\u0003\u000b"+ + "\u0001\uffff\u0010\u000b\u0001\uffff\u0007\u000b\u0001\u000a"+ + "\u0004\u000b\u0001\u0003\u0001\uffff\u0001\u0002\u000d\uffff"+ + "\u0001\u0008\u0007\uffff\u0001\u0004\u0010\uffff\u0002\u0001"+ + "\u0002\uffff\u0001\u000b\u0007\uffff\u0002\u0008\u0003\u0001"+ + "\u003c\uffff\u0001\u000b", + "", + "", + "", + "", + "\u0001\u000b\u0002\uffff\u0001\u000c\u0016\uffff\u0001\u000b", + "\u0001\u000b\u0002\uffff\u0001\u000d\u0016\uffff\u0001\u000b", + "\u0001\u000b\u0002\uffff\u0001\u0008\u0016\uffff\u0001\u000b", + "", + "\u008f\u0008\u0001\uffff\u0014\u0008\u0001\uffff\u000c\u0008"+ + "\u0001\u000b\u0002\uffff\u0001\u0008\u0016\uffff\u0001\u000b"+ + "\u0012\uffff\u0001\u0008\u0048\uffff\u0001\u0008", + "\u0001\u000b\u0002\uffff\u0001\u000e\u0016\uffff\u0001\u000b", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA124_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_eotS), + DFA124_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_eofS), + DFA124_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA124_minS), + DFA124_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA124_maxS), + DFA124_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_acceptS), + DFA124_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA124_specialS), + DFA124_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA124_transitionS.length; + for (i=0; i=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 124, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA154_eotS: + "\u003e\uffff", + DFA154_eofS: + "\u0001\u0002\u003d\uffff", + DFA154_minS: + "\u0001\u0012\u0001\u0000\u0005\uffff\u0001\u0000\u0036\uffff", + DFA154_maxS: + "\u0001\u0136\u0001\u0000\u0005\uffff\u0001\u0000\u0036\uffff", + DFA154_acceptS: + "\u0002\uffff\u0001\u0002\u0008\uffff\u0001\u0001\u0032\uffff", + DFA154_specialS: + "\u0001\u0000\u0001\u0001\u0005\uffff\u0001\u0002\u0036\uffff}>", + DFA154_transitionS: [ + "\u0004\u0002\u0004\uffff\u0001\u0002\u0003\uffff\u0001\u0002"+ + "\u0004\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0003\uffff"+ + "\u0002\u0002\u0002\uffff\u0001\u0002\u0001\uffff\u0002\u0002"+ + "\u0002\uffff\u0001\u0002\u0001\uffff\u0001\u0002\u0001\uffff"+ + "\u0002\u0002\u0002\uffff\u0001\u0002\u0001\uffff\u0003\u0002"+ + "\u0002\uffff\u0001\u0002\u0002\uffff\u0002\u0002\u0002\uffff"+ + "\u0001\u0002\u0005\uffff\u0002\u0002\u0007\uffff\u0002\u0002"+ + "\u0005\uffff\u0001\u0002\u0004\uffff\u0001\u0002\u0002\uffff"+ + "\u0001\u0002\u0004\uffff\u0001\u0002\u0003\uffff\u0001\u0002"+ + "\u0003\uffff\u0002\u0002\u0006\uffff\u0001\u0002\u0006\uffff"+ + "\u0001\u0002\u0005\uffff\u0002\u0002\u0004\uffff\u0001\u0002"+ + "\u0001\uffff\u0001\u0002\u0007\uffff\u0001\u0002\u0026\uffff"+ + "\u0001\u0002\u0001\uffff\u0002\u0002\u0001\uffff\u0004\u0002"+ + "\u0001\uffff\u0001\u0002\u0001\u000b\u0001\u0001\u0001\u0007"+ + "\u0007\u0002\u0008\uffff\u0002\u0002\u0055\uffff\u0001\u0002", + "\u0001\uffff", + "", + "", + "", + "", + "", + "\u0001\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA154_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_eotS), + DFA154_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_eofS), + DFA154_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA154_minS), + DFA154_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA154_maxS), + DFA154_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_acceptS), + DFA154_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA154_specialS), + DFA154_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA154_transitionS.length; + for (i=0; ioi= p_OccurrenceIndicator )?"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA154_0 = input.LA(1); + + + var index154_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA154_0==STAR) ) {s = 1;} + + else if ( (LA154_0==EOF||(LA154_0>=AND && LA154_0<=AT)||LA154_0==CASE||LA154_0==COLLATION||LA154_0==DEFAULT||(LA154_0>=DESCENDING && LA154_0<=DIV)||(LA154_0>=ELSE && LA154_0<=EMPTY)||LA154_0==EQ||(LA154_0>=EXCEPT && LA154_0<=EXTERNAL)||LA154_0==FOR||LA154_0==GE||(LA154_0>=GT && LA154_0<=IDIV)||LA154_0==IN||(LA154_0>=INSTANCE && LA154_0<=IS)||LA154_0==LE||(LA154_0>=LT && LA154_0<=MOD)||LA154_0==NE||(LA154_0>=OR && LA154_0<=ORDER)||(LA154_0>=RETURN && LA154_0<=SATISFIES)||LA154_0==STABLE||LA154_0==TO||LA154_0==UNION||LA154_0==WHERE||LA154_0==COUNT||(LA154_0>=END && LA154_0<=GROUP)||LA154_0==ONLY||LA154_0==START||(LA154_0>=AFTER && LA154_0<=BEFORE)||LA154_0==INTO||LA154_0==MODIFY||LA154_0==WITH||LA154_0==RPAREN||(LA154_0>=LBRACKET && LA154_0<=RBRACKET)||(LA154_0>=RSQUARE && LA154_0<=NOTEQUAL)||LA154_0==COMMA||(LA154_0>=MINUS && LA154_0<=GREATER_GREATER)||(LA154_0>=SEMICOLON && LA154_0<=VBAR)||LA154_0==LETDOLLAR) ) {s = 2;} + + else if ( (LA154_0==PLUS) ) {s = 7;} + + else if ( (LA154_0==QUESTION) && (this.synpred2_XQueryParser())) {s = 11;} + + + input.seek(index154_0); + if ( s>=0 ) return s; + break; + case 1 : + var LA154_1 = input.LA(1); + + + var index154_1 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred2_XQueryParser()) ) {s = 11;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_1); + if ( s>=0 ) return s; + break; + case 2 : + var LA154_7 = input.LA(1); + + + var index154_7 = input.index(); + input.rewind(); + s = -1; + if ( (this.synpred2_XQueryParser()) ) {s = 11;} + + else if ( (true) ) {s = 2;} + + + input.seek(index154_7); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 154, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); +org.antlr.lang.augmentObject(XQueryParser, { + DFA156_eotS: + "\u0011\uffff", + DFA156_eofS: + "\u0001\uffff\u000c\u000d\u0004\uffff", + DFA156_minS: + "\u0001\u0010\u000c\u0012\u0004\uffff", + DFA156_maxS: + "\u0001\u0137\u000c\u0136\u0004\uffff", + DFA156_acceptS: + "\u000d\uffff\u0001\u0004\u0001\u0001\u0001\u0002\u0001\u0003", + DFA156_specialS: + "\u000b\uffff\u0001\u0000\u0005\uffff}>", + DFA156_transitionS: [ + "\u0006\u000d\u0001\u0003\u0008\u000d\u0001\u0008\u0009\u000d"+ + "\u0001\u0001\u0001\u0002\u0017\u000d\u0001\u000c\u000b\u000d"+ + "\u0001\u000a\u000a\u000d\u0001\u0007\u0003\u000d\u0001\u0005"+ + "\u0001\u0004\u0005\u000d\u0001\u0009\u0016\u000d\u0001\u0006"+ + "\u0023\u000d\u0001\uffff\u0014\u000d\u0001\uffff\u0007\u000d"+ + "\u0001\u000b\u0004\u000d\u002d\uffff\u0001\u000d\u0048\uffff"+ + "\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000e\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u000f\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "\u0004\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0004\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0003\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0002\u000d"+ + "\u0002\uffff\u0001\u000d\u0001\uffff\u0001\u000d\u0001\uffff"+ + "\u0002\u000d\u0002\uffff\u0001\u000d\u0001\uffff\u0003\u000d"+ + "\u0002\uffff\u0001\u000d\u0002\uffff\u0002\u000d\u0002\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0007\uffff\u0002\u000d"+ + "\u0005\uffff\u0001\u000d\u0004\uffff\u0001\u000d\u0002\uffff"+ + "\u0001\u000d\u0004\uffff\u0001\u000d\u0003\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0006\uffff\u0001\u000d\u0006\uffff"+ + "\u0001\u000d\u0005\uffff\u0002\u000d\u0004\uffff\u0001\u000d"+ + "\u0001\uffff\u0001\u000d\u0007\uffff\u0001\u000d\u0025\uffff"+ + "\u0001\u0010\u0001\u000d\u0001\uffff\u0002\u000d\u0001\uffff"+ + "\u0004\u000d\u0001\uffff\u000b\u000d\u0004\uffff\u0001\u000d"+ + "\u0003\uffff\u0002\u000d\u0055\uffff\u0001\u000d", + "", + "", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(XQueryParser, { + DFA156_eot: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_eotS), + DFA156_eof: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_eofS), + DFA156_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA156_minS), + DFA156_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(XQueryParser.DFA156_maxS), + DFA156_accept: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_acceptS), + DFA156_special: + org.antlr.runtime.DFA.unpackEncodedString(XQueryParser.DFA156_specialS), + DFA156_transition: (function() { + var a = [], + i, + numStates = XQueryParser.DFA156_transitionS.length; + for (i=0; i ^( KindTest p_KindTest ) | {...}? => ( BINARY LPAREN RPAREN ) -> ^( BinaryTest BINARY LPAREN RPAREN ) | ( ITEM LPAREN RPAREN ) -> ^( ItemTest ITEM LPAREN RPAREN ) | p_AtomicType );"; + }, + specialStateTransition: function(s, input) { + var _s = s; + /* bind to recognizer so semantic predicates can be evaluated */ + var retval = (function(s, input) { + switch ( s ) { + case 0 : + var LA156_11 = input.LA(1); + + + var index156_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA156_11==LPAREN) && ((false))) {s = 15;} + + else if ( (LA156_11==EOF||(LA156_11>=AND && LA156_11<=AT)||LA156_11==CASE||LA156_11==COLLATION||LA156_11==DEFAULT||(LA156_11>=DESCENDING && LA156_11<=DIV)||(LA156_11>=ELSE && LA156_11<=EMPTY)||LA156_11==EQ||(LA156_11>=EXCEPT && LA156_11<=EXTERNAL)||LA156_11==FOR||LA156_11==GE||(LA156_11>=GT && LA156_11<=IDIV)||LA156_11==IN||(LA156_11>=INSTANCE && LA156_11<=IS)||LA156_11==LE||(LA156_11>=LT && LA156_11<=MOD)||LA156_11==NE||(LA156_11>=OR && LA156_11<=ORDER)||(LA156_11>=RETURN && LA156_11<=SATISFIES)||LA156_11==STABLE||LA156_11==TO||LA156_11==UNION||LA156_11==WHERE||LA156_11==COUNT||(LA156_11>=END && LA156_11<=GROUP)||LA156_11==ONLY||LA156_11==START||(LA156_11>=AFTER && LA156_11<=BEFORE)||LA156_11==INTO||LA156_11==MODIFY||LA156_11==WITH||LA156_11==RPAREN||(LA156_11>=LBRACKET && LA156_11<=RBRACKET)||(LA156_11>=RSQUARE && LA156_11<=NOTEQUAL)||(LA156_11>=COMMA && LA156_11<=GREATER_GREATER)||LA156_11==COLON||(LA156_11>=SEMICOLON && LA156_11<=VBAR)||LA156_11==LETDOLLAR) ) {s = 13;} + + + input.seek(index156_11); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + if (this.recognizer.state.backtracking>0) {this.recognizer.state.failed=true; return -1;} + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 156, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + + +// public class variables +org.antlr.lang.augmentObject(XQueryParser, { + tokenNames: ["", "", "", "", "L_QuotAttrContentChar", "L_AposAttrContentChar", "L_ElementContentChar", "L_CDataSection", "L_PredefinedEntityRef", "L_CharRef", "ESCAPE_LBRACKET", "ESCAPE_RBRACKET", "ESCAPE_APOS", "ESCAPE_QUOT", "CDATA_START", "CDATA_END", "ANCESTOR", "ANCESTOR_OR_SELF", "AND", "AS", "ASCENDING", "AT", "ATTRIBUTE", "BASE_URI", "BOUNDARY_SPACE", "BY", "CASE", "CAST", "CASTABLE", "CHILD", "COLLATION", "COMMENT", "CONSTRUCTION", "COPY_NAMESPACES", "DECLARE", "DEFAULT", "DESCENDANT", "DESCENDANT_OR_SELF", "DESCENDING", "DIV", "DOCUMENT", "DOCUMENT_NODE", "ELEMENT", "ELSE", "EMPTY", "EMPTY_SEQUENCE", "ENCODING", "EQ", "EVERY", "EXCEPT", "EXTERNAL", "FOLLOWING", "FOLLOWING_SIBLING", "FOR", "FUNCTION", "GE", "GREATEST", "GT", "IDIV", "IF", "IMPORT", "IN", "INHERIT", "INSTANCE", "INTERSECT", "IS", "ITEM", "LAX", "LE", "LEAST", "LET", "LT", "MOD", "MODULE", "NAMESPACE", "NE", "NO_INHERIT", "NO_PRESERVE", "NODE", "OF", "OPTION", "OR", "ORDER", "ORDERED", "ORDERING", "PARENT", "PRECEDING", "PRECEDING_SIBLING", "PRESERVE", "PROCESSING_INSTRUCTION", "RETURN", "SATISFIES", "SCHEMA", "SCHEMA_ATTRIBUTE", "SCHEMA_ELEMENT", "SELF", "SOME", "STABLE", "STRICT", "STRIP", "TEXT", "THEN", "TO", "TREAT", "TYPESWITCH", "UNION", "UNORDERED", "VALIDATE", "VARIABLE", "VERSION", "WHERE", "XQUERY", "CATCH", "CONTEXT", "COUNT", "DECIMAL_FORMAT", "DECIMAL_SEPARATOR", "DIGIT", "END", "GROUP", "GROUPING_SEPARATOR", "INFINITY", "MINUS_SIGN", "NAMESPACE_NODE", "NAN", "NEXT", "ONLY", "OUTER", "PATTERN_SEPARATOR", "PERCENT", "PER_MILLE", "PREVIOUS", "SLIDING", "START", "TRY", "TUMBLING", "WHEN", "WINDOW", "ZERO_DIGIT", "AFTER", "BEFORE", "COPY", "DELETE", "FIRST", "INSERT", "INTO", "LAST", "MODIFY", "NODES", "RENAME", "REPLACE", "REVALIDATION", "SKIP", "UPDATING", "VALUE", "WITH", "BLOCK", "CONSTANT", "EXIT", "RETURNING", "SEQUENTIAL", "SET", "SIMPLE", "WHILE", "EVAL", "USING", "APPEND_ONLY", "AUTOMATICALLY", "CHECK", "COLLECTION", "CONSTRAINT", "CONST", "EQUALITY", "FOREACH", "FOREIGN", "FROM", "INDEX", "INTEGRITY", "KEY", "MAINTAINED", "MANUALLY", "MUTABLE", "NON", "ON", "QUEUE", "RANGE", "READ_ONLY", "UNIQUE", "BINARY", "PRIVATE", "AMP_ER", "APOS_ER", "QUOT_ER", "LPAREN", "RPAREN", "DOLLAR", "LBRACKET", "RBRACKET", "LSQUARE", "RSQUARE", "EQUAL", "BIND", "NOTEQUAL", "AMP", "COMMA", "QUESTION", "STAR", "PLUS", "MINUS", "SMALLER", "GREATER", "SMALLEREQ", "GREATEREQ", "SMALLER_SMALLER", "GREATER_GREATER", "SLASH", "SLASH_SLASH", "DOT", "DOT_DOT", "COLON", "COLON_COLON", "EMPTY_CLOSE_TAG", "CLOSE_TAG", "SEMICOLON", "VBAR", "PRAGMA_START", "PRAGMA_END", "XML_COMMENT_START", "XML_COMMENT_END", "PI_START", "PI_END", "ATTR_SIGN", "CHARREF_DEC", "CHARREF_HEX", "APOS", "QUOT", "NCNameStartChar", "NCNameChar", "L_NCName", "Letter", "HexLetter", "Digit", "Digits", "S", "SU", "L_Pragma", "L_DirCommentConstructor", "L_DirPIConstructor", "L_IntegerLiteral", "L_DecimalLiteral", "L_DoubleLiteral", "L_Comment", "L_AnyChar", "L_QuotStringLiteralChar", "L_AposStringLiteralChar", "LibraryModule", "MainModule", "VersionDecl", "VersionDeclEncoding", "VersionDeclVersion", "ModuleDecl", "Prolog", "DefaultNamespaceDecls", "DefaultNamespaceDecl", "Setters", "Setter", "NamespaceDecls", "NamespaceDecl", "Imports", "SchemaImport", "SchemaPrefix", "NamespaceName", "DefaultElementNamespace", "AtHints", "ModuleImport", "BaseURIDecl", "OrderedDecls", "VarDecl", "VarType", "VarValue", "VarDefaultValue", "VarConstantDecl", "VarVariableDecl", "FunctionDecl", "ParamList", "ReturnType", "OptionDecl", "TypeDeclaration", "Param", "EnclosedExpr", "QueryBody", "UnaryExpr", "DirElemConstructor", "DirAttributeList", "DirAttributeValue", "DirElemContent", "CommonContent", "SequenceType", "EmptySequenceTest", "KindTest", "ItemTest", "AtomicType", "StringLiteral", "ElementContentChar", "AttributeValueChar", "QName", "Block", "BlockDecls", "BlockVarDecl", "BinaryTest", "LETDOLLAR", "EXPLICITLY"], + FOLLOW_p_VersionDecl_in_p_Module523: new org.antlr.runtime.BitSet([0x00000000, 0x10000004,0x00000200, 0x00000000]), + FOLLOW_p_LibraryModule_in_p_Module558: new org.antlr.runtime.BitSet([0x00000000, 0x00000000]), + FOLLOW_p_MainModule_in_p_Module584: new org.antlr.runtime.BitSet([0x00000000, 0x00000000]), + FOLLOW_EOF_in_p_Module613: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_XQUERY_in_p_VersionDecl641: new org.antlr.runtime.BitSet([0x00000000, 0x00004000,0x00000000, 0x00002000]), + FOLLOW_ENCODING_in_p_VersionDecl647: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl651: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_VERSION_in_p_VersionDecl672: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl676: new org.antlr.runtime.BitSet([0x00000000, 0x00004000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_ENCODING_in_p_VersionDecl682: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_VersionDecl686: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_VersionDecl692: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Prolog_in_p_MainModule758: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_QueryBody_in_p_MainModule760: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ModuleDecl_in_p_LibraryModule816: new org.antlr.runtime.BitSet([0x00000000, 0x10000004,0x00000200, 0x00000000]), + FOLLOW_pm_Prolog_in_p_LibraryModule818: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MODULE_in_p_ModuleDecl874: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_p_ModuleDecl878: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_ModuleDecl880: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_ModuleDecl882: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_ModuleDecl884: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_ModuleDecl886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_DefaultNamespaceDecl_in_pm_Prolog945: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_p_Setter_in_pm_Prolog951: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_pm_NamespaceDecl_in_pm_Prolog957: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_p_Import_in_pm_Prolog963: new org.antlr.runtime.BitSet([0x00000000, 0x10000004]), + FOLLOW_pg_OrderedDecl_in_pm_Prolog970: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_VarDecl_in_pg_OrderedDecl1248: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_ContextItemDecl_in_pg_OrderedDecl1252: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_FunctionDecl_in_pg_OrderedDecl1256: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_OptionDecl_in_pg_OrderedDecl1260: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_CollectionDecl_in_pg_OrderedDecl1275: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_IndexDecl_in_pg_OrderedDecl1290: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_p_ICDecl_in_pg_OrderedDecl1305: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_pm_BoundarySpaceDecl_in_p_Setter1334: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_DefaultCollationDecl_in_p_Setter1346: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_BaseURIDecl_in_p_Setter1358: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_ConstructionDecl_in_p_Setter1370: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_OrderingModeDecl_in_p_Setter1382: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_EmptyOrderDecl_in_p_Setter1394: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_RevalidationDecl_in_p_Setter1409: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_CopyNamespacesDecl_in_p_Setter1421: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_SchemaImport_in_p_Import1447: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_ModuleImport_in_p_Import1451: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_NamespaceDecl1482: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_pm_NamespaceDecl1486: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_pm_NamespaceDecl1490: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_pm_NamespaceDecl1492: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_NamespaceDecl1496: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_NamespaceDecl1498: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_BoundarySpaceDecl1561: new org.antlr.runtime.BitSet([0x01000000, 0x00000000]), + FOLLOW_BOUNDARY_SPACE_in_pm_BoundarySpaceDecl1565: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01000000, 0x00000008]), + FOLLOW_PRESERVE_in_pm_BoundarySpaceDecl1570: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_STRIP_in_pm_BoundarySpaceDecl1576: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BoundarySpaceDecl1579: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_DefaultNamespaceDecl1607: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_DefaultNamespaceDecl1611: new org.antlr.runtime.BitSet([0x00000000, 0x00400400]), + FOLLOW_ELEMENT_in_pm_DefaultNamespaceDecl1616: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_FUNCTION_in_pm_DefaultNamespaceDecl1622: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_pm_DefaultNamespaceDecl1627: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_DefaultNamespaceDecl1629: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_DefaultNamespaceDecl1631: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_OptionDecl1662: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00010000, 0x00000000]), + FOLLOW_OPTION_in_pm_OptionDecl1666: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_OptionDecl1668: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_OptionDecl1670: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_OptionDecl1672: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_OrderingModeDecl1703: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_ORDERING_in_pm_OrderingModeDecl1707: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00080000, 0x00000400]), + FOLLOW_ORDERED_in_pm_OrderingModeDecl1712: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_UNORDERED_in_pm_OrderingModeDecl1718: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_OrderingModeDecl1721: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_EmptyOrderDecl1752: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_EmptyOrderDecl1756: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_ORDER_in_pm_EmptyOrderDecl1760: new org.antlr.runtime.BitSet([0x00000000, 0x00001000]), + FOLLOW_EMPTY_in_pm_EmptyOrderDecl1764: new org.antlr.runtime.BitSet([0x00000000, 0x01000000,0x00000020, 0x00000000]), + FOLLOW_GREATEST_in_pm_EmptyOrderDecl1769: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_LEAST_in_pm_EmptyOrderDecl1775: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_EmptyOrderDecl1778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_CopyNamespacesDecl1809: new org.antlr.runtime.BitSet([0x00000000, 0x00000002]), + FOLLOW_COPY_NAMESPACES_in_pm_CopyNamespacesDecl1813: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01002000, 0x00000000]), + FOLLOW_p_PreserveMode_in_pm_CopyNamespacesDecl1815: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_pm_CopyNamespacesDecl1817: new org.antlr.runtime.BitSet([0x00000000, 0x40000000,0x00001000, 0x00000000]), + FOLLOW_p_InheritMode_in_pm_CopyNamespacesDecl1819: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_CopyNamespacesDecl1821: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_DecimalFormatDecl1852: new org.antlr.runtime.BitSet([0x00000000, 0x00000008,0x00000000, 0x00080000]), + FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1856: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DecimalFormatDecl1858: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x17300000,0x00000407, 0x00000000]), + FOLLOW_DEFAULT_in_p_DecimalFormatDecl1864: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_DECIMAL_FORMAT_in_p_DecimalFormatDecl1866: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x17300000,0x00000407, 0x00000000]), + FOLLOW_p_DFPropertyName_in_p_DecimalFormatDecl1871: new org.antlr.runtime.BitSet([0x00000000, 0x00008000]), + FOLLOW_EQ_in_p_DecimalFormatDecl1874: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_DecimalFormatDecl1876: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_DecimalFormatDecl1878: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECIMAL_SEPARATOR_in_p_DFPropertyName1907: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GROUPING_SEPARATOR_in_p_DFPropertyName1913: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INFINITY_in_p_DFPropertyName1919: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MINUS_SIGN_in_p_DFPropertyName1925: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAN_in_p_DFPropertyName1931: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PERCENT_in_p_DFPropertyName1937: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PER_MILLE_in_p_DFPropertyName1943: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ZERO_DIGIT_in_p_DFPropertyName1949: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DIGIT_in_p_DFPropertyName1955: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PATTERN_SEPARATOR_in_p_DFPropertyName1961: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRESERVE_in_p_PreserveMode1993: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NO_PRESERVE_in_p_PreserveMode1999: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INHERIT_in_p_InheritMode2032: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NO_INHERIT_in_p_InheritMode2038: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_DefaultCollationDecl2078: new org.antlr.runtime.BitSet([0x00000000, 0x00000008]), + FOLLOW_DEFAULT_in_pm_DefaultCollationDecl2082: new org.antlr.runtime.BitSet([0x40000000, 0x00000000]), + FOLLOW_COLLATION_in_pm_DefaultCollationDecl2086: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_DefaultCollationDecl2088: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_DefaultCollationDecl2090: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_BaseURIDecl2129: new org.antlr.runtime.BitSet([0x00800000, 0x00000000]), + FOLLOW_BASE_URI_in_pm_BaseURIDecl2133: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_BaseURIDecl2137: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BaseURIDecl2139: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IMPORT_in_pm_SchemaImport2193: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_SCHEMA_in_pm_SchemaImport2197: new org.antlr.runtime.BitSet([0x00000000, 0x00000008,0x00000400, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_SchemaPrefix_in_pm_SchemaImport2201: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2206: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_AT_in_pm_SchemaImport2211: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2215: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_SchemaImport2218: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_SchemaImport2222: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_SchemaImport2228: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_in_p_SchemaPrefix2299: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_SchemaPrefix2303: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_SchemaPrefix2305: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DEFAULT_in_p_SchemaPrefix2345: new org.antlr.runtime.BitSet([0x00000000, 0x00000400]), + FOLLOW_ELEMENT_in_p_SchemaPrefix2349: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000]), + FOLLOW_NAMESPACE_in_p_SchemaPrefix2353: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IMPORT_in_pm_ModuleImport2402: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_MODULE_in_pm_ModuleImport2406: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000400, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_NAMESPACE_in_pm_ModuleImport2411: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_pm_ModuleImport2415: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_pm_ModuleImport2417: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2423: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_AT_in_pm_ModuleImport2428: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2432: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_ModuleImport2435: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_pm_ModuleImport2439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ModuleImport2445: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_VarDecl2515: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00001000,0x20000000, 0x20000000]), + FOLLOW_p_PrivateOption_in_pm_VarDecl2517: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00001000,0x20000000, 0x20000000]), + FOLLOW_pg_VarDeclType_in_pm_VarDecl2521: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_VarDecl2523: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_VarDecl2527: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_VarDecl2531: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_pm_VarDecl2536: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_VarDecl2540: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_VarDecl2548: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000200, 0x00000000]), + FOLLOW_BIND_in_pm_VarDecl2551: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_VarDecl2555: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_VarDecl2561: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CONSTANT_in_pg_VarDeclType2648: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_VARIABLE_in_pg_VarDeclType2682: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_ContextItemDecl2739: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00020000]), + FOLLOW_CONTEXT_in_pm_ContextItemDecl2743: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_ITEM_in_pm_ContextItemDecl2747: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_AS_in_pm_ContextItemDecl2752: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ItemType_in_pm_ContextItemDecl2754: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_pm_ContextItemDecl2760: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2762: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_ContextItemDecl2770: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000200, 0x00000000]), + FOLLOW_BIND_in_pm_ContextItemDecl2773: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_ContextItemDecl2775: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ContextItemDecl2781: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_ConstructionDecl2815: new org.antlr.runtime.BitSet([0x00000000, 0x00000001]), + FOLLOW_CONSTRUCTION_in_pm_ConstructionDecl2819: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x01000000, 0x00000008]), + FOLLOW_STRIP_in_pm_ConstructionDecl2824: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_PRESERVE_in_pm_ConstructionDecl2830: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ConstructionDecl2833: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_FunctionDecl2869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_SEQUENTIAL_in_pm_FunctionDecl2873: new org.antlr.runtime.BitSet([0x00000000, 0x00400000]), + FOLLOW_FUNCTION_in_pm_FunctionDecl2877: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_FunctionDecl2881: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_pm_FunctionDecl2883: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000000C, 0x00000000]), + FOLLOW_p_ParamList_in_pm_FunctionDecl2887: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_pm_FunctionDecl2890: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2894: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_Block_in_pm_FunctionDecl2900: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_FunctionDecl2906: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_FunctionDecl2909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_FunctionDecl2971: new org.antlr.runtime.BitSet([0x00000000, 0x00400000,0x00000000, 0x00000000,0x02000000, 0x20000004]), + FOLLOW_p_PrivateOption_in_pm_FunctionDecl2973: new org.antlr.runtime.BitSet([0x00000000, 0x00400000,0x00000000, 0x00000000,0x02000000, 0x00000004]), + FOLLOW_p_FunctionType_in_pm_FunctionDecl2975: new org.antlr.runtime.BitSet([0x00000000, 0x00400000]), + FOLLOW_FUNCTION_in_pm_FunctionDecl2979: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_pm_FunctionDecl2983: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_pm_FunctionDecl2985: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000000C, 0x00000000]), + FOLLOW_p_ParamList_in_pm_FunctionDecl2989: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_pm_FunctionDecl2992: new org.antlr.runtime.BitSet([0x00080000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_FunctionDecl2996: new org.antlr.runtime.BitSet([0x00000000, 0x00040000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_EnclosedExpr_in_pm_FunctionDecl3002: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_EXTERNAL_in_pm_FunctionDecl3008: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_FunctionDecl3011: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UPDATING_in_p_FunctionType3091: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SIMPLE_in_p_FunctionType3108: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRIVATE_in_p_PrivateOption3150: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Param_in_p_ParamList3193: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ParamList3196: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_Param_in_p_ParamList3200: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DOLLAR_in_p_Param3258: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_Param3262: new org.antlr.runtime.BitSet([0x00080002, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_Param3266: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_EnclosedExpr3322: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_EnclosedExpr3324: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_EnclosedExpr3326: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Expr_in_p_QueryBody3376: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ConcatExpr_in_pm_Expr3427: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_Expr3444: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x8783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_ApplyExpr_in_pm_Expr3446: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x8783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_SEMICOLON_in_pm_Expr3471: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ConcatExpr_in_pm_Expr3473: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_FLWORExpr_in_p_ExprSingle3507: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QuantifiedExpr_in_p_ExprSingle3519: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TypeswitchExpr_in_p_ExprSingle3531: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_IfExpr_in_p_ExprSingle3543: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TryCatchExpr_in_p_ExprSingle3555: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_EvalExpr_in_p_ExprSingle3570: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InsertExpr_in_p_ExprSingle3585: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DeleteExpr_in_p_ExprSingle3600: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_RenameExpr_in_p_ExprSingle3615: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReplaceExpr_in_p_ExprSingle3630: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TransformExpr_in_p_ExprSingle3645: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_BlockExpr_in_p_ExprSingle3660: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AssignmentExpr_in_p_ExprSingle3675: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExitExpr_in_p_ExprSingle3690: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WhileExpr_in_p_ExprSingle3705: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrExpr_in_p_ExprSingle3717: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InitialClause_in_p_FLWORExpr3743: new org.antlr.runtime.BitSet([0x00000000, 0x00200000,0x04040000, 0x00844002,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_p_IntermediateClause_in_p_FLWORExpr3745: new org.antlr.runtime.BitSet([0x00000000, 0x00200000,0x04040000, 0x00844002,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_p_ReturnClause_in_p_FLWORExpr3748: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ForClause_in_p_InitialClause3774: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_LetClause_in_p_InitialClause3778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WindowClause_in_p_InitialClause3782: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_InitialClause_in_p_IntermediateClause3808: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_WhereClause_in_p_IntermediateClause3812: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_GroupByClause_in_p_IntermediateClause3816: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderByClause_in_p_IntermediateClause3820: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CountClause_in_p_IntermediateClause3824: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOR_in_p_ForClause3852: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ForClause3854: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_ForClause3856: new org.antlr.runtime.BitSet([0x00280000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_ForClause3858: new org.antlr.runtime.BitSet([0x00200000, 0x20000000]), + FOLLOW_p_PositionalVar_in_p_ForClause3861: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_ForClause3866: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ForClause3868: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ForClause3871: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ForClause3873: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_ForClause3875: new org.antlr.runtime.BitSet([0x00280000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_ForClause3877: new org.antlr.runtime.BitSet([0x00200000, 0x20000000]), + FOLLOW_p_PositionalVar_in_p_ForClause3880: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_ForClause3885: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ForClause3887: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_AT_in_p_PositionalVar3918: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_PositionalVar3920: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_PositionalVar3922: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LETDOLLAR_in_p_LetClause3950: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_LetClause3952: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_LetClause3954: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_LetClause3957: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_LetClause3959: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_LetClause3962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_LetClause3964: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_LetClause3966: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_p_LetClause3968: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_LetClause3971: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_LetClause3973: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_FOR_in_p_WindowClause4003: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000090, 0x00000000]), + FOLLOW_p_TumblingWindowClause_in_p_WindowClause4006: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SlidingWindowClause_in_p_WindowClause4010: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TUMBLING_in_p_TumblingWindowClause4047: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_WINDOW_in_p_TumblingWindowClause4051: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TumblingWindowClause4053: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TumblingWindowClause4055: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_TumblingWindowClause4057: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_TumblingWindowClause4060: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TumblingWindowClause4062: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_p_WindowStartCondition_in_p_TumblingWindowClause4064: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x40400000]), + FOLLOW_p_WindowEndCondition_in_p_TumblingWindowClause4066: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLIDING_in_p_SlidingWindowClause4096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_WINDOW_in_p_SlidingWindowClause4100: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_SlidingWindowClause4102: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_SlidingWindowClause4104: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_SlidingWindowClause4106: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_SlidingWindowClause4109: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_SlidingWindowClause4111: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_p_WindowStartCondition_in_p_SlidingWindowClause4113: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x40400000]), + FOLLOW_p_WindowEndCondition_in_p_SlidingWindowClause4115: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_START_in_p_WindowStartCondition4145: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x20000000,0x00000108, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_WindowVars_in_p_WindowStartCondition4147: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_WHEN_in_p_WindowStartCondition4151: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WindowStartCondition4153: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ONLY_in_p_WindowEndCondition4182: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00400000]), + FOLLOW_END_in_p_WindowEndCondition4187: new org.antlr.runtime.BitSet([0x00200000, 0x00000000,0x00000000, 0x20000000,0x00000108, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_WindowVars_in_p_WindowEndCondition4189: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_WHEN_in_p_WindowEndCondition4193: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WindowEndCondition4195: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4223: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4225: new org.antlr.runtime.BitSet([0x00200002, 0x00000000,0x00000000, 0x20000000,0x00000008, 0x00000000]), + FOLLOW_p_PositionalVar_in_p_WindowVars4229: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x20000000,0x00000008, 0x00000000]), + FOLLOW_PREVIOUS_in_p_WindowVars4235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4237: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4239: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x20000000]), + FOLLOW_NEXT_in_p_WindowVars4246: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_WindowVars4248: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_WindowVars4250: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COUNT_in_p_CountClause4290: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CountClause4292: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CountClause4294: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_WHERE_in_p_WhereClause4330: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WhereClause4332: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GROUP_in_p_GroupByClause4362: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_GroupByClause4366: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_GroupingSpecList_in_p_GroupByClause4368: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4397: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_GroupingSpecList4400: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_p_GroupingSpec_in_p_GroupingSpecList4402: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DOLLAR_in_p_GroupingSpec4432: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_GroupingSpec4434: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_COLLATION_in_p_GroupingSpec4439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_GroupingSpec4441: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ORDER_in_p_OrderByClause4476: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_OrderByClause4480: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_STABLE_in_p_OrderByClause4488: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_ORDER_in_p_OrderByClause4492: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_OrderByClause4496: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_OrderSpecList_in_p_OrderByClause4500: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderSpec_in_p_OrderSpecList4529: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_OrderSpecList4532: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_OrderSpec_in_p_OrderSpecList4534: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_OrderSpec4564: new org.antlr.runtime.BitSet([0x40100000, 0x00001040]), + FOLLOW_p_OrderModifier_in_p_OrderSpec4566: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ASCENDING_in_p_OrderModifier4595: new org.antlr.runtime.BitSet([0x40000002, 0x00001000]), + FOLLOW_DESCENDING_in_p_OrderModifier4601: new org.antlr.runtime.BitSet([0x40000002, 0x00001000]), + FOLLOW_EMPTY_in_p_OrderModifier4608: new org.antlr.runtime.BitSet([0x00000000, 0x01000000,0x00000020, 0x00000000]), + FOLLOW_GREATEST_in_p_OrderModifier4613: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_LEAST_in_p_OrderModifier4619: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_COLLATION_in_p_OrderModifier4627: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_OrderModifier4629: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_RETURN_in_p_ReturnClause4660: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReturnClause4662: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SOME_in_p_QuantifiedExpr4693: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_EVERY_in_p_QuantifiedExpr4699: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_QuantifiedExpr4702: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_QuantifiedExpr4704: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4706: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_QuantifiedExpr4711: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4713: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x08000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_QuantifiedExpr4716: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_QuantifiedExpr4718: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_QuantifiedExpr4720: new org.antlr.runtime.BitSet([0x00080000, 0x20000000]), + FOLLOW_p_TypeDeclaration_in_p_QuantifiedExpr4722: new org.antlr.runtime.BitSet([0x00000000, 0x20000000]), + FOLLOW_IN_in_p_QuantifiedExpr4727: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4729: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x08000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_SATISFIES_in_p_QuantifiedExpr4735: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_QuantifiedExpr4737: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TYPESWITCH_in_p_TypeswitchExpr4766: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_TypeswitchExpr4768: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_TypeswitchExpr4770: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_TypeswitchExpr4772: new org.antlr.runtime.BitSet([0x04000000, 0x00000000]), + FOLLOW_p_CaseClause_in_p_TypeswitchExpr4774: new org.antlr.runtime.BitSet([0x04000000, 0x00000008]), + FOLLOW_DEFAULT_in_p_TypeswitchExpr4779: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TypeswitchExpr4782: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TypeswitchExpr4784: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_TypeswitchExpr4790: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TypeswitchExpr4792: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CASE_in_p_CaseClause4821: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_DOLLAR_in_p_CaseClause4824: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CaseClause4826: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CaseClause4830: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_CaseClause4834: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_CaseClause4838: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_CaseClause4840: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IF_in_p_IfExpr4869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_IfExpr4871: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_IfExpr4873: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_IfExpr4875: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000020]), + FOLLOW_THEN_in_p_IfExpr4879: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_IfExpr4881: new org.antlr.runtime.BitSet([0x00000000, 0x00000800]), + FOLLOW_ELSE_in_p_IfExpr4885: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_IfExpr4887: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AndExpr_in_p_OrExpr4914: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_OR_in_p_OrExpr4920: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_AndExpr_in_p_OrExpr4923: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_p_ComparisonExpr_in_p_AndExpr4954: new org.antlr.runtime.BitSet([0x00040002, 0x00000000]), + FOLLOW_AND_in_p_AndExpr4960: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ComparisonExpr_in_p_AndExpr4963: new org.antlr.runtime.BitSet([0x00040002, 0x00000000]), + FOLLOW_p_RangeExpr_in_p_ComparisonExpr4994: new org.antlr.runtime.BitSet([0x00000002, 0x02808000,0x00000892, 0x00000000,0x00000000, 0x00000000,0x007E0500, 0x00000000]), + FOLLOW_p_ValueComp_in_p_ComparisonExpr4999: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_GeneralComp_in_p_ComparisonExpr5003: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_NodeComp_in_p_ComparisonExpr5007: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_RangeExpr_in_p_ComparisonExpr5010: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AdditiveExpr_in_p_RangeExpr5041: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000040]), + FOLLOW_TO_in_p_RangeExpr5047: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_AdditiveExpr_in_p_RangeExpr5050: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5081: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00018000, 0x00000000]), + FOLLOW_set_in_p_AdditiveExpr5085: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_MultiplicativeExpr_in_p_AdditiveExpr5093: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00018000, 0x00000000]), + FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5124: new org.antlr.runtime.BitSet([0x00000002, 0x04000080,0x00000100, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_STAR_in_p_MultiplicativeExpr5129: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_DIV_in_p_MultiplicativeExpr5135: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_IDIV_in_p_MultiplicativeExpr5141: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_MOD_in_p_MultiplicativeExpr5149: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_UnionExpr_in_p_MultiplicativeExpr5153: new org.antlr.runtime.BitSet([0x00000002, 0x04000080,0x00000100, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5184: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000200,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_UNION_in_p_UnionExpr5191: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_VBAR_in_p_UnionExpr5195: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_IntersectExceptExpr_in_p_UnionExpr5198: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000200,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5229: new org.antlr.runtime.BitSet([0x00000002, 0x00020000,0x00000001, 0x00000000]), + FOLLOW_INTERSECT_in_p_IntersectExceptExpr5236: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_EXCEPT_in_p_IntersectExceptExpr5242: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_InstanceofExpr_in_p_IntersectExceptExpr5246: new org.antlr.runtime.BitSet([0x00000002, 0x00020000,0x00000001, 0x00000000]), + FOLLOW_p_TreatExpr_in_p_InstanceofExpr5277: new org.antlr.runtime.BitSet([0x00000002, 0x80000000]), + FOLLOW_INSTANCE_in_p_InstanceofExpr5283: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00008000, 0x00000000]), + FOLLOW_OF_in_p_InstanceofExpr5287: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_InstanceofExpr5289: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CastableExpr_in_p_TreatExpr5319: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000080]), + FOLLOW_TREAT_in_p_TreatExpr5325: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_TreatExpr5329: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_TreatExpr5331: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CastExpr_in_p_CastableExpr5370: new org.antlr.runtime.BitSet([0x10000002, 0x00000000]), + FOLLOW_CASTABLE_in_p_CastableExpr5376: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CastableExpr5380: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SingleType_in_p_CastableExpr5382: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UnaryExpr_in_p_CastExpr5421: new org.antlr.runtime.BitSet([0x08000002, 0x00000000]), + FOLLOW_CAST_in_p_CastExpr5427: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_CastExpr5431: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SingleType_in_p_CastExpr5433: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PLUS_in_p_UnaryExpr5465: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_MINUS_in_p_UnaryExpr5469: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ValueExpr_in_p_UnaryExpr5473: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ValidateExpr_in_p_ValueExpr5529: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PathExpr_in_p_ValueExpr5541: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExtensionExpr_in_p_ValueExpr5553: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_GeneralComp0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EQ_in_p_ValueComp5632: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NE_in_p_ValueComp5638: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LT_in_p_ValueComp5644: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LE_in_p_ValueComp5650: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GT_in_p_ValueComp5656: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GE_in_p_ValueComp5662: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_IS_in_p_NodeComp5694: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SMALLER_SMALLER_in_p_NodeComp5698: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GREATER_GREATER_in_p_NodeComp5702: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_VALIDATE_in_p_ValidateExpr5732: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000008, 0x00000004,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_ValidationMode_in_p_ValidateExpr5734: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_ValidateExpr5737: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ValidateExpr5739: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ValidateExpr5741: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LAX_in_p_ValidationMode5772: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STRICT_in_p_ValidationMode5778: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_ValidationMode5785: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ValidationMode5787: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_Pragma_in_p_ExtensionExpr5818: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00200000]), + FOLLOW_LBRACKET_in_p_ExtensionExpr5821: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ExtensionExpr5823: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ExtensionExpr5826: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_p_PathExpr5868: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5870: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_p_PathExpr5883: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_SLASH_in_p_PathExpr5895: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5897: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_RelativePathExpr_in_p_PathExpr5909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_StepExpr_in_p_RelativePathExpr5937: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x01800000, 0x00000000]), + FOLLOW_set_in_p_RelativePathExpr5940: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_StepExpr_in_p_RelativePathExpr5948: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x01800000, 0x00000000]), + FOLLOW_p_AxisStep_in_p_StepExpr5976: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FilterExpr_in_p_StepExpr5988: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReverseStep_in_p_AxisStep6015: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_ForwardStep_in_p_AxisStep6019: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_PredicateList_in_p_AxisStep6022: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ForwardAxis_in_p_ForwardStep6049: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_ForwardStep6051: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AbbrevForwardStep_in_p_ForwardStep6056: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CHILD_in_p_ForwardAxis6082: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6084: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DESCENDANT_in_p_ForwardAxis6096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6098: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_ForwardAxis6110: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6112: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SELF_in_p_ForwardAxis6124: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6126: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DESCENDANT_OR_SELF_in_p_ForwardAxis6138: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6140: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOLLOWING_SIBLING_in_p_ForwardAxis6152: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6154: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOLLOWING_in_p_ForwardAxis6166: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ForwardAxis6168: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTR_SIGN_in_p_AbbrevForwardStep6194: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_AbbrevForwardStep6197: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ReverseAxis_in_p_ReverseStep6224: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NodeTest_in_p_ReverseStep6226: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AbbrevReverseStep_in_p_ReverseStep6231: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PARENT_in_p_ReverseAxis6257: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6259: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ANCESTOR_in_p_ReverseAxis6271: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6273: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRECEDING_SIBLING_in_p_ReverseAxis6285: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6287: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PRECEDING_in_p_ReverseAxis6299: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6301: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ANCESTOR_OR_SELF_in_p_ReverseAxis6313: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x10000000, 0x00000000]), + FOLLOW_COLON_COLON_in_p_ReverseAxis6315: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOT_DOT_in_p_AbbrevReverseStep6341: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_KindTest_in_p_NodeTest6367: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NameTest_in_p_NodeTest6371: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_NameTest6397: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Wildcard_in_p_NameTest6401: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_Wildcard6427: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_COLON_in_p_Wildcard6430: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_Wildcard6432: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NCName_in_p_Wildcard6439: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_COLON_in_p_Wildcard6441: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_STAR_in_p_Wildcard6443: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PrimaryExpr_in_p_FilterExpr6479: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_p_PredicateList_in_p_FilterExpr6481: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Predicate_in_p_PredicateList6509: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000040, 0x00000000]), + FOLLOW_LSQUARE_in_p_Predicate6538: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_Predicate6540: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000080, 0x00000000]), + FOLLOW_RSQUARE_in_p_Predicate6542: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Literal_in_p_PrimaryExpr6570: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_VarRef_in_p_PrimaryExpr6582: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ParenthesizedExpr_in_p_PrimaryExpr6594: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ContextItemExpr_in_p_PrimaryExpr6606: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FunctionCall_in_p_PrimaryExpr6618: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OrderedExpr_in_p_PrimaryExpr6630: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UnorderedExpr_in_p_PrimaryExpr6642: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Constructor_in_p_PrimaryExpr6654: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NumericLiteral_in_p_Literal6682: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_StringLiteral_in_p_Literal6686: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_NumericLiteral0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_VarRef6758: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_VarRef6760: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_VarName6788: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ParenthesizedExpr6816: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00F, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ParenthesizedExpr6818: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ParenthesizedExpr6821: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOT_in_p_ContextItemExpr6849: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ORDERED_in_p_OrderedExpr6879: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_OrderedExpr6882: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_OrderedExpr6884: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_OrderedExpr6886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UNORDERED_in_p_UnorderedExpr6916: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_UnorderedExpr6919: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_UnorderedExpr6921: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_UnorderedExpr6923: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FQName_in_p_FunctionCall6952: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_FunctionCall6954: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00F, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_FunctionCall6957: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_FunctionCall6960: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_FunctionCall6962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_RPAREN_in_p_FunctionCall6968: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirectConstructor_in_p_Constructor7000: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ComputedConstructor_in_p_Constructor7004: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirElemConstructor_in_p_DirectConstructor7032: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_DirCommentConstructor_in_p_DirectConstructor7044: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_DirPIConstructor_in_p_DirectConstructor7056: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SMALLER_in_p_DirElemConstructor7084: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirElemConstructor7100: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x20040000, 0x00080000]), + FOLLOW_p_DirAttributeList_in_p_DirElemConstructor7102: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x20040000, 0x00000000]), + FOLLOW_EMPTY_CLOSE_TAG_in_p_DirElemConstructor7118: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_GREATER_in_p_DirElemConstructor7123: new org.antlr.runtime.BitSet([0x00000FC0, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x40020010, 0x00C00000]), + FOLLOW_pm_DirElemContent_in_p_DirElemConstructor7125: new org.antlr.runtime.BitSet([0x00000FC0, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x40020010, 0x00C00000]), + FOLLOW_CLOSE_TAG_in_p_DirElemConstructor7128: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirElemConstructor7130: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00040000, 0x00080000]), + FOLLOW_S_in_p_DirElemConstructor7132: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00040000, 0x00000000]), + FOLLOW_GREATER_in_p_DirElemConstructor7135: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_S_in_p_DirAttributeList7212: new org.antlr.runtime.BitSet([0xFFFF0002, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00084000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_DirAttributeList7215: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00080000]), + FOLLOW_S_in_p_DirAttributeList7217: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000100, 0x00000000]), + FOLLOW_EQUAL_in_p_DirAttributeList7220: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080C00]), + FOLLOW_S_in_p_DirAttributeList7222: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080C00]), + FOLLOW_p_DirAttributeValue_in_p_DirAttributeList7225: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_QUOT_in_p_DirAttributeValue7256: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_ESCAPE_QUOT_in_p_DirAttributeValue7259: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_pm_QuotAttrValueContent_in_p_DirAttributeValue7263: new org.antlr.runtime.BitSet([0x00002F10, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000800]), + FOLLOW_QUOT_in_p_DirAttributeValue7267: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_APOS_in_p_DirAttributeValue7306: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_ESCAPE_APOS_in_p_DirAttributeValue7309: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_pm_AposAttrValueContent_in_p_DirAttributeValue7313: new org.antlr.runtime.BitSet([0x00001F20, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000400]), + FOLLOW_APOS_in_p_DirAttributeValue7317: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_QuotAttrContentChar_in_pm_QuotAttrValueContent7369: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_QuotAttrValueContent7373: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_QuotAttrValueContent7377: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_QuotAttrContentChar_in_pg_QuotAttrContentChar7406: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_AposAttrContentChar_in_pm_AposAttrValueContent7459: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_AposAttrValueContent7463: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_AposAttrValueContent7467: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_AposAttrContentChar_in_pg_AposAttrContentChar7496: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DirectConstructor_in_pm_DirElemContent7547: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_CDataSection_in_pm_DirElemContent7559: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElemEnclosedExpr_in_pm_DirElemContent7571: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_CommonContent_in_pm_DirElemContent7583: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pg_ElementContentChar_in_pm_DirElemContent7595: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_L_ElementContentChar_in_pg_ElementContentChar7624: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_CommonContent_in_pg_CommonContent7680: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_pm_CommonContent0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_ElemEnclosedExpr7776: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_ElemEnclosedExpr7793: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_ElemEnclosedExpr7810: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompDocConstructor_in_p_ComputedConstructor7861: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompElemConstructor_in_p_ComputedConstructor7873: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompAttrConstructor_in_p_ComputedConstructor7885: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompNamespaceConstructor_in_p_ComputedConstructor7897: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompTextConstructor_in_p_ComputedConstructor7909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompCommentConstructor_in_p_ComputedConstructor7921: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompPIConstructor_in_p_ComputedConstructor7933: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CompBinaryConstructor_in_p_ComputedConstructor7948: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOCUMENT_in_p_CompDocConstructor7982: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompDocConstructor7985: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompDocConstructor7987: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompDocConstructor7989: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ELEMENT_in_p_CompElemConstructor8030: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CompElemConstructor8034: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompElemConstructor8039: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompElemConstructor8041: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompElemConstructor8043: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompElemConstructor8047: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompElemConstructor8049: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompElemConstructor8052: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_CompAttrConstructor8085: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CompAttrConstructor8089: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompAttrConstructor8094: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompAttrConstructor8096: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompAttrConstructor8098: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompAttrConstructor8102: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompAttrConstructor8104: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompAttrConstructor8107: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_in_p_CompNamespaceConstructor8135: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_CompNamespaceConstructor8139: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8144: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8146: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8148: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompNamespaceConstructor8152: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompNamespaceConstructor8154: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompNamespaceConstructor8157: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TEXT_in_p_CompTextConstructor8193: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompTextConstructor8196: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompTextConstructor8198: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompTextConstructor8200: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BINARY_in_p_CompBinaryConstructor8230: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompBinaryConstructor8233: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompBinaryConstructor8235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompBinaryConstructor8237: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COMMENT_in_p_CompCommentConstructor8267: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompCommentConstructor8270: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompCommentConstructor8272: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompCommentConstructor8274: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PROCESSING_INSTRUCTION_in_p_CompPIConstructor8305: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000011, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_CompPIConstructor8309: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompPIConstructor8314: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompPIConstructor8316: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompPIConstructor8318: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CompPIConstructor8322: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C02B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CompPIConstructor8324: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CompPIConstructor8327: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AtomicType_in_p_SingleType8355: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00002000, 0x00000000]), + FOLLOW_QUESTION_in_p_SingleType8357: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_TypeDeclaration8388: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000009, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_SequenceType_in_p_TypeDeclaration8393: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EMPTY_SEQUENCE_in_p_SequenceType8448: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SequenceType8453: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SequenceType8457: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ItemType_in_p_SequenceType8506: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000E000, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_p_SequenceType8517: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_OccurrenceIndicator0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_KindTest_in_p_ItemType8619: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BINARY_in_p_ItemType8659: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ItemType8661: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ItemType8663: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ITEM_in_p_ItemType8705: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ItemType8707: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ItemType8709: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AtomicType_in_p_ItemType8750: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AtomicType8776: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_DocumentTest_in_p_KindTest8826: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElementTest_in_p_KindTest8838: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AttributeTest_in_p_KindTest8850: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SchemaElementTest_in_p_KindTest8862: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_SchemaAttributeTest_in_p_KindTest8874: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NamespaceNodeTest_in_p_KindTest8886: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PITest_in_p_KindTest8898: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_CommentTest_in_p_KindTest8910: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TextTest_in_p_KindTest8922: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AnyKindTest_in_p_KindTest8934: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NODE_in_p_AnyKindTest8962: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_AnyKindTest8964: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_AnyKindTest8966: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOCUMENT_NODE_in_p_DocumentTest8994: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_DocumentTest8996: new org.antlr.runtime.BitSet([0x00000000, 0x00000400,0x40000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_ElementTest_in_p_DocumentTest8999: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_SchemaElementTest_in_p_DocumentTest9003: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_DocumentTest9007: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TEXT_in_p_TextTest9027: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_TextTest9029: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_TextTest9031: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COMMENT_in_p_CommentTest9059: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_CommentTest9061: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_CommentTest9063: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NAMESPACE_NODE_in_p_NamespaceNodeTest9089: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_NamespaceNodeTest9091: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_NamespaceNodeTest9093: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_PROCESSING_INSTRUCTION_in_p_PITest9121: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_PITest9123: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000005, 0x00004C00,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_PITest9126: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_p_StringLiteral_in_p_PITest9130: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_PITest9134: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ATTRIBUTE_in_p_AttributeTest9162: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_AttributeTest9164: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00004005, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AttribNameOrWildcard_in_p_AttributeTest9167: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_AttributeTest9170: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_TypeName_in_p_AttributeTest9172: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_AttributeTest9178: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AttribNameOrWildcard9208: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_AttribNameOrWildcard9212: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SCHEMA_ATTRIBUTE_in_p_SchemaAttributeTest9240: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SchemaAttributeTest9242: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AttributeDeclaration_in_p_SchemaAttributeTest9244: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SchemaAttributeTest9246: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_AttributeName_in_p_AttributeDeclaration9272: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ELEMENT_in_p_ElementTest9300: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_ElementTest9302: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00004005, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ElementNameOrWildcard_in_p_ElementTest9305: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_ElementTest9308: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_TypeName_in_p_ElementTest9310: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00002004, 0x00000000]), + FOLLOW_QUESTION_in_p_ElementTest9312: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_ElementTest9319: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_ElementNameOrWildcard9347: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_STAR_in_p_ElementNameOrWildcard9351: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SCHEMA_ELEMENT_in_p_SchemaElementTest9371: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_SchemaElementTest9373: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_ElementDeclaration_in_p_SchemaElementTest9375: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_SchemaElementTest9377: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ElementName_in_p_ElementDeclaration9403: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_AttributeName9431: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_ElementName9459: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_TypeName9487: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_TryClause_in_p_TryCatchExpr9519: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_p_CatchClause_in_p_TryCatchExpr9521: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_TRY_in_p_TryClause9550: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_TryClause9552: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_TryClause9554: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_TryClause9556: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CATCH_in_p_CatchClause9587: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004013, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_CatchErrorList_in_p_CatchClause9589: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000012, 0x00000000]), + FOLLOW_p_CatchVars_in_p_CatchClause9591: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_CatchClause9594: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_Expr_in_p_CatchClause9596: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_CatchClause9598: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_NameTest_in_p_CatchErrorList9624: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_VBAR_in_p_CatchErrorList9627: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x04004001, 0x00004080,0x00000000, 0x00800000]), + FOLLOW_p_NameTest_in_p_CatchErrorList9629: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000001]), + FOLLOW_LPAREN_in_p_CatchVars9675: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9677: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9679: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_CatchVars9682: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9684: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9686: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001004, 0x00000000]), + FOLLOW_COMMA_in_p_CatchVars9689: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_CatchVars9691: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_CatchVars9693: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_CatchVars9699: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_QUOT_in_p_StringLiteral9748: new org.antlr.runtime.BitSet([0xFFFFFFF0, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFFFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_QuotStringLiteralContent_in_p_StringLiteral9752: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000800]), + FOLLOW_QUOT_in_p_StringLiteral9754: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_APOS_in_p_StringLiteral9795: new org.antlr.runtime.BitSet([0xFFFFFFF0, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFFFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_AposStringLiteralContent_in_p_StringLiteral9799: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000400]), + FOLLOW_APOS_in_p_StringLiteral9801: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_QuotStringLiteralContent9857: new org.antlr.runtime.BitSet([0xFFFFFFF2, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFF7FF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_set_in_p_AposStringLiteralContent9909: new org.antlr.runtime.BitSet([0xFFFFFFF2, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0xFFFFF7FF, 0xFFFFFBFF,0xFFFFFFFF, 0x00FFFFFF]), + FOLLOW_p_NCName_in_p_QName9994: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_p_LocalNCName_in_p_QName9996: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLON_in_p_LocalNCName10051: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_LocalNCName10053: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_FNCName_in_p_FQName10083: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_p_LocalFNCName_in_p_FQName10085: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLON_in_p_LocalFNCName10113: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_NCName_in_p_LocalFNCName10115: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_NCName0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_set_in_p_FNCName0: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_pm_RevalidationDecl11839: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00800000, 0x00000000]), + FOLLOW_REVALIDATION_in_pm_RevalidationDecl11843: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000008, 0x00000004,0x01000000, 0x00000000]), + FOLLOW_STRICT_in_pm_RevalidationDecl11848: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LAX_in_pm_RevalidationDecl11854: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SKIP_in_pm_RevalidationDecl11860: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_InsertExprTargetChoice11892: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00048000, 0x00000000]), + FOLLOW_FIRST_in_p_InsertExprTargetChoice11897: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_LAST_in_p_InsertExprTargetChoice11903: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00020000, 0x00000000]), + FOLLOW_INTO_in_p_InsertExprTargetChoice11910: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AFTER_in_p_InsertExprTargetChoice11926: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_BEFORE_in_p_InsertExprTargetChoice11940: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_INSERT_in_p_InsertExpr11968: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODE_in_p_InsertExpr11973: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_NODES_in_p_InsertExpr11979: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_SourceExpr_in_p_InsertExpr11982: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00021800, 0x00000000]), + FOLLOW_p_InsertExprTargetChoice_in_p_InsertExpr11984: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_InsertExpr11986: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DELETE_in_p_DeleteExpr12015: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODE_in_p_DeleteExpr12020: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_NODES_in_p_DeleteExpr12026: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_DeleteExpr12029: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_REPLACE_in_p_ReplaceExpr12058: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_VALUE_in_p_ReplaceExpr12063: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00008000, 0x00000000]), + FOLLOW_OF_in_p_ReplaceExpr12067: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ReplaceExpr12073: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReplaceExpr12075: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000]), + FOLLOW_WITH_in_p_ReplaceExpr12079: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ReplaceExpr12081: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_RENAME_in_p_RenameExpr12110: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_RenameExpr12114: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_TargetExpr_in_p_RenameExpr12116: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_AS_in_p_RenameExpr12118: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_NewNameExpr_in_p_RenameExpr12120: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_SourceExpr12147: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_TargetExpr12173: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_NewNameExpr12199: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COPY_in_p_TransformExpr12227: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TransformExpr12229: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TransformExpr12231: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_TransformExpr12233: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12235: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00080000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_TransformExpr12238: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_TransformExpr12240: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_TransformExpr12242: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_TransformExpr12244: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12246: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00080000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_MODIFY_in_p_TransformExpr12252: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12254: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x04000000, 0x00000000]), + FOLLOW_RETURN_in_p_TransformExpr12258: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_TransformExpr12260: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ConcatExpr_in_pm_ApplyExpr12294: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_ApplyExpr12296: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ExprSingle_in_p_ConcatExpr12322: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_ConcatExpr12325: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ConcatExpr12327: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_BLOCK_in_p_BlockExpr12357: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_Block_in_p_BlockExpr12359: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_LBRACKET_in_p_Block12385: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_pm_BlockDecls_in_p_Block12389: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_BlockBody_in_p_Block12393: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_Block12395: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_BlockVarDecl_in_pm_BlockDecls12451: new org.antlr.runtime.BitSet([0x00000002, 0x00000004]), + FOLLOW_DECLARE_in_pm_BlockVarDecl12506: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_BlockVarDecl12508: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_pm_BlockVarDecl12512: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12516: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_BIND_in_pm_BlockVarDecl12520: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12524: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_pm_BlockVarDecl12529: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_pm_BlockVarDecl12531: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_pm_BlockVarDecl12533: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_p_TypeDeclaration_in_pm_BlockVarDecl12535: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001200, 0x00000000]), + FOLLOW_BIND_in_pm_BlockVarDecl12539: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_pm_BlockVarDecl12541: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_pm_BlockVarDecl12547: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_pm_Expr_in_p_BlockBody12607: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SET_in_p_AssignmentExpr12635: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_AssignmentExpr12637: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_AssignmentExpr12639: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000200, 0x00000000]), + FOLLOW_BIND_in_p_AssignmentExpr12641: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_AssignmentExpr12643: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_EXIT_in_p_ExitExpr12671: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_RETURNING_in_p_ExitExpr12675: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ExitExpr12677: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_WHILE_in_p_WhileExpr12705: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000002, 0x00000000]), + FOLLOW_LPAREN_in_p_WhileExpr12707: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_WhileExpr12709: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000004, 0x00000000]), + FOLLOW_RPAREN_in_p_WhileExpr12711: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_p_WhileBody_in_p_WhileExpr12713: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_Block_in_p_WhileBody12739: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_UsingClause_in_p_EvalExpr12769: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000010]), + FOLLOW_EVAL_in_p_EvalExpr12774: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000010, 0x00000000]), + FOLLOW_LBRACKET_in_p_EvalExpr12776: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_EvalExpr12778: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000020, 0x00000000]), + FOLLOW_RBRACKET_in_p_EvalExpr12780: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_USING_in_p_UsingClause12807: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_UsingClause12809: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_UsingClause12811: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_COMMA_in_p_UsingClause12814: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_UsingClause12816: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_VarName_in_p_UsingClause12818: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00001000, 0x00000000]), + FOLLOW_DECLARE_in_p_CollectionDecl12853: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200A40]), + FOLLOW_p_CollProperties_in_p_CollectionDecl12855: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_COLLECTION_in_p_CollectionDecl12859: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_CollectionDecl12861: new org.antlr.runtime.BitSet([0x00080000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_CollectionTypeDecl_in_p_CollectionDecl12863: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x08000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_WITH_in_p_CollectionDecl12869: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x04200000]), + FOLLOW_p_NodeModifier_in_p_CollectionDecl12871: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODES_in_p_CollectionDecl12875: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_CollectionDecl12879: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_CONST_in_p_CollProperties12909: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_MUTABLE_in_p_CollProperties12915: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_APPEND_ONLY_in_p_CollProperties12929: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_QUEUE_in_p_CollProperties12935: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_ORDERED_in_p_CollProperties12949: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_UNORDERED_in_p_CollProperties12955: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00080000, 0x00000400,0x00000000, 0x01200840]), + FOLLOW_AS_in_p_CollectionTypeDecl12987: new org.antlr.runtime.BitSet([0x80400000, 0x00000600,0x62004000, 0x08000010]), + FOLLOW_p_KindTest_in_p_CollectionTypeDecl12989: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x0000E000, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_p_CollectionTypeDecl12998: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_READ_ONLY_in_p_NodeModifier13029: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_MUTABLE_in_p_NodeModifier13035: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_IndexDecl13064: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08510080]), + FOLLOW_p_IndexProperties_in_p_IndexDecl13066: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00010000]), + FOLLOW_INDEX_in_p_IndexDecl13070: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_IndexName_in_p_IndexDecl13072: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00800000]), + FOLLOW_ON_in_p_IndexDecl13076: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00100000, 0x00000000]), + FOLLOW_NODES_in_p_IndexDecl13080: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexDomainExpr_in_p_IndexDecl13082: new org.antlr.runtime.BitSet([0x02000000, 0x00000000]), + FOLLOW_BY_in_p_IndexDecl13086: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexKeySpec_in_p_IndexDecl13088: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_COMMA_in_p_IndexDecl13091: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_IndexKeySpec_in_p_IndexDecl13093: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80001000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_IndexDecl13097: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_QName_in_p_IndexName13123: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_UNIQUE_in_p_IndexProperties13152: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_NON_in_p_IndexProperties13158: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x08000000]), + FOLLOW_UNIQUE_in_p_IndexProperties13162: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_VALUE_in_p_IndexProperties13176: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x02000000]), + FOLLOW_RANGE_in_p_IndexProperties13180: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_VALUE_in_p_IndexProperties13186: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00001000]), + FOLLOW_EQUALITY_in_p_IndexProperties13190: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_AUTOMATICALLY_in_p_IndexProperties13204: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_MAINTAINED_in_p_IndexProperties13208: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_MANUALLY_in_p_IndexProperties13214: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00080000]), + FOLLOW_MAINTAINED_in_p_IndexProperties13218: new org.antlr.runtime.BitSet([0x00000002, 0x00000000,0x00000000, 0x00000000,0x04000000, 0x08500080]), + FOLLOW_p_PathExpr_in_p_IndexDomainExpr13247: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_IndexKeyExpr_in_p_IndexKeySpec13272: new org.antlr.runtime.BitSet([0x00080000, 0x00000000]), + FOLLOW_p_IndexKeyTypeDecl_in_p_IndexKeySpec13274: new org.antlr.runtime.BitSet([0x40000002, 0x00000000]), + FOLLOW_p_IndexKeyCollation_in_p_IndexKeySpec13276: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_PathExpr_in_p_IndexKeyExpr13302: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_AS_in_p_IndexKeyTypeDecl13329: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_AtomicType_in_p_IndexKeyTypeDecl13331: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLLATION_in_p_IndexKeyCollation13358: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000C00]), + FOLLOW_p_StringLiteral_in_p_IndexKeyCollation13360: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DECLARE_in_p_ICDecl13387: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00020000]), + FOLLOW_INTEGRITY_in_p_ICDecl13391: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000400]), + FOLLOW_CONSTRAINT_in_p_ICDecl13395: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICDecl13398: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00804000]), + FOLLOW_p_ICCollection_in_p_ICDecl13401: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_p_ICForeignKey_in_p_ICDecl13405: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x80000000, 0x00000000]), + FOLLOW_SEMICOLON_in_p_ICDecl13408: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_ON_in_p_ICCollection13435: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_COLLECTION_in_p_ICCollection13439: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollection13442: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000,0x00000000, 0x00002000,0x00000008, 0x00000000]), + FOLLOW_p_ICCollSequence_in_p_ICCollection13445: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ICCollSequenceUnique_in_p_ICCollection13449: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_ICCollNode_in_p_ICCollection13453: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollSequence13479: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollSequence13481: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollSequence13485: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ICCollSequence13487: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_NODE_in_p_ICCollSequenceUnique13514: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollSequenceUnique13518: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollSequenceUnique13520: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollSequenceUnique13524: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x08000000]), + FOLLOW_UNIQUE_in_p_ICCollSequenceUnique13528: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICCollSequenceUnique13532: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_PathExpr_in_p_ICCollSequenceUnique13534: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOREACH_in_p_ICCollNode13562: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ICCollNode13566: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICCollNode13568: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICCollNode13570: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000100]), + FOLLOW_CHECK_in_p_ICCollNode13574: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0783C00B, 0x07E04C80,0x00000000, 0x00C00000]), + FOLLOW_p_ExprSingle_in_p_ICCollNode13576: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FOREIGN_in_p_ICForeignKey13604: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICForeignKey13608: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00008000]), + FOLLOW_p_ICForeignKeySource_in_p_ICForeignKey13610: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000040]), + FOLLOW_p_ICForeignKeyTarget_in_p_ICForeignKey13612: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_FROM_in_p_ICForeignKeySource13640: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeySource13642: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_TO_in_p_ICForeignKeyTarget13669: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000200]), + FOLLOW_p_ICForeignKeyValues_in_p_ICForeignKeyTarget13671: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_COLLECTION_in_p_ICForeignKeyValues13698: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICForeignKeyValues13700: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00004000, 0x00000000]), + FOLLOW_NODE_in_p_ICForeignKeyValues13704: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000008, 0x00000000]), + FOLLOW_DOLLAR_in_p_ICForeignKeyValues13706: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x00000001, 0x00004000,0x00000000, 0x00800000]), + FOLLOW_p_QName_in_p_ICForeignKeyValues13708: new org.antlr.runtime.BitSet([0x00000000, 0x00000000,0x00000000, 0x00000000,0x00000000, 0x00040000]), + FOLLOW_KEY_in_p_ICForeignKeyValues13712: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_PathExpr_in_p_ICForeignKeyValues13714: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_SLASH_in_synpred1_XQueryParser5860: new org.antlr.runtime.BitSet([0xFFFF0000, 0xFFFFFFFF,0xFFFFFFFF, 0xFFFFFFFF,0x7FFFFFFF, 0xFFEFFFFF,0x0782400B, 0x07C04C80,0x00000000, 0x00800000]), + FOLLOW_p_RelativePathExpr_in_synpred1_XQueryParser5862: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_synpred2_XQueryParser8510: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]), + FOLLOW_p_OccurrenceIndicator_in_synpred3_XQueryParser12993: new org.antlr.runtime.BitSet([0x00000002, 0x00000000]) +}); + +})(); + +}); From 667fb57f7a6cc03a0e0dc709cc3545e4565ebeb7 Mon Sep 17 00:00:00 2001 From: William Candillon Date: Wed, 4 Apr 2012 13:38:19 +0200 Subject: [PATCH 3/3] Major improvements in the XQuery syntax checking infrastructure. --- lib/ace/mode/xquery/StringLexer.js | 1652 ++++++++++++++++++++++++++++ lib/ace/mode/xquery/XQDTLexer.js | 28 + 2 files changed, 1680 insertions(+) create mode 100644 lib/ace/mode/xquery/StringLexer.js create mode 100644 lib/ace/mode/xquery/XQDTLexer.js diff --git a/lib/ace/mode/xquery/StringLexer.js b/lib/ace/mode/xquery/StringLexer.js new file mode 100644 index 00000000..1d724674 --- /dev/null +++ b/lib/ace/mode/xquery/StringLexer.js @@ -0,0 +1,1652 @@ +// $ANTLR 3.3 Nov 30, 2010 12:50:56 StringLexer.g 2012-04-03 22:00:05 + + + +define(function(require, exports, module){ +var org = require("./antlr3-all").org; +var XQDTLexer = require("./XQDTLexer").XQDTLexer; + +var StringLexer = exports.StringLexer = function(input, state) { +// alternate constructor @todo +// public StringLexer(CharStream input) +// public StringLexer(CharStream input, RecognizerSharedState state) { + if (!state) { + state = new org.antlr.runtime.RecognizerSharedState(); + } + + (function(){ + + + this.inQuotStr = false; + this.inAposStr = false; + + //boolean inQuotStr = false; + //boolean inAposStr = false; + + //public StringLexer(CharStream input, boolean isAposStr) { + // this(input, new RecognizerSharedState()); + // this.inAposStr = isAposStr; + // this.inQuotStr = !isAposStr; + // setIsWsExplicit(true); + //} + + }).call(this); + + this.dfa8 = new StringLexer.DFA8(this); + StringLexer.superclass.constructor.call(this, input, state); + + +}; + +org.antlr.lang.augmentObject(StringLexer, { + EOF: -1, + L_QuotAttrContentChar: 4, + L_AposAttrContentChar: 5, + L_ElementContentChar: 6, + L_CDataSection: 7, + L_PredefinedEntityRef: 8, + L_CharRef: 9, + ESCAPE_LBRACKET: 10, + ESCAPE_RBRACKET: 11, + ESCAPE_APOS: 12, + ESCAPE_QUOT: 13, + CDATA_START: 14, + CDATA_END: 15, + ANCESTOR: 16, + ANCESTOR_OR_SELF: 17, + AND: 18, + AS: 19, + ASCENDING: 20, + AT: 21, + ATTRIBUTE: 22, + BASE_URI: 23, + BOUNDARY_SPACE: 24, + BY: 25, + CASE: 26, + CAST: 27, + CASTABLE: 28, + CHILD: 29, + COLLATION: 30, + COMMENT: 31, + CONSTRUCTION: 32, + COPY_NAMESPACES: 33, + DECLARE: 34, + DEFAULT: 35, + DESCENDANT: 36, + DESCENDANT_OR_SELF: 37, + DESCENDING: 38, + DIV: 39, + DOCUMENT: 40, + DOCUMENT_NODE: 41, + ELEMENT: 42, + ELSE: 43, + EMPTY: 44, + EMPTY_SEQUENCE: 45, + ENCODING: 46, + EQ: 47, + EVERY: 48, + EXCEPT: 49, + EXTERNAL: 50, + FOLLOWING: 51, + FOLLOWING_SIBLING: 52, + FOR: 53, + FUNCTION: 54, + GE: 55, + GREATEST: 56, + GT: 57, + IDIV: 58, + IF: 59, + IMPORT: 60, + IN: 61, + INHERIT: 62, + INSTANCE: 63, + INTERSECT: 64, + IS: 65, + ITEM: 66, + LAX: 67, + LE: 68, + LEAST: 69, + LET: 70, + LT: 71, + MOD: 72, + MODULE: 73, + NAMESPACE: 74, + NE: 75, + NO_INHERIT: 76, + NO_PRESERVE: 77, + NODE: 78, + OF: 79, + OPTION: 80, + OR: 81, + ORDER: 82, + ORDERED: 83, + ORDERING: 84, + PARENT: 85, + PRECEDING: 86, + PRECEDING_SIBLING: 87, + PRESERVE: 88, + PROCESSING_INSTRUCTION: 89, + RETURN: 90, + SATISFIES: 91, + SCHEMA: 92, + SCHEMA_ATTRIBUTE: 93, + SCHEMA_ELEMENT: 94, + SELF: 95, + SOME: 96, + STABLE: 97, + STRICT: 98, + STRIP: 99, + TEXT: 100, + THEN: 101, + TO: 102, + TREAT: 103, + TYPESWITCH: 104, + UNION: 105, + UNORDERED: 106, + VALIDATE: 107, + VARIABLE: 108, + VERSION: 109, + WHERE: 110, + XQUERY: 111, + ALLOWING: 112, + CATCH: 113, + CONTEXT: 114, + COUNT: 115, + DECIMAL_FORMAT: 116, + DECIMAL_SEPARATOR: 117, + DETERMINISTIC: 118, + DIGIT: 119, + END: 120, + GROUP: 121, + GROUPING_SEPARATOR: 122, + INFINITY: 123, + MINUS_SIGN: 124, + NAMESPACE_NODE: 125, + NAN: 126, + NEXT: 127, + ONLY: 128, + PATTERN_SEPARATOR: 129, + PERCENT: 130, + PER_MILLE: 131, + PREVIOUS: 132, + SLIDING: 133, + START: 134, + SWITCH: 135, + TRY: 136, + TUMBLING: 137, + TYPE: 138, + WHEN: 139, + WINDOW: 140, + ZERO_DIGIT: 141, + AFTER: 142, + BEFORE: 143, + COPY: 144, + DELETE: 145, + FIRST: 146, + INSERT: 147, + INTO: 148, + LAST: 149, + MODIFY: 150, + NODES: 151, + RENAME: 152, + REPLACE: 153, + REVALIDATION: 154, + SKIP: 155, + UPDATING: 156, + VALUE: 157, + WITH: 158, + ALL: 159, + ANY: 160, + CONTAINS: 161, + CONTENT: 162, + DIACRITICS: 163, + DIFFERENT: 164, + DISTANCE: 165, + ENTIRE: 166, + EXACTLY: 167, + FROM: 168, + FT_OPTION: 169, + FTAND: 170, + FTNOT: 171, + FTOR: 172, + INSENSITIVE: 173, + LANGUAGE: 174, + LEVELS: 175, + LOWERCASE: 176, + MOST: 177, + NO: 178, + NOT: 179, + OCCURS: 180, + PARAGRAPH: 181, + PARAGRAPHS: 182, + PHRASE: 183, + RELATIONSHIP: 184, + SAME: 185, + SCORE: 186, + SENSITIVE: 187, + SENTENCE: 188, + SENTENCES: 189, + STEMMING: 190, + STOP: 191, + THESAURUS: 192, + TIMES: 193, + UPPERCASE: 194, + USING: 195, + WEIGHT: 196, + WILDCARDS: 197, + WITHOUT: 198, + WORD: 199, + WORDS: 200, + BREAK: 201, + CONTINUE: 202, + EXIT: 203, + LOOP: 204, + RETURNING: 205, + WHILE: 206, + CHECK: 207, + COLLECTION: 208, + CONSTRAINT: 209, + FOREACH: 210, + FOREIGN: 211, + INDEX: 212, + INTEGRITY: 213, + KEY: 214, + ON: 215, + UNIQUE: 216, + BINARY: 217, + AMP_ER: 218, + APOS_ER: 219, + QUOT_ER: 220, + LPAREN: 221, + RPAREN: 222, + DOLLAR: 223, + LBRACKET: 224, + RBRACKET: 225, + LSQUARE: 226, + RSQUARE: 227, + EQUAL: 228, + BIND: 229, + NOTEQUAL: 230, + ANN_PERCENT: 231, + HASH: 232, + AMP: 233, + COMMA: 234, + QUESTION: 235, + STAR: 236, + PLUS: 237, + MINUS: 238, + SMALLER: 239, + GREATER: 240, + SMALLEREQ: 241, + GREATEREQ: 242, + SMALLER_SMALLER: 243, + GREATER_GREATER: 244, + SLASH: 245, + SLASH_SLASH: 246, + DOT: 247, + DOT_DOT: 248, + COLON: 249, + COLON_COLON: 250, + EMPTY_CLOSE_TAG: 251, + CLOSE_TAG: 252, + SEMICOLON: 253, + VBAR: 254, + PRAGMA_START: 255, + PRAGMA_END: 256, + XML_COMMENT_START: 257, + XML_COMMENT_END: 258, + PI_START: 259, + PI_END: 260, + ATTR_SIGN: 261, + CHARREF_DEC: 262, + CHARREF_HEX: 263, + APOS: 264, + QUOT: 265, + NCNameStartChar: 266, + NCNameChar: 267, + L_NCName: 268, + Letter: 269, + HexLetter: 270, + Digit: 271, + Digits: 272, + S: 273, + SU: 274, + L_Pragma: 275, + L_DirCommentConstructor: 276, + L_DirPIConstructor: 277, + L_IntegerLiteral: 278, + L_DecimalLiteral: 279, + L_DoubleLiteral: 280, + L_Comment: 281, + L_AnyChar: 282, + L_QuotStringLiteralChar: 283, + L_AposStringLiteralChar: 284 +}); + +(function(){ +var HIDDEN = org.antlr.runtime.Token.HIDDEN_CHANNEL, + EOF = org.antlr.runtime.Token.EOF; +org.antlr.lang.extend(StringLexer, XQDTLexer, { + EOF : -1, + L_QuotAttrContentChar : 4, + L_AposAttrContentChar : 5, + L_ElementContentChar : 6, + L_CDataSection : 7, + L_PredefinedEntityRef : 8, + L_CharRef : 9, + ESCAPE_LBRACKET : 10, + ESCAPE_RBRACKET : 11, + ESCAPE_APOS : 12, + ESCAPE_QUOT : 13, + CDATA_START : 14, + CDATA_END : 15, + ANCESTOR : 16, + ANCESTOR_OR_SELF : 17, + AND : 18, + AS : 19, + ASCENDING : 20, + AT : 21, + ATTRIBUTE : 22, + BASE_URI : 23, + BOUNDARY_SPACE : 24, + BY : 25, + CASE : 26, + CAST : 27, + CASTABLE : 28, + CHILD : 29, + COLLATION : 30, + COMMENT : 31, + CONSTRUCTION : 32, + COPY_NAMESPACES : 33, + DECLARE : 34, + DEFAULT : 35, + DESCENDANT : 36, + DESCENDANT_OR_SELF : 37, + DESCENDING : 38, + DIV : 39, + DOCUMENT : 40, + DOCUMENT_NODE : 41, + ELEMENT : 42, + ELSE : 43, + EMPTY : 44, + EMPTY_SEQUENCE : 45, + ENCODING : 46, + EQ : 47, + EVERY : 48, + EXCEPT : 49, + EXTERNAL : 50, + FOLLOWING : 51, + FOLLOWING_SIBLING : 52, + FOR : 53, + FUNCTION : 54, + GE : 55, + GREATEST : 56, + GT : 57, + IDIV : 58, + IF : 59, + IMPORT : 60, + IN : 61, + INHERIT : 62, + INSTANCE : 63, + INTERSECT : 64, + IS : 65, + ITEM : 66, + LAX : 67, + LE : 68, + LEAST : 69, + LET : 70, + LT : 71, + MOD : 72, + MODULE : 73, + NAMESPACE : 74, + NE : 75, + NO_INHERIT : 76, + NO_PRESERVE : 77, + NODE : 78, + OF : 79, + OPTION : 80, + OR : 81, + ORDER : 82, + ORDERED : 83, + ORDERING : 84, + PARENT : 85, + PRECEDING : 86, + PRECEDING_SIBLING : 87, + PRESERVE : 88, + PROCESSING_INSTRUCTION : 89, + RETURN : 90, + SATISFIES : 91, + SCHEMA : 92, + SCHEMA_ATTRIBUTE : 93, + SCHEMA_ELEMENT : 94, + SELF : 95, + SOME : 96, + STABLE : 97, + STRICT : 98, + STRIP : 99, + TEXT : 100, + THEN : 101, + TO : 102, + TREAT : 103, + TYPESWITCH : 104, + UNION : 105, + UNORDERED : 106, + VALIDATE : 107, + VARIABLE : 108, + VERSION : 109, + WHERE : 110, + XQUERY : 111, + ALLOWING : 112, + CATCH : 113, + CONTEXT : 114, + COUNT : 115, + DECIMAL_FORMAT : 116, + DECIMAL_SEPARATOR : 117, + DETERMINISTIC : 118, + DIGIT : 119, + END : 120, + GROUP : 121, + GROUPING_SEPARATOR : 122, + INFINITY : 123, + MINUS_SIGN : 124, + NAMESPACE_NODE : 125, + NAN : 126, + NEXT : 127, + ONLY : 128, + PATTERN_SEPARATOR : 129, + PERCENT : 130, + PER_MILLE : 131, + PREVIOUS : 132, + SLIDING : 133, + START : 134, + SWITCH : 135, + TRY : 136, + TUMBLING : 137, + TYPE : 138, + WHEN : 139, + WINDOW : 140, + ZERO_DIGIT : 141, + AFTER : 142, + BEFORE : 143, + COPY : 144, + DELETE : 145, + FIRST : 146, + INSERT : 147, + INTO : 148, + LAST : 149, + MODIFY : 150, + NODES : 151, + RENAME : 152, + REPLACE : 153, + REVALIDATION : 154, + SKIP : 155, + UPDATING : 156, + VALUE : 157, + WITH : 158, + ALL : 159, + ANY : 160, + CONTAINS : 161, + CONTENT : 162, + DIACRITICS : 163, + DIFFERENT : 164, + DISTANCE : 165, + ENTIRE : 166, + EXACTLY : 167, + FROM : 168, + FT_OPTION : 169, + FTAND : 170, + FTNOT : 171, + FTOR : 172, + INSENSITIVE : 173, + LANGUAGE : 174, + LEVELS : 175, + LOWERCASE : 176, + MOST : 177, + NO : 178, + NOT : 179, + OCCURS : 180, + PARAGRAPH : 181, + PARAGRAPHS : 182, + PHRASE : 183, + RELATIONSHIP : 184, + SAME : 185, + SCORE : 186, + SENSITIVE : 187, + SENTENCE : 188, + SENTENCES : 189, + STEMMING : 190, + STOP : 191, + THESAURUS : 192, + TIMES : 193, + UPPERCASE : 194, + USING : 195, + WEIGHT : 196, + WILDCARDS : 197, + WITHOUT : 198, + WORD : 199, + WORDS : 200, + BREAK : 201, + CONTINUE : 202, + EXIT : 203, + LOOP : 204, + RETURNING : 205, + WHILE : 206, + CHECK : 207, + COLLECTION : 208, + CONSTRAINT : 209, + FOREACH : 210, + FOREIGN : 211, + INDEX : 212, + INTEGRITY : 213, + KEY : 214, + ON : 215, + UNIQUE : 216, + BINARY : 217, + AMP_ER : 218, + APOS_ER : 219, + QUOT_ER : 220, + LPAREN : 221, + RPAREN : 222, + DOLLAR : 223, + LBRACKET : 224, + RBRACKET : 225, + LSQUARE : 226, + RSQUARE : 227, + EQUAL : 228, + BIND : 229, + NOTEQUAL : 230, + ANN_PERCENT : 231, + HASH : 232, + AMP : 233, + COMMA : 234, + QUESTION : 235, + STAR : 236, + PLUS : 237, + MINUS : 238, + SMALLER : 239, + GREATER : 240, + SMALLEREQ : 241, + GREATEREQ : 242, + SMALLER_SMALLER : 243, + GREATER_GREATER : 244, + SLASH : 245, + SLASH_SLASH : 246, + DOT : 247, + DOT_DOT : 248, + COLON : 249, + COLON_COLON : 250, + EMPTY_CLOSE_TAG : 251, + CLOSE_TAG : 252, + SEMICOLON : 253, + VBAR : 254, + PRAGMA_START : 255, + PRAGMA_END : 256, + XML_COMMENT_START : 257, + XML_COMMENT_END : 258, + PI_START : 259, + PI_END : 260, + ATTR_SIGN : 261, + CHARREF_DEC : 262, + CHARREF_HEX : 263, + APOS : 264, + QUOT : 265, + NCNameStartChar : 266, + NCNameChar : 267, + L_NCName : 268, + Letter : 269, + HexLetter : 270, + Digit : 271, + Digits : 272, + S : 273, + SU : 274, + L_Pragma : 275, + L_DirCommentConstructor : 276, + L_DirPIConstructor : 277, + L_IntegerLiteral : 278, + L_DecimalLiteral : 279, + L_DoubleLiteral : 280, + L_Comment : 281, + L_AnyChar : 282, + L_QuotStringLiteralChar : 283, + L_AposStringLiteralChar : 284, + getGrammarFileName: function() { return "StringLexer.g"; } +}); +org.antlr.lang.augmentObject(StringLexer.prototype, { + // $ANTLR start QUOT + mQUOT: function() { + try { + var _type = this.QUOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:29:6: ({...}? => '\"' ) + // StringLexer.g:29:8: {...}? => '\"' + if ( !(( this.inQuotStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "QUOT", " this.inQuotStr "); + } + this.match('\"'); + this.inQuotStr = !this.inQuotStr; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "QUOT", + + // $ANTLR start APOS + mAPOS: function() { + try { + var _type = this.APOS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:30:6: ({...}? => '\\'' ) + // StringLexer.g:30:8: {...}? => '\\'' + if ( !(( this.inAposStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "APOS", " this.inAposStr "); + } + this.match('\''); + this.inAposStr = !this.inAposStr; + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "APOS", + + // $ANTLR start ESCAPE_QUOT + mESCAPE_QUOT: function() { + try { + var _type = this.ESCAPE_QUOT; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:31:13: ({...}? => '\"\"' ) + // StringLexer.g:31:15: {...}? => '\"\"' + if ( !(( this.inQuotStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_QUOT", " this.inQuotStr "); + } + this.match("\"\""); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ESCAPE_QUOT", + + // $ANTLR start ESCAPE_APOS + mESCAPE_APOS: function() { + try { + var _type = this.ESCAPE_APOS; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:32:13: ({...}? => '\\'\\'' ) + // StringLexer.g:32:15: {...}? => '\\'\\'' + if ( !(( this.inAposStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_APOS", " this.inAposStr "); + } + this.match("''"); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "ESCAPE_APOS", + + // $ANTLR start L_PredefinedEntityRef + mL_PredefinedEntityRef: function() { + try { + var _type = this.L_PredefinedEntityRef; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:36:2: ({...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';' ) + // StringLexer.g:36:4: {...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';' + if ( !(( this.inQuotStr | this.inAposStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "L_PredefinedEntityRef", " this.inQuotStr | this.inAposStr "); + } + this.match('&'); + // StringLexer.g:36:48: ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) + var alt1=5; + switch ( this.input.LA(1) ) { + case 'l': + alt1=1; + break; + case 'g': + alt1=2; + break; + case 'a': + var LA1_3 = this.input.LA(2); + + if ( (LA1_3=='p') ) { + alt1=3; + } + else if ( (LA1_3=='m') ) { + alt1=5; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 1, 3, this.input); + + throw nvae; + } + break; + case 'q': + alt1=4; + break; + default: + var nvae = + new org.antlr.runtime.NoViableAltException("", 1, 0, this.input); + + throw nvae; + } + + switch (alt1) { + case 1 : + // StringLexer.g:36:49: 'lt' + this.match("lt"); + + + + break; + case 2 : + // StringLexer.g:36:56: 'gt' + this.match("gt"); + + + + break; + case 3 : + // StringLexer.g:36:63: 'apos' + this.match("apos"); + + + + break; + case 4 : + // StringLexer.g:36:72: 'quot' + this.match("quot"); + + + + break; + case 5 : + // StringLexer.g:36:81: 'amp' + this.match("amp"); + + + + break; + + } + + this.match(';'); + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_PredefinedEntityRef", + + // $ANTLR start L_CharRef + mL_CharRef: function() { + try { + var _type = this.L_CharRef; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:41:2: ({...}? => '&#' ( '0' .. '9' )+ ';' | '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';' ) + var alt4=2; + var LA4_0 = this.input.LA(1); + + if ( (LA4_0=='&') ) { + var LA4_1 = this.input.LA(2); + + if ( (LA4_1=='#') ) { + var LA4_2 = this.input.LA(3); + + if ( (LA4_2=='x') ) { + alt4=2; + } + else if ( ((LA4_2>='0' && LA4_2<='9')) && (( this.inQuotStr | this.inAposStr ))) { + alt4=1; + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 4, 2, this.input); + + throw nvae; + } + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 4, 1, this.input); + + throw nvae; + } + } + else { + var nvae = + new org.antlr.runtime.NoViableAltException("", 4, 0, this.input); + + throw nvae; + } + switch (alt4) { + case 1 : + // StringLexer.g:41:4: {...}? => '&#' ( '0' .. '9' )+ ';' + if ( !(( this.inQuotStr | this.inAposStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "L_CharRef", " this.inQuotStr | this.inAposStr "); + } + this.match("&#"); + + // StringLexer.g:41:49: ( '0' .. '9' )+ + var cnt2=0; + loop2: + do { + var alt2=2; + var LA2_0 = this.input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // StringLexer.g:41:49: '0' .. '9' + this.matchRange('0','9'); + + + break; + + default : + if ( cnt2 >= 1 ) { + break loop2; + } + var eee = new org.antlr.runtime.EarlyExitException(2, this.input); + throw eee; + } + cnt2++; + } while (true); + + this.match(';'); + + + break; + case 2 : + // StringLexer.g:41:65: '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';' + this.match("&#x"); + + // StringLexer.g:41:71: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ + var cnt3=0; + loop3: + do { + var alt3=2; + var LA3_0 = this.input.LA(1); + + if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='F')||(LA3_0>='a' && LA3_0<='f')) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // StringLexer.g: + if ( (this.input.LA(1)>='0' && this.input.LA(1)<='9')||(this.input.LA(1)>='A' && this.input.LA(1)<='F')||(this.input.LA(1)>='a' && this.input.LA(1)<='f') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt3 >= 1 ) { + break loop3; + } + var eee = new org.antlr.runtime.EarlyExitException(3, this.input); + throw eee; + } + cnt3++; + } while (true); + + this.match(';'); + + + break; + + } + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_CharRef", + + // $ANTLR start L_QuotStringLiteralChar + mL_QuotStringLiteralChar: function() { + try { + var _type = this.L_QuotStringLiteralChar; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:45:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ ) + // StringLexer.g:45:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ + if ( !(( this.inQuotStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "L_QuotStringLiteralChar", " this.inQuotStr "); + } + // StringLexer.g:46:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ + var cnt5=0; + loop5: + do { + var alt5=2; + var LA5_0 = this.input.LA(1); + + if ( ((LA5_0>='\t' && LA5_0<='\n')||LA5_0=='\r'||(LA5_0>=' ' && LA5_0<='!')||(LA5_0>='#' && LA5_0<='%')||(LA5_0>='\'' && LA5_0<='\uD7FF')||(LA5_0>='\uE000' && LA5_0<='\uFFFD')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // StringLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||(this.input.LA(1)>=' ' && this.input.LA(1)<='!')||(this.input.LA(1)>='#' && this.input.LA(1)<='%')||(this.input.LA(1)>='\'' && this.input.LA(1)<='\uD7FF')||(this.input.LA(1)>='\uE000' && this.input.LA(1)<='\uFFFD') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt5 >= 1 ) { + break loop5; + } + var eee = new org.antlr.runtime.EarlyExitException(5, this.input); + throw eee; + } + cnt5++; + } while (true); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_QuotStringLiteralChar", + + // $ANTLR start L_AposStringLiteralChar + mL_AposStringLiteralChar: function() { + try { + var _type = this.L_AposStringLiteralChar; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:51:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ ) + // StringLexer.g:51:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ + if ( !(( this.inAposStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "L_AposStringLiteralChar", " this.inAposStr "); + } + // StringLexer.g:52:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ + var cnt6=0; + loop6: + do { + var alt6=2; + var LA6_0 = this.input.LA(1); + + if ( ((LA6_0>='\t' && LA6_0<='\n')||LA6_0=='\r'||(LA6_0>=' ' && LA6_0<='%')||(LA6_0>='(' && LA6_0<='\uD7FF')||(LA6_0>='\uE000' && LA6_0<='\uFFFD')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // StringLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||(this.input.LA(1)>=' ' && this.input.LA(1)<='%')||(this.input.LA(1)>='(' && this.input.LA(1)<='\uD7FF')||(this.input.LA(1)>='\uE000' && this.input.LA(1)<='\uFFFD') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt6 >= 1 ) { + break loop6; + } + var eee = new org.antlr.runtime.EarlyExitException(6, this.input); + throw eee; + } + cnt6++; + } while (true); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_AposStringLiteralChar", + + // $ANTLR start L_AnyChar + mL_AnyChar: function() { + try { + var _type = this.L_AnyChar; + var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL; + // StringLexer.g:61:5: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ ) + // StringLexer.g:61:9: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ + if ( !(( !this.inQuotStr && !this.inAposStr )) ) { + throw new org.antlr.runtime.FailedPredicateException(this.input, "L_AnyChar", " !this.inQuotStr && !this.inAposStr "); + } + // StringLexer.g:62:9: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ + var cnt7=0; + loop7: + do { + var alt7=2; + var LA7_0 = this.input.LA(1); + + if ( ((LA7_0>='\t' && LA7_0<='\n')||LA7_0=='\r'||(LA7_0>=' ' && LA7_0<='%')||(LA7_0>='\'' && LA7_0<=';')||(LA7_0>='=' && LA7_0<='z')||LA7_0=='|'||(LA7_0>='~' && LA7_0<='\uD7FF')||(LA7_0>='\uE000' && LA7_0<='\uFFFD')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // StringLexer.g: + if ( (this.input.LA(1)>='\t' && this.input.LA(1)<='\n')||this.input.LA(1)=='\r'||(this.input.LA(1)>=' ' && this.input.LA(1)<='%')||(this.input.LA(1)>='\'' && this.input.LA(1)<=';')||(this.input.LA(1)>='=' && this.input.LA(1)<='z')||this.input.LA(1)=='|'||(this.input.LA(1)>='~' && this.input.LA(1)<='\uD7FF')||(this.input.LA(1)>='\uE000' && this.input.LA(1)<='\uFFFD') ) { + this.input.consume(); + + } + else { + var mse = new org.antlr.runtime.MismatchedSetException(null,this.input); + this.recover(mse); + throw mse;} + + + + break; + + default : + if ( cnt7 >= 1 ) { + break loop7; + } + var eee = new org.antlr.runtime.EarlyExitException(7, this.input); + throw eee; + } + cnt7++; + } while (true); + + + + + this.state.type = _type; + this.state.channel = _channel; + } + finally { + } + }, + // $ANTLR end "L_AnyChar", + + mTokens: function() { + // StringLexer.g:1:8: ( QUOT | APOS | ESCAPE_QUOT | ESCAPE_APOS | L_PredefinedEntityRef | L_CharRef | L_QuotStringLiteralChar | L_AposStringLiteralChar | L_AnyChar ) + var alt8=9; + alt8 = this.dfa8.predict(this.input); + switch (alt8) { + case 1 : + // StringLexer.g:1:10: QUOT + this.mQUOT(); + + + break; + case 2 : + // StringLexer.g:1:15: APOS + this.mAPOS(); + + + break; + case 3 : + // StringLexer.g:1:20: ESCAPE_QUOT + this.mESCAPE_QUOT(); + + + break; + case 4 : + // StringLexer.g:1:32: ESCAPE_APOS + this.mESCAPE_APOS(); + + + break; + case 5 : + // StringLexer.g:1:44: L_PredefinedEntityRef + this.mL_PredefinedEntityRef(); + + + break; + case 6 : + // StringLexer.g:1:66: L_CharRef + this.mL_CharRef(); + + + break; + case 7 : + // StringLexer.g:1:76: L_QuotStringLiteralChar + this.mL_QuotStringLiteralChar(); + + + break; + case 8 : + // StringLexer.g:1:100: L_AposStringLiteralChar + this.mL_AposStringLiteralChar(); + + + break; + case 9 : + // StringLexer.g:1:124: L_AnyChar + this.mL_AnyChar(); + + + break; + + } + + } + +}, true); // important to pass true to overwrite default implementations + +org.antlr.lang.augmentObject(StringLexer, { + DFA8_eotS: + "\u0001\uffff\u0001\u0007\u0001\u000c\u0001\uffff\u0001\u0011\u0001"+ + "\u0012\u0001\u0013\u0001\uffff\u0001\u0015\u0002\uffff\u0001\u0016\u0001"+ + "\uffff\u0001\u0018\u000d\uffff", + DFA8_eofS: + "\u001b\uffff", + DFA8_minS: + "\u0003\u0009\u0001\u0023\u0003\u0009\u0001\u0000\u0001\u0009\u0002"+ + "\uffff\u0001\u0009\u0001\u0000\u0001\u0009\u0003\uffff\u0003\u0000\u0001"+ + "\uffff\u0002\u0000\u0001\uffff\u0001\u0000\u0002\uffff", + DFA8_maxS: + "\u0003\ufffd\u0001\u0071\u0003\ufffd\u0001\u0000\u0001\ufffd\u0002"+ + "\uffff\u0001\ufffd\u0001\u0000\u0001\ufffd\u0003\uffff\u0003\u0000\u0001"+ + "\uffff\u0002\u0000\u0001\uffff\u0001\u0000\u0002\uffff", + DFA8_acceptS: + "\u0009\uffff\u0001\u0008\u0001\u0009\u0003\uffff\u0001\u0007\u0001"+ + "\u0006\u0001\u0005\u0003\uffff\u0001\u0001\u0002\uffff\u0001\u0002\u0001"+ + "\uffff\u0001\u0003\u0001\u0004", + DFA8_specialS: + "\u0001\u0007\u0001\u000e\u0001\u0000\u0001\u0004\u0001\u0011\u0001"+ + "\u000a\u0001\u0005\u0001\u0009\u0001\u0010\u0002\uffff\u0001\u000f\u0001"+ + "\u0008\u0001\u0006\u0003\uffff\u0001\u000d\u0001\u0003\u0001\u000b\u0001"+ + "\uffff\u0001\u0001\u0001\u000c\u0001\uffff\u0001\u0002\u0002\uffff}>", + DFA8_transitionS: [ + "\u0002\u0004\u0002\uffff\u0001\u0004\u0012\uffff\u0002\u0004"+ + "\u0001\u0001\u0003\u0004\u0001\u0003\u0001\u0002\u0014\u0004"+ + "\u0001\u0005\u003e\u0004\u0001\u0005\u0001\u0004\u0001\u0005"+ + "\ud782\u0004\u0800\uffff\u1ffe\u0004", + "\u0002\u0008\u0002\uffff\u0001\u0008\u0012\uffff\u0002\u0008"+ + "\u0001\u0006\u0003\u0008\u0001\uffff\u0001\u000a\u0014\u0008"+ + "\u0001\u0009\u003e\u0008\u0001\u0009\u0001\u0008\u0001\u0009"+ + "\ud782\u0008\u0800\uffff\u1ffe\u0008", + "\u0002\u000d\u0002\uffff\u0001\u000d\u0012\uffff\u0002\u000d"+ + "\u0001\u000a\u0003\u000d\u0001\uffff\u0001\u000b\u0014\u000d"+ + "\u0001\u000e\u003e\u000d\u0001\u000e\u0001\u000d\u0001\u000e"+ + "\ud782\u000d\u0800\uffff\u1ffe\u000d", + "\u0001\u000f\u003d\uffff\u0001\u0010\u0005\uffff\u0001\u0010"+ + "\u0004\uffff\u0001\u0010\u0004\uffff\u0001\u0010", + "\u0002\u0004\u0002\uffff\u0001\u0004\u0012\uffff\u0002\u0004"+ + "\u0001\u0008\u0003\u0004\u0001\uffff\u0001\u000d\u0014\u0004"+ + "\u0001\u0005\u003e\u0004\u0001\u0005\u0001\u0004\u0001\u0005"+ + "\ud782\u0004\u0800\uffff\u1ffe\u0004", + "\u0002\u0005\u0002\uffff\u0001\u0005\u0012\uffff\u0002\u0005"+ + "\u0001\u0009\u0003\u0005\u0001\uffff\u0001\u000e\ud7d8\u0005"+ + "\u0800\uffff\u1ffe\u0005", + "\u0002\u0008\u0002\uffff\u0001\u0008\u0012\uffff\u0006\u0008"+ + "\u0001\uffff\u0001\u000a\u0014\u0008\u0001\u0009\u003e\u0008"+ + "\u0001\u0009\u0001\u0008\u0001\u0009\ud782\u0008\u0800\uffff"+ + "\u1ffe\u0008", + "\u0001\uffff", + "\u0002\u0008\u0002\uffff\u0001\u0008\u0012\uffff\u0006\u0008"+ + "\u0001\uffff\u0001\u000a\u0014\u0008\u0001\u0009\u003e\u0008"+ + "\u0001\u0009\u0001\u0008\u0001\u0009\ud782\u0008\u0800\uffff"+ + "\u1ffe\u0008", + "", + "", + "\u0002\u000d\u0002\uffff\u0001\u000d\u0012\uffff\u0002\u000d"+ + "\u0001\u000a\u0003\u000d\u0001\uffff\u0015\u000d\u0001\u000e"+ + "\u003e\u000d\u0001\u000e\u0001\u000d\u0001\u000e\ud782\u000d"+ + "\u0800\uffff\u1ffe\u000d", + "\u0001\uffff", + "\u0002\u000d\u0002\uffff\u0001\u000d\u0012\uffff\u0002\u000d"+ + "\u0001\u000a\u0003\u000d\u0001\uffff\u0015\u000d\u0001\u000e"+ + "\u003e\u000d\u0001\u000e\u0001\u000d\u0001\u000e\ud782\u000d"+ + "\u0800\uffff\u1ffe\u000d", + "", + "", + "", + "\u0001\uffff", + "\u0001\uffff", + "\u0001\uffff", + "", + "\u0001\uffff", + "\u0001\uffff", + "", + "\u0001\uffff", + "", + "" + ] +}); + +org.antlr.lang.augmentObject(StringLexer, { + DFA8_eot: + org.antlr.runtime.DFA.unpackEncodedString(StringLexer.DFA8_eotS), + DFA8_eof: + org.antlr.runtime.DFA.unpackEncodedString(StringLexer.DFA8_eofS), + DFA8_min: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(StringLexer.DFA8_minS), + DFA8_max: + org.antlr.runtime.DFA.unpackEncodedStringToUnsignedChars(StringLexer.DFA8_maxS), + DFA8_accept: + org.antlr.runtime.DFA.unpackEncodedString(StringLexer.DFA8_acceptS), + DFA8_special: + org.antlr.runtime.DFA.unpackEncodedString(StringLexer.DFA8_specialS), + DFA8_transition: (function() { + var a = [], + i, + numStates = StringLexer.DFA8_transitionS.length; + for (i=0; i='\t' && LA8_2<='\n')||LA8_2=='\r'||(LA8_2>=' ' && LA8_2<='!')||(LA8_2>='#' && LA8_2<='%')||(LA8_2>='(' && LA8_2<=';')||(LA8_2>='=' && LA8_2<='z')||LA8_2=='|'||(LA8_2>='~' && LA8_2<='\uD7FF')||(LA8_2>='\uE000' && LA8_2<='\uFFFD')) && ((( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 13;} + + else if ( (LA8_2=='<'||LA8_2=='{'||LA8_2=='}') && (( this.inQuotStr ))) {s = 14;} + + else if ( (LA8_2=='\"') && (( !this.inQuotStr && !this.inAposStr ))) {s = 10;} + + else s = 12; + + + input.seek(index8_2); + if ( s>=0 ) return s; + break; + case 1 : + var LA8_21 = input.LA(1); + + + var index8_21 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inAposStr )) ) {s = 9;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_21); + if ( s>=0 ) return s; + break; + case 2 : + var LA8_24 = input.LA(1); + + + var index8_24 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inQuotStr )) ) {s = 14;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_24); + if ( s>=0 ) return s; + break; + case 3 : + var LA8_18 = input.LA(1); + + + var index8_18 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inQuotStr )) ) {s = 14;} + + else if ( (( this.inAposStr )) ) {s = 9;} + + + input.seek(index8_18); + if ( s>=0 ) return s; + break; + case 4 : + var LA8_3 = input.LA(1); + + + var index8_3 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_3=='#') ) {s = 15;} + + else if ( (LA8_3=='a'||LA8_3=='g'||LA8_3=='l'||LA8_3=='q') && (( this.inQuotStr | this.inAposStr ))) {s = 16;} + + + input.seek(index8_3); + if ( s>=0 ) return s; + break; + case 5 : + var LA8_6 = input.LA(1); + + + var index8_6 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_6>='\t' && LA8_6<='\n')||LA8_6=='\r'||(LA8_6>=' ' && LA8_6<='%')||(LA8_6>='(' && LA8_6<=';')||(LA8_6>='=' && LA8_6<='z')||LA8_6=='|'||(LA8_6>='~' && LA8_6<='\uD7FF')||(LA8_6>='\uE000' && LA8_6<='\uFFFD')) && ((( this.inAposStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 8;} + + else if ( (LA8_6=='<'||LA8_6=='{'||LA8_6=='}') && (( this.inAposStr ))) {s = 9;} + + else if ( (LA8_6=='\'') && (( !this.inQuotStr && !this.inAposStr ))) {s = 10;} + + else s = 19; + + + input.seek(index8_6); + if ( s>=0 ) return s; + break; + case 6 : + var LA8_13 = input.LA(1); + + + var index8_13 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_13>='\t' && LA8_13<='\n')||LA8_13=='\r'||(LA8_13>=' ' && LA8_13<='!')||(LA8_13>='#' && LA8_13<='%')||(LA8_13>='\'' && LA8_13<=';')||(LA8_13>='=' && LA8_13<='z')||LA8_13=='|'||(LA8_13>='~' && LA8_13<='\uD7FF')||(LA8_13>='\uE000' && LA8_13<='\uFFFD')) && ((( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 13;} + + else if ( (LA8_13=='<'||LA8_13=='{'||LA8_13=='}') && (( this.inQuotStr ))) {s = 14;} + + else if ( (LA8_13=='\"') && (( !this.inQuotStr && !this.inAposStr ))) {s = 10;} + + else s = 24; + + + input.seek(index8_13); + if ( s>=0 ) return s; + break; + case 7 : + var LA8_0 = input.LA(1); + + + var index8_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_0=='\"') && ((( this.inAposStr )||( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 1;} + + else if ( (LA8_0=='\'') && ((( this.inAposStr )||( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 2;} + + else if ( (LA8_0=='&') ) {s = 3;} + + else if ( ((LA8_0>='\t' && LA8_0<='\n')||LA8_0=='\r'||(LA8_0>=' ' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='%')||(LA8_0>='(' && LA8_0<=';')||(LA8_0>='=' && LA8_0<='z')||LA8_0=='|'||(LA8_0>='~' && LA8_0<='\uD7FF')||(LA8_0>='\uE000' && LA8_0<='\uFFFD')) && ((( this.inAposStr )||( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 4;} + + else if ( (LA8_0=='<'||LA8_0=='{'||LA8_0=='}') && ((( this.inAposStr )||( this.inQuotStr )))) {s = 5;} + + + input.seek(index8_0); + if ( s>=0 ) return s; + break; + case 8 : + var LA8_12 = input.LA(1); + + + var index8_12 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inAposStr )) ) {s = 23;} + + else if ( (( this.inQuotStr )) ) {s = 14;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_12); + if ( s>=0 ) return s; + break; + case 9 : + var LA8_7 = input.LA(1); + + + var index8_7 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inQuotStr )) ) {s = 20;} + + else if ( (( this.inAposStr )) ) {s = 9;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_7); + if ( s>=0 ) return s; + break; + case 10 : + var LA8_5 = input.LA(1); + + + var index8_5 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_5>='\t' && LA8_5<='\n')||LA8_5=='\r'||(LA8_5>=' ' && LA8_5<='!')||(LA8_5>='#' && LA8_5<='%')||(LA8_5>='(' && LA8_5<='\uD7FF')||(LA8_5>='\uE000' && LA8_5<='\uFFFD')) && ((( this.inAposStr )||( this.inQuotStr )))) {s = 5;} + + else if ( (LA8_5=='\'') && (( this.inQuotStr ))) {s = 14;} + + else if ( (LA8_5=='\"') && (( this.inAposStr ))) {s = 9;} + + else s = 18; + + + input.seek(index8_5); + if ( s>=0 ) return s; + break; + case 11 : + var LA8_19 = input.LA(1); + + + var index8_19 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inQuotStr )) ) {s = 25;} + + else if ( (( this.inAposStr )) ) {s = 9;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_19); + if ( s>=0 ) return s; + break; + case 12 : + var LA8_22 = input.LA(1); + + + var index8_22 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inAposStr )) ) {s = 26;} + + else if ( (( this.inQuotStr )) ) {s = 14;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_22); + if ( s>=0 ) return s; + break; + case 13 : + var LA8_17 = input.LA(1); + + + var index8_17 = input.index(); + input.rewind(); + s = -1; + if ( (( this.inQuotStr )) ) {s = 14;} + + else if ( (( this.inAposStr )) ) {s = 9;} + + else if ( (( !this.inQuotStr && !this.inAposStr )) ) {s = 10;} + + + input.seek(index8_17); + if ( s>=0 ) return s; + break; + case 14 : + var LA8_1 = input.LA(1); + + + var index8_1 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_1=='\"') && ((( this.inAposStr )||( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 6;} + + else if ( ((LA8_1>='\t' && LA8_1<='\n')||LA8_1=='\r'||(LA8_1>=' ' && LA8_1<='!')||(LA8_1>='#' && LA8_1<='%')||(LA8_1>='(' && LA8_1<=';')||(LA8_1>='=' && LA8_1<='z')||LA8_1=='|'||(LA8_1>='~' && LA8_1<='\uD7FF')||(LA8_1>='\uE000' && LA8_1<='\uFFFD')) && ((( this.inAposStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 8;} + + else if ( (LA8_1=='<'||LA8_1=='{'||LA8_1=='}') && (( this.inAposStr ))) {s = 9;} + + else if ( (LA8_1=='\'') && (( !this.inQuotStr && !this.inAposStr ))) {s = 10;} + + else s = 7; + + + input.seek(index8_1); + if ( s>=0 ) return s; + break; + case 15 : + var LA8_11 = input.LA(1); + + + var index8_11 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_11>='\t' && LA8_11<='\n')||LA8_11=='\r'||(LA8_11>=' ' && LA8_11<='!')||(LA8_11>='#' && LA8_11<='%')||(LA8_11>='\'' && LA8_11<=';')||(LA8_11>='=' && LA8_11<='z')||LA8_11=='|'||(LA8_11>='~' && LA8_11<='\uD7FF')||(LA8_11>='\uE000' && LA8_11<='\uFFFD')) && ((( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 13;} + + else if ( (LA8_11=='<'||LA8_11=='{'||LA8_11=='}') && (( this.inQuotStr ))) {s = 14;} + + else if ( (LA8_11=='\"') && (( !this.inQuotStr && !this.inAposStr ))) {s = 10;} + + else s = 22; + + + input.seek(index8_11); + if ( s>=0 ) return s; + break; + case 16 : + var LA8_8 = input.LA(1); + + + var index8_8 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_8>='\t' && LA8_8<='\n')||LA8_8=='\r'||(LA8_8>=' ' && LA8_8<='%')||(LA8_8>='(' && LA8_8<=';')||(LA8_8>='=' && LA8_8<='z')||LA8_8=='|'||(LA8_8>='~' && LA8_8<='\uD7FF')||(LA8_8>='\uE000' && LA8_8<='\uFFFD')) && ((( this.inAposStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 8;} + + else if ( (LA8_8=='<'||LA8_8=='{'||LA8_8=='}') && (( this.inAposStr ))) {s = 9;} + + else if ( (LA8_8=='\'') && (( !this.inQuotStr && !this.inAposStr ))) {s = 10;} + + else s = 21; + + + input.seek(index8_8); + if ( s>=0 ) return s; + break; + case 17 : + var LA8_4 = input.LA(1); + + + var index8_4 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_4>='\t' && LA8_4<='\n')||LA8_4=='\r'||(LA8_4>=' ' && LA8_4<='!')||(LA8_4>='#' && LA8_4<='%')||(LA8_4>='(' && LA8_4<=';')||(LA8_4>='=' && LA8_4<='z')||LA8_4=='|'||(LA8_4>='~' && LA8_4<='\uD7FF')||(LA8_4>='\uE000' && LA8_4<='\uFFFD')) && ((( this.inAposStr )||( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 4;} + + else if ( (LA8_4=='\'') && ((( this.inQuotStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 13;} + + else if ( (LA8_4=='\"') && ((( this.inAposStr )||( !this.inQuotStr && !this.inAposStr )))) {s = 8;} + + else if ( (LA8_4=='<'||LA8_4=='{'||LA8_4=='}') && ((( this.inAposStr )||( this.inQuotStr )))) {s = 5;} + + else s = 17; + + + input.seek(index8_4); + if ( s>=0 ) return s; + break; + } + }).call(this.recognizer, s, input); + if (!org.antlr.lang.isUndefined(retval)) { + return retval; + } + var nvae = + new org.antlr.runtime.NoViableAltException(this.getDescription(), 8, _s, input); + this.error(nvae); + throw nvae; + }, + dummy: null +}); + +})(); + +}); diff --git a/lib/ace/mode/xquery/XQDTLexer.js b/lib/ace/mode/xquery/XQDTLexer.js new file mode 100644 index 00000000..d2797ae1 --- /dev/null +++ b/lib/ace/mode/xquery/XQDTLexer.js @@ -0,0 +1,28 @@ +define(function(require, exports, module){ + +var org = require("./antlr3-all").org; + +var XQDTLexer = exports.XQDTLexer = function(input, state) +{ + XQDTLexer.superclass.constructor.call(this, input, state); +}; + +org.antlr.lang.extend(XQDTLexer, org.antlr.runtime.Lexer, { + + isWsExplicit: false, + + setIsWsExplicit: function (wsExplicit) { + isWsExplicit = wsExplicit; + }, + + addToStack: function (stack) { + stack.push(this); + }, + + rewindToIndex: function(index) { + var stream = this.input; + stream.seek(index); + } +}); + +});