ace-builds
Version:
Ace (Ajax.org Cloud9 Editor)
1,498 lines (1,458 loc) • 328 kB
JavaScript
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(begin