UNPKG

ace-builds

Version:
1,498 lines (1,458 loc) 328 kB
ace.define("ace/mode/xquery/jsoniq_lexer",["require","exports","module"], function(require, exports, module) { module.exports = (function outer (modules, cache, entry) { var previousRequire = typeof require == "function" && require; function newRequire(name, jumped){ if(!cache[name]) { if(!modules[name]) { var currentRequire = typeof require == "function" && require; if (!jumped && currentRequire) return currentRequire(name, true); if (previousRequire) return previousRequire(name, true); var err = new Error('Cannot find module \'' + name + '\''); err.code = 'MODULE_NOT_FOUND'; throw err; } var m = cache[name] = {exports:{}}; modules[name][0].call(m.exports, function(x){ var id = modules[name][1][x]; return newRequire(id ? id : x); },m,m.exports,outer,modules,cache,entry); } return cache[name].exports; } for(var i=0;i<entry.length;i++) newRequire(entry[i]); return newRequire(entry[0]); }) ({"/node_modules/xqlint/lib/lexers/JSONiqTokenizer.js":[function(_dereq_,module,exports){ var JSONiqTokenizer = exports.JSONiqTokenizer = function JSONiqTokenizer(string, parsingEventHandler) { init(string, parsingEventHandler); var self = this; this.ParseException = function(b, e, s, o, x) { var begin = b, end = e, state = s, offending = o, expected = x; this.getBegin = function() {return begin;}; this.getEnd = function() {return end;}; this.getState = function() {return state;}; this.getExpected = function() {return expected;}; this.getOffending = function() {return offending;}; this.getMessage = function() { return offending < 0 ? "lexical analysis failed" : "syntax error"; }; }; function init(string, parsingEventHandler) { eventHandler = parsingEventHandler; input = string; size = string.length; reset(0, 0, 0); } this.getInput = function() { return input; }; function reset(l, b, e) { b0 = b; e0 = b; l1 = l; b1 = b; e1 = e; end = e; eventHandler.reset(input); } this.getOffendingToken = function(e) { var o = e.getOffending(); return o >= 0 ? JSONiqTokenizer.TOKEN[o] : null; }; this.getExpectedTokenSet = function(e) { var expected; if (e.getExpected() < 0) { expected = JSONiqTokenizer.getTokenSet(- e.getState()); } else { expected = [JSONiqTokenizer.TOKEN[e.getExpected()]]; } return expected; }; this.getErrorMessage = function(e) { var tokenSet = this.getExpectedTokenSet(e); var found = this.getOffendingToken(e); var prefix = input.substring(0, e.getBegin()); var lines = prefix.split("\n"); var line = lines.length; var column = lines[line - 1].length + 1; var size = e.getEnd() - e.getBegin(); return e.getMessage() + (found == null ? "" : ", found " + found) + "\nwhile expecting " + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]")) + "\n" + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ") + "at line " + line + ", column " + column + ":\n..." + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64)) + "..."; }; this.parse_start = function() { eventHandler.startNonterminal("start", e0); lookahead1W(14); // ModuleDecl | Annotation | OptionDecl | Operator | Variable | Tag | AttrTest | switch (l1) { case 58: // '<![CDATA[' shift(58); // '<![CDATA[' break; case 57: // '<!--' shift(57); // '<!--' break; case 59: // '<?' shift(59); // '<?' break; case 43: // '(#' shift(43); // '(#' break; case 45: // '(:~' shift(45); // '(:~' break; case 44: // '(:' shift(44); // '(:' break; case 37: // '"' shift(37); // '"' break; case 41: // "'" shift(41); // "'" break; case 277: // '}' shift(277); // '}' break; case 274: // '{' shift(274); // '{' break; case 42: // '(' shift(42); // '(' break; case 46: // ')' shift(46); // ')' break; case 52: // '/' shift(52); // '/' break; case 65: // '[' shift(65); // '[' break; case 66: // ']' shift(66); // ']' break; case 49: // ',' shift(49); // ',' break; case 51: // '.' shift(51); // '.' break; case 56: // ';' shift(56); // ';' break; case 54: // ':' shift(54); // ':' break; case 36: // '!' shift(36); // '!' break; case 276: // '|' shift(276); // '|' break; case 40: // '$$' shift(40); // '$$' break; case 5: // Annotation shift(5); // Annotation break; case 4: // ModuleDecl shift(4); // ModuleDecl break; case 6: // OptionDecl shift(6); // OptionDecl break; case 15: // AttrTest shift(15); // AttrTest break; case 16: // Wildcard shift(16); // Wildcard break; case 18: // IntegerLiteral shift(18); // IntegerLiteral break; case 19: // DecimalLiteral shift(19); // DecimalLiteral break; case 20: // DoubleLiteral shift(20); // DoubleLiteral break; case 8: // Variable shift(8); // Variable break; case 9: // Tag shift(9); // Tag break; case 7: // Operator shift(7); // Operator break; case 35: // EOF shift(35); // EOF break; default: parse_EQName(); } eventHandler.endNonterminal("start", e0); }; this.parse_StartTag = function() { eventHandler.startNonterminal("StartTag", e0); lookahead1W(8); // QName | S^WS | EOF | '"' | "'" | '/>' | '=' | '>' switch (l1) { case 61: // '>' shift(61); // '>' break; case 53: // '/>' shift(53); // '/>' break; case 29: // QName shift(29); // QName break; case 60: // '=' shift(60); // '=' break; case 37: // '"' shift(37); // '"' break; case 41: // "'" shift(41); // "'" break; default: shift(35); // EOF } eventHandler.endNonterminal("StartTag", e0); }; this.parse_TagContent = function() { eventHandler.startNonterminal("TagContent", e0); lookahead1(11); // Tag | EndTag | PredefinedEntityRef | ElementContentChar | CharRef | EOF | switch (l1) { case 25: // ElementContentChar shift(25); // ElementContentChar break; case 9: // Tag shift(9); // Tag break; case 10: // EndTag shift(10); // EndTag break; case 58: // '<![CDATA[' shift(58); // '<![CDATA[' break; case 57: // '<!--' shift(57); // '<!--' break; case 21: // PredefinedEntityRef shift(21); // PredefinedEntityRef break; case 31: // CharRef shift(31); // CharRef break; case 275: // '{{' shift(275); // '{{' break; case 278: // '}}' shift(278); // '}}' break; case 274: // '{' shift(274); // '{' break; default: shift(35); // EOF } eventHandler.endNonterminal("TagContent", e0); }; this.parse_AposAttr = function() { eventHandler.startNonterminal("AposAttr", e0); lookahead1(10); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | EOF | "'" | switch (l1) { case 23: // EscapeApos shift(23); // EscapeApos break; case 27: // AposAttrContentChar shift(27); // AposAttrContentChar break; case 21: // PredefinedEntityRef shift(21); // PredefinedEntityRef break; case 31: // CharRef shift(31); // CharRef break; case 275: // '{{' shift(275); // '{{' break; case 278: // '}}' shift(278); // '}}' break; case 274: // '{' shift(274); // '{' break; case 41: // "'" shift(41); // "'" break; default: shift(35); // EOF } eventHandler.endNonterminal("AposAttr", e0); }; this.parse_QuotAttr = function() { eventHandler.startNonterminal("QuotAttr", e0); lookahead1(9); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | EOF | '"' | switch (l1) { case 22: // EscapeQuot shift(22); // EscapeQuot break; case 26: // QuotAttrContentChar shift(26); // QuotAttrContentChar break; case 21: // PredefinedEntityRef shift(21); // PredefinedEntityRef break; case 31: // CharRef shift(31); // CharRef break; case 275: // '{{' shift(275); // '{{' break; case 278: // '}}' shift(278); // '}}' break; case 274: // '{' shift(274); // '{' break; case 37: // '"' shift(37); // '"' break; default: shift(35); // EOF } eventHandler.endNonterminal("QuotAttr", e0); }; this.parse_CData = function() { eventHandler.startNonterminal("CData", e0); lookahead1(1); // CDataSectionContents | EOF | ']]>' switch (l1) { case 14: // CDataSectionContents shift(14); // CDataSectionContents break; case 67: // ']]>' shift(67); // ']]>' break; default: shift(35); // EOF } eventHandler.endNonterminal("CData", e0); }; this.parse_XMLComment = function() { eventHandler.startNonterminal("XMLComment", e0); lookahead1(0); // DirCommentContents | EOF | '-->' switch (l1) { case 12: // DirCommentContents shift(12); // DirCommentContents break; case 50: // '-->' shift(50); // '-->' break; default: shift(35); // EOF } eventHandler.endNonterminal("XMLComment", e0); }; this.parse_PI = function() { eventHandler.startNonterminal("PI", e0); lookahead1(3); // DirPIContents | EOF | '?' | '?>' switch (l1) { case 13: // DirPIContents shift(13); // DirPIContents break; case 62: // '?' shift(62); // '?' break; case 63: // '?>' shift(63); // '?>' break; default: shift(35); // EOF } eventHandler.endNonterminal("PI", e0); }; this.parse_Pragma = function() { eventHandler.startNonterminal("Pragma", e0); lookahead1(2); // PragmaContents | EOF | '#' | '#)' switch (l1) { case 11: // PragmaContents shift(11); // PragmaContents break; case 38: // '#' shift(38); // '#' break; case 39: // '#)' shift(39); // '#)' break; default: shift(35); // EOF } eventHandler.endNonterminal("Pragma", e0); }; this.parse_Comment = function() { eventHandler.startNonterminal("Comment", e0); lookahead1(4); // CommentContents | EOF | '(:' | ':)' switch (l1) { case 55: // ':)' shift(55); // ':)' break; case 44: // '(:' shift(44); // '(:' break; case 32: // CommentContents shift(32); // CommentContents break; default: shift(35); // EOF } eventHandler.endNonterminal("Comment", e0); }; this.parse_CommentDoc = function() { eventHandler.startNonterminal("CommentDoc", e0); lookahead1(6); // DocTag | DocCommentContents | EOF | '(:' | ':)' switch (l1) { case 33: // DocTag shift(33); // DocTag break; case 34: // DocCommentContents shift(34); // DocCommentContents break; case 55: // ':)' shift(55); // ':)' break; case 44: // '(:' shift(44); // '(:' break; default: shift(35); // EOF } eventHandler.endNonterminal("CommentDoc", e0); }; this.parse_QuotString = function() { eventHandler.startNonterminal("QuotString", e0); lookahead1(5); // JSONChar | JSONCharRef | JSONPredefinedCharRef | EOF | '"' switch (l1) { case 3: // JSONPredefinedCharRef shift(3); // JSONPredefinedCharRef break; case 2: // JSONCharRef shift(2); // JSONCharRef break; case 1: // JSONChar shift(1); // JSONChar break; case 37: // '"' shift(37); // '"' break; default: shift(35); // EOF } eventHandler.endNonterminal("QuotString", e0); }; this.parse_AposString = function() { eventHandler.startNonterminal("AposString", e0); lookahead1(7); // PredefinedEntityRef | EscapeApos | AposChar | CharRef | EOF | "'" switch (l1) { case 21: // PredefinedEntityRef shift(21); // PredefinedEntityRef break; case 31: // CharRef shift(31); // CharRef break; case 23: // EscapeApos shift(23); // EscapeApos break; case 24: // AposChar shift(24); // AposChar break; case 41: // "'" shift(41); // "'" break; default: shift(35); // EOF } eventHandler.endNonterminal("AposString", e0); }; this.parse_Prefix = function() { eventHandler.startNonterminal("Prefix", e0); lookahead1W(13); // NCName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | whitespace(); parse_NCName(); eventHandler.endNonterminal("Prefix", e0); }; this.parse__EQName = function() { eventHandler.startNonterminal("_EQName", e0); lookahead1W(12); // EQName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | whitespace(); parse_EQName(); eventHandler.endNonterminal("_EQName", e0); }; function parse_EQName() { eventHandler.startNonterminal("EQName", e0); switch (l1) { case 80: // 'attribute' shift(80); // 'attribute' break; case 94: // 'comment' shift(94); // 'comment' break; case 118: // 'document-node' shift(118); // 'document-node' break; case 119: // 'element' shift(119); // 'element' break; case 122: // 'empty-sequence' shift(122); // 'empty-sequence' break; case 143: // 'function' shift(143); // 'function' break; case 150: // 'if' shift(150); // 'if' break; case 163: // 'item' shift(163); // 'item' break; case 183: // 'namespace-node' shift(183); // 'namespace-node' break; case 189: // 'node' shift(189); // 'node' break; case 214: // 'processing-instruction' shift(214); // 'processing-instruction' break; case 224: // 'schema-attribute' shift(224); // 'schema-attribute' break; case 225: // 'schema-element' shift(225); // 'schema-element' break; case 241: // 'switch' shift(241); // 'switch' break; case 242: // 'text' shift(242); // 'text' break; case 251: // 'typeswitch' shift(251); // 'typeswitch' break; default: parse_FunctionName(); } eventHandler.endNonterminal("EQName", e0); } function parse_FunctionName() { eventHandler.startNonterminal("FunctionName", e0); switch (l1) { case 17: // EQName^Token shift(17); // EQName^Token break; case 68: // 'after' shift(68); // 'after' break; case 71: // 'ancestor' shift(71); // 'ancestor' break; case 72: // 'ancestor-or-self' shift(72); // 'ancestor-or-self' break; case 73: // 'and' shift(73); // 'and' break; case 77: // 'as' shift(77); // 'as' break; case 78: // 'ascending' shift(78); // 'ascending' break; case 82: // 'before' shift(82); // 'before' break; case 86: // 'case' shift(86); // 'case' break; case 87: // 'cast' shift(87); // 'cast' break; case 88: // 'castable' shift(88); // 'castable' break; case 91: // 'child' shift(91); // 'child' break; case 92: // 'collation' shift(92); // 'collation' break; case 101: // 'copy' shift(101); // 'copy' break; case 103: // 'count' shift(103); // 'count' break; case 106: // 'declare' shift(106); // 'declare' break; case 107: // 'default' shift(107); // 'default' break; case 108: // 'delete' shift(108); // 'delete' break; case 109: // 'descendant' shift(109); // 'descendant' break; case 110: // 'descendant-or-self' shift(110); // 'descendant-or-self' break; case 111: // 'descending' shift(111); // 'descending' break; case 116: // 'div' shift(116); // 'div' break; case 117: // 'document' shift(117); // 'document' break; case 120: // 'else' shift(120); // 'else' break; case 121: // 'empty' shift(121); // 'empty' break; case 124: // 'end' shift(124); // 'end' break; case 126: // 'eq' shift(126); // 'eq' break; case 127: // 'every' shift(127); // 'every' break; case 129: // 'except' shift(129); // 'except' break; case 132: // 'first' shift(132); // 'first' break; case 133: // 'following' shift(133); // 'following' break; case 134: // 'following-sibling' shift(134); // 'following-sibling' break; case 135: // 'for' shift(135); // 'for' break; case 144: // 'ge' shift(144); // 'ge' break; case 146: // 'group' shift(146); // 'group' break; case 148: // 'gt' shift(148); // 'gt' break; case 149: // 'idiv' shift(149); // 'idiv' break; case 151: // 'import' shift(151); // 'import' break; case 157: // 'insert' shift(157); // 'insert' break; case 158: // 'instance' shift(158); // 'instance' break; case 160: // 'intersect' shift(160); // 'intersect' break; case 161: // 'into' shift(161); // 'into' break; case 162: // 'is' shift(162); // 'is' break; case 168: // 'last' shift(168); // 'last' break; case 170: // 'le' shift(170); // 'le' break; case 172: // 'let' shift(172); // 'let' break; case 176: // 'lt' shift(176); // 'lt' break; case 178: // 'mod' shift(178); // 'mod' break; case 179: // 'modify' shift(179); // 'modify' break; case 180: // 'module' shift(180); // 'module' break; case 182: // 'namespace' shift(182); // 'namespace' break; case 184: // 'ne' shift(184); // 'ne' break; case 196: // 'only' shift(196); // 'only' break; case 198: // 'or' shift(198); // 'or' break; case 199: // 'order' shift(199); // 'order' break; case 200: // 'ordered' shift(200); // 'ordered' break; case 204: // 'parent' shift(204); // 'parent' break; case 210: // 'preceding' shift(210); // 'preceding' break; case 211: // 'preceding-sibling' shift(211); // 'preceding-sibling' break; case 216: // 'rename' shift(216); // 'rename' break; case 217: // 'replace' shift(217); // 'replace' break; case 218: // 'return' shift(218); // 'return' break; case 222: // 'satisfies' shift(222); // 'satisfies' break; case 227: // 'self' shift(227); // 'self' break; case 233: // 'some' shift(233); // 'some' break; case 234: // 'stable' shift(234); // 'stable' break; case 235: // 'start' shift(235); // 'start' break; case 246: // 'to' shift(246); // 'to' break; case 247: // 'treat' shift(247); // 'treat' break; case 248: // 'try' shift(248); // 'try' break; case 252: // 'union' shift(252); // 'union' break; case 254: // 'unordered' shift(254); // 'unordered' break; case 258: // 'validate' shift(258); // 'validate' break; case 264: // 'where' shift(264); // 'where' break; case 268: // 'with' shift(268); // 'with' break; case 272: // 'xquery' shift(272); // 'xquery' break; case 70: // 'allowing' shift(70); // 'allowing' break; case 79: // 'at' shift(79); // 'at' break; case 81: // 'base-uri' shift(81); // 'base-uri' break; case 83: // 'boundary-space' shift(83); // 'boundary-space' break; case 84: // 'break' shift(84); // 'break' break; case 89: // 'catch' shift(89); // 'catch' break; case 96: // 'construction' shift(96); // 'construction' break; case 99: // 'context' shift(99); // 'context' break; case 100: // 'continue' shift(100); // 'continue' break; case 102: // 'copy-namespaces' shift(102); // 'copy-namespaces' break; case 104: // 'decimal-format' shift(104); // 'decimal-format' break; case 123: // 'encoding' shift(123); // 'encoding' break; case 130: // 'exit' shift(130); // 'exit' break; case 131: // 'external' shift(131); // 'external' break; case 139: // 'ft-option' shift(139); // 'ft-option' break; case 152: // 'in' shift(152); // 'in' break; case 153: // 'index' shift(153); // 'index' break; case 159: // 'integrity' shift(159); // 'integrity' break; case 169: // 'lax' shift(169); // 'lax' break; case 190: // 'nodes' shift(190); // 'nodes' break; case 197: // 'option' shift(197); // 'option' break; case 201: // 'ordering' shift(201); // 'ordering' break; case 220: // 'revalidation' shift(220); // 'revalidation' break; case 223: // 'schema' shift(223); // 'schema' break; case 226: // 'score' shift(226); // 'score' break; case 232: // 'sliding' shift(232); // 'sliding' break; case 238: // 'strict' shift(238); // 'strict' break; case 249: // 'tumbling' shift(249); // 'tumbling' break; case 250: // 'type' shift(250); // 'type' break; case 255: // 'updating' shift(255); // 'updating' break; case 259: // 'value' shift(259); // 'value' break; case 260: // 'variable' shift(260); // 'variable' break; case 261: // 'version' shift(261); // 'version' break; case 265: // 'while' shift(265); // 'while' break; case 95: // 'constraint' shift(95); // 'constraint' break; case 174: // 'loop' shift(174); // 'loop' break; default: shift(219); // 'returning' } eventHandler.endNonterminal("FunctionName", e0); } function parse_NCName() { eventHandler.startNonterminal("NCName", e0); switch (l1) { case 28: // NCName^Token shift(28); // NCName^Token break; case 68: // 'after' shift(68); // 'after' break; case 73: // 'and' shift(73); // 'and' break; case 77: // 'as' shift(77); // 'as' break; case 78: // 'ascending' shift(78); // 'ascending' break; case 82: // 'before' shift(82); // 'before' break; case 86: // 'case' shift(86); // 'case' break; case 87: // 'cast' shift(87); // 'cast' break; case 88: // 'castable' shift(88); // 'castable' break; case 92: // 'collation' shift(92); // 'collation' break; case 103: // 'count' shift(103); // 'count' break; case 107: // 'default' shift(107); // 'default' break; case 111: // 'descending' shift(111); // 'descending' break; case 116: // 'div' shift(116); // 'div' break; case 120: // 'else' shift(120); // 'else' break; case 121: // 'empty' shift(121); // 'empty' break; case 124: // 'end' shift(124); // 'end' break; case 126: // 'eq' shift(126); // 'eq' break; case 129: // 'except' shift(129); // 'except' break; case 135: // 'for' shift(135); // 'for' break; case 144: // 'ge' shift(144); // 'ge' break; case 146: // 'group' shift(146); // 'group' break; case 148: // 'gt' shift(148); // 'gt' break; case 149: // 'idiv' shift(149); // 'idiv' break; case 158: // 'instance' shift(158); // 'instance' break; case 160: // 'intersect' shift(160); // 'intersect' break; case 161: // 'into' shift(161); // 'into' break; case 162: // 'is' shift(162); // 'is' break; case 170: // 'le' shift(170); // 'le' break; case 172: // 'let' shift(172); // 'let' break; case 176: // 'lt' shift(176); // 'lt' break; case 178: // 'mod' shift(178); // 'mod' break; case 179: // 'modify' shift(179); // 'modify' break; case 184: // 'ne' shift(184); // 'ne' break; case 196: // 'only' shift(196); // 'only' break; case 198: // 'or' shift(198); // 'or' break; case 199: // 'order' shift(199); // 'order' break; case 218: // 'return' shift(218); // 'return' break; case 222: // 'satisfies' shift(222); // 'satisfies' break; case 234: // 'stable' shift(234); // 'stable' break; case 235: // 'start' shift(235); // 'start' break; case 246: // 'to' shift(246); // 'to' break; case 247: // 'treat' shift(247); // 'treat' break; case 252: // 'union' shift(252); // 'union' break; case 264: // 'where' shift(264); // 'where' break; case 268: // 'with' shift(268); // 'with' break; case 71: // 'ancestor' shift(71); // 'ancestor' break; case 72: // 'ancestor-or-self' shift(72); // 'ancestor-or-self' break; case 80: // 'attribute' shift(80); // 'attribute' break; case 91: // 'child' shift(91); // 'child' break; case 94: // 'comment' shift(94); // 'comment' break; case 101: // 'copy' shift(101); // 'copy' break; case 106: // 'declare' shift(106); // 'declare' break; case 108: // 'delete' shift(108); // 'delete' break; case 109: // 'descendant' shift(109); // 'descendant' break; case 110: // 'descendant-or-self' shift(110); // 'descendant-or-self' break; case 117: // 'document' shift(117); // 'document' break; case 118: // 'document-node' shift(118); // 'document-node' break; case 119: // 'element' shift(119); // 'element' break; case 122: // 'empty-sequence' shift(122); // 'empty-sequence' break; case 127: // 'every' shift(127); // 'every' break; case 132: // 'first' shift(132); // 'first' break; case 133: // 'following' shift(133); // 'following' break; case 134: // 'following-sibling' shift(134); // 'following-sibling' break; case 143: // 'function' shift(143); // 'function' break; case 150: // 'if' shift(150); // 'if' break; case 151: // 'import' shift(151); // 'import' break; case 157: // 'insert' shift(157); // 'insert' break; case 163: // 'item' shift(163); // 'item' break; case 168: // 'last' shift(168); // 'last' break; case 180: // 'module' shift(180); // 'module' break; case 182: // 'namespace' shift(182); // 'namespace' break; case 183: // 'namespace-node' shift(183); // 'namespace-node' break; case 189: // 'node' shift(189); // 'node' break; case 200: // 'ordered' shift(200); // 'ordered' break; case 204: // 'parent' shift(204); // 'parent' break; case 210: // 'preceding' shift(210); // 'preceding' break; case 211: // 'preceding-sibling' shift(211); // 'preceding-sibling' break; case 214: // 'processing-instruction' shift(214); // 'processing-instruction' break; case 216: // 'rename' shift(216); // 'rename' break; case 217: // 'replace' shift(217); // 'replace' break; case 224: // 'schema-attribute' shift(224); // 'schema-attribute' break; case 225: // 'schema-element' shift(225); // 'schema-element' break; case 227: // 'self' shift(227); // 'self' break; case 233: // 'some' shift(233); // 'some' break; case 241: // 'switch' shift(241); // 'switch' break; case 242: // 'text' shift(242); // 'text' break; case 248: // 'try' shift(248); // 'try' break; case 251: // 'typeswitch' shift(251); // 'typeswitch' break; case 254: // 'unordered' shift(254); // 'unordered' break; case 258: // 'validate' shift(258); // 'validate' break; case 260: // 'variable' shift(260); // 'variable' break; case 272: // 'xquery' shift(272); // 'xquery' break; case 70: // 'allowing' shift(70); // 'allowing' break; case 79: // 'at' shift(79); // 'at' break; case 81: // 'base-uri' shift(81); // 'base-uri' break; case 83: // 'boundary-space' shift(83); // 'boundary-space' break; case 84: // 'break' shift(84); // 'break' break; case 89: // 'catch' shift(89); // 'catch' break; case 96: // 'construction' shift(96); // 'construction' break; case 99: // 'context' shift(99); // 'context' break; case 100: // 'continue' shift(100); // 'continue' break; case 102: // 'copy-namespaces' shift(102); // 'copy-namespaces' break; case 104: // 'decimal-format' shift(104); // 'decimal-format' break; case 123: // 'encoding' shift(123); // 'encoding' break; case 130: // 'exit' shift(130); // 'exit' break; case 131: // 'external' shift(131); // 'external' break; case 139: // 'ft-option' shift(139); // 'ft-option' break; case 152: // 'in' shift(152); // 'in' break; case 153: // 'index' shift(153); // 'index' break; case 159: // 'integrity' shift(159); // 'integrity' break; case 169: // 'lax' shift(169); // 'lax' break; case 190: // 'nodes' shift(190); // 'nodes' break; case 197: // 'option' shift(197); // 'option' break; case 201: // 'ordering' shift(201); // 'ordering' break; case 220: // 'revalidation' shift(220); // 'revalidation' break; case 223: // 'schema' shift(223); // 'schema' break; case 226: // 'score' shift(226); // 'score' break; case 232: // 'sliding' shift(232); // 'sliding' break; case 238: // 'strict' shift(238); // 'strict' break; case 249: // 'tumbling' shift(249); // 'tumbling' break; case 250: // 'type' shift(250); // 'type' break; case 255: // 'updating' shift(255); // 'updating' break; case 259: // 'value' shift(259); // 'value' break; case 261: // 'version' shift(261); // 'version' break; case 265: // 'while' shift(265); // 'while' break; case 95: // 'constraint' shift(95); // 'constraint' break; case 174: // 'loop' shift(174); // 'loop' break; default: shift(219); // 'returning' } eventHandler.endNonterminal("NCName", e0); } function shift(t) { if (l1 == t) { whitespace(); eventHandler.terminal(JSONiqTokenizer.TOKEN[l1], b1, e1 > size ? size : e1); b0 = b1; e0 = e1; l1 = 0; } else { error(b1, e1, 0, l1, t); } } function whitespace() { if (e0 != b1) { b0 = e0; e0 = b1; eventHandler.whitespace(b0, e0); } } function matchW(set) { var code; for (;;) { code = match(set); if (code != 30) // S^WS { break; } } return code; } function lookahead1W(set) { if (l1 == 0) { l1 = matchW(set); b1 = begin; e1 = end; } } function lookahead1(set) { if (l1 == 0) { l1 = match(set); b1 = begin; e1 = end; } } function error(b, e, s, l, t) { throw new self.ParseException(b, e, s, l, t); } var lk, b0, e0; var l1, b1, e1; var eventHandler; var input; var size; var begin; var end; function match(tokenSetId) { var nonbmp = false; begin = end; var current = end; var result = JSONiqTokenizer.INITIAL[tokenSetId]; var state = 0; for (var code = result & 4095; code != 0; ) { var charclass; var c0 = current < size ? input.charCodeAt(current) : 0; ++current; if (c0 < 0x80) { charclass = JSONiqTokenizer.MAP0[c0]; } else if (c0 < 0xd800) { var c1 = c0 >> 4; charclass = JSONiqTokenizer.MAP1[(c0 & 15) + JSONiqTokenizer.MAP1[(c1 & 31) + JSONiqTokenizer.MAP1[c1 >> 5]]]; } else { if (c0 < 0xdc00) { var c1 = current < size ? input.charCodeAt(current) : 0; if (c1 >= 0xdc00 && c1 < 0xe000) { ++current; c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000; nonbmp = true; } } var lo = 0, hi = 5; for (var m = 3; ; m = (hi + lo) >> 1) { if (JSONiqTokenizer.MAP2[m] > c0) hi = m - 1; else if (JSONiqTokenizer.MAP2[6 + m] < c0) lo = m + 1; else {charclass = JSONiqTokenizer.MAP2[12 + m]; break;} if (lo > hi) {charclass = 0; break;} } } state = code; var i0 = (charclass << 12) + code - 1; code = JSONiqTokenizer.TRANSITION[(i0 & 15) + JSONiqTokenizer.TRANSITION[i0 >> 4]]; if (code > 4095) { result = code; code &= 4095; end = current; } } result >>= 12; if (result == 0) { end = current - 1; var c1 = end < size ? input.charCodeAt(end) : 0; if (c1 >= 0xdc00 && c1 < 0xe000) --end; return error(b