UNPKG

shape-map

Version:

RDF Node/ShEx Shape mapping format.

441 lines (401 loc) 25.1 kB
const { JisonParser, o } = require('@ts-jison/parser'); /** * parser generated by @ts-jison/parser-generator 0.4.1-alpha.2 * @returns Parser implementing JisonParserApi and a Lexer implementing JisonLexerApi. */ /* ShapeMap parser in the Jison parser generator format. */ const ShExUtil = require("@shexjs/util"); const ShapeMap = require("./ShapeMapSymbols"); // Common namespaces and entities const XSD = 'http://www.w3.org/2001/XMLSchema#', XSD_INTEGER = XSD + 'integer', XSD_DECIMAL = XSD + 'decimal', XSD_FLOAT = XSD + 'float', XSD_DOUBLE = XSD + 'double', XSD_BOOLEAN = XSD + 'boolean'; const numericDatatypes = [ XSD + "integer", XSD + "decimal", XSD + "float", XSD + "double", XSD + "string", XSD + "boolean", XSD + "dateTime", XSD + "nonPositiveInteger", XSD + "negativeInteger", XSD + "long", XSD + "int", XSD + "short", XSD + "byte", XSD + "nonNegativeInteger", XSD + "unsignedLong", XSD + "unsignedInt", XSD + "unsignedShort", XSD + "unsignedByte", XSD + "positiveInteger" ]; const absoluteIRI = /^[a-z][a-z0-9+.-]*:/i; const numericFacets = ["mininclusive", "minexclusive", "maxinclusive", "maxexclusive"]; // Extends a base object with properties of other objects function extend (base) { if (!base) base = {}; for (let i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) for (let name in arg) base[name] = arg[name]; return base; } function obj() { const ret = { }; for (let i = 0; i < arguments.length; i+= 2) { ret[arguments[i]] = arguments[i+1]; } return ret; } // Creates a literal with the given value and type function createLiteral(value, type) { return obj("@value", value, "@type", type ); } // Regular expression and replacement strings to escape strings const stringEscapeReplacements = { '\\': '\\', "'": "'", '"': '"', 't': '\t', 'b': '\b', 'n': '\n', 'r': '\r', 'f': '\f' }, pnameEscapeReplacements = { '\\': '\\', "'": "'", '"': '"', 'n': '\n', 'r': '\r', 't': '\t', 'f': '\f', 'b': '\b', '_': '_', '~': '~', '.': '.', '-': '-', '!': '!', '$': '$', '&': '&', '(': '(', ')': ')', '*': '*', '+': '+', ',': ',', ';': ';', '=': '=', '/': '/', '?': '?', '#': '#', '@': '@', '%': '%', }; // Translates string escape codes in the string into their textual equivalent function unescapeString(string, trimLength) { string = string.substring(trimLength, string.length - trimLength); return obj("@value", ShExUtil.unescapeText(string, stringEscapeReplacements)); } function unescapeLangString(string, trimLength) { const at = string.lastIndexOf("@"); const lang = string.substr(at); string = string.substr(0, at); const u = unescapeString(string, trimLength); return extend(u, obj("@language", lang.substr(1).toLowerCase())); } // Parse a prefix out of a PName or throw Error function parsePName (pname, meta, parserState) { const namePos = pname.indexOf(':'); return meta.expandPrefix(pname.substr(0, namePos), parserState) + ShExUtil.unescapeText(pname.substr(namePos + 1), pnameEscapeReplacements); } const EmptyObject = { }; const EmptyShape = { type: "Shape" }; class ShapeMapJisonParser extends JisonParser { constructor(yy = {}, lexer = new ShapeMapJisonLexer(yy)) { super(yy, lexer); this.symbols_ = {"error":2,"shapeMap":3,"EOF":4,"pair":5,"Q_O_QGT_COMMA_E_S_Qpair_E_C_E_Star":6,"QGT_COMMA_E_Opt":7,"O_QGT_COMMA_E_S_Qpair_E_C":8,"GT_COMMA":9,"nodeSelector":10,"statusAndShape":11,"Qreason_E_Opt":12,"QjsonAttributes_E_Opt":13,"reason":14,"jsonAttributes":15,"GT_AT":16,"Qstatus_E_Opt":17,"shapeSelector":18,"ATSTART":19,"ATPNAME_NS":20,"ATPNAME_LN":21,"status":22,"objectTerm":23,"triplePattern":24,"IT_SPARQL":25,"string":26,"nodeIri":27,"shapeIri":28,"START":29,"subjectTerm":30,"BLANK_NODE_LABEL":31,"literal":32,"GT_LCURLEY":33,"IT_FOCUS":34,"nodePredicate":35,"O_QobjectTerm_E_Or_QIT___E_C":36,"GT_RCURLEY":37,"O_QsubjectTerm_E_Or_QIT___E_C":38,"IT__":39,"GT_NOT":40,"GT_OPT":41,"GT_DIVIDE":42,"GT_DOLLAR":43,"O_QAPPINFO_COLON_E_Or_QAPPINFO_SPACE_COLON_E_C":44,"jsonValue":45,"APPINFO_COLON":46,"APPINFO_SPACE_COLON":47,"IT_false":48,"IT_null":49,"IT_true":50,"jsonObject":51,"jsonArray":52,"INTEGER":53,"DECIMAL":54,"DOUBLE":55,"STRING_LITERAL2":56,"Q_O_QjsonMember_E_S_QGT_COMMA_E_S_QjsonMember_E_Star_C_E_Opt":57,"O_QGT_COMMA_E_S_QjsonMember_E_C":58,"jsonMember":59,"Q_O_QGT_COMMA_E_S_QjsonMember_E_C_E_Star":60,"O_QjsonMember_E_S_QGT_COMMA_E_S_QjsonMember_E_Star_C":61,"STRING_LITERAL2_COLON":62,"GT_LBRACKET":63,"Q_O_QjsonValue_E_S_QGT_COMMA_E_S_QjsonValue_E_Star_C_E_Opt":64,"GT_RBRACKET":65,"O_QGT_COMMA_E_S_QjsonValue_E_C":66,"Q_O_QGT_COMMA_E_S_QjsonValue_E_C_E_Star":67,"O_QjsonValue_E_S_QGT_COMMA_E_S_QjsonValue_E_Star_C":68,"rdfLiteral":69,"numericLiteral":70,"booleanLiteral":71,"Q_O_QLANGTAG_E_Or_QGT_DTYPE_E_S_QnodeIri_E_C_E_Opt":72,"O_QLANGTAG_E_Or_QGT_DTYPE_E_S_QnodeIri_E_C":73,"LANGTAG":74,"GT_DTYPE":75,"STRING_LITERAL1":76,"STRING_LITERAL_LONG1":77,"STRING_LITERAL_LONG2":78,"IT_a":79,"IRIREF":80,"PNAME_LN":81,"PNAME_NS":82,"$accept":0,"$end":1}; this.terminals_ = {2:"error",4:"EOF",9:"GT_COMMA",16:"GT_AT",19:"ATSTART",20:"ATPNAME_NS",21:"ATPNAME_LN",25:"IT_SPARQL",29:"START",31:"BLANK_NODE_LABEL",33:"GT_LCURLEY",34:"IT_FOCUS",37:"GT_RCURLEY",39:"IT__",40:"GT_NOT",41:"GT_OPT",42:"GT_DIVIDE",43:"GT_DOLLAR",46:"APPINFO_COLON",47:"APPINFO_SPACE_COLON",48:"IT_false",49:"IT_null",50:"IT_true",53:"INTEGER",54:"DECIMAL",55:"DOUBLE",56:"STRING_LITERAL2",62:"STRING_LITERAL2_COLON",63:"GT_LBRACKET",65:"GT_RBRACKET",74:"LANGTAG",75:"GT_DTYPE",76:"STRING_LITERAL1",77:"STRING_LITERAL_LONG1",78:"STRING_LITERAL_LONG2",79:"IT_a",80:"IRIREF",81:"PNAME_LN",82:"PNAME_NS"}; this.productions_ = [0,[3,1],[3,4],[8,2],[6,0],[6,2],[7,0],[7,1],[5,4],[12,0],[12,1],[13,0],[13,1],[11,3],[11,1],[11,1],[11,1],[17,0],[17,1],[10,1],[10,1],[10,2],[10,2],[18,1],[18,1],[30,1],[30,1],[23,1],[23,1],[24,5],[24,5],[36,1],[36,1],[38,1],[38,1],[22,1],[22,1],[14,2],[15,3],[44,1],[44,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[51,3],[58,2],[60,0],[60,2],[61,2],[57,0],[57,1],[59,2],[52,3],[66,2],[67,0],[67,2],[68,2],[64,0],[64,1],[32,1],[32,1],[32,1],[70,1],[70,1],[70,1],[69,2],[73,1],[73,2],[72,0],[72,1],[71,1],[71,1],[26,1],[26,1],[26,1],[26,1],[35,1],[35,1],[27,1],[27,1],[27,1],[27,1],[28,1],[28,1],[28,1],[28,1]]; // shorten static method to just `o` for terse STATE_TABLE const $V0=[1,7],$V1=[1,16],$V2=[1,11],$V3=[1,14],$V4=[1,25],$V5=[1,24],$V6=[1,21],$V7=[1,22],$V8=[1,23],$V9=[1,28],$Va=[1,26],$Vb=[1,27],$Vc=[1,29],$Vd=[1,12],$Ve=[1,13],$Vf=[1,15],$Vg=[4,9],$Vh=[16,19,20,21],$Vi=[2,25],$Vj=[16,19,20,21,37],$Vk=[16,19,20,21,31,34,37,39,46,48,50,53,54,55,56,76,77,78,79,80,81,82],$Vl=[4,9,16,19,20,21,37,43,74,75],$Vm=[4,9,43],$Vn=[29,46,80,81,82],$Vo=[4,9,42,43],$Vp=[1,59],$Vq=[46,79,80,81,82],$Vr=[31,34,39,46,48,50,53,54,55,56,76,77,78,80,81,82],$Vs=[1,94],$Vt=[1,85],$Vu=[1,86],$Vv=[1,87],$Vw=[1,90],$Vx=[1,91],$Vy=[1,92],$Vz=[1,93],$VA=[1,95],$VB=[33,48,49,50,53,54,55,56,63],$VC=[4,9,37,65],$VD=[1,99],$VE=[9,37],$VF=[9,65]; const o = JisonParser.expandParseTable; this.table = [{3:1,4:[1,2],5:3,10:4,23:5,24:6,25:$V0,26:20,27:8,30:9,31:$V1,32:10,33:$V2,46:$V3,48:$V4,50:$V5,53:$V6,54:$V7,55:$V8,56:$V9,69:17,70:18,71:19,76:$Va,77:$Vb,78:$Vc,80:$Vd,81:$Ve,82:$Vf},{1:[3]},{1:[2,1]},o($Vg,[2,4],{6:30}),{11:31,16:[1,32],19:[1,33],20:[1,34],21:[1,35]},o($Vh,[2,19]),o($Vh,[2,20]),{26:36,56:$V9,76:$Va,77:$Vb,78:$Vc},o($Vh,$Vi,{26:37,56:$V9,76:$Va,77:$Vb,78:$Vc}),o($Vj,[2,27]),o($Vj,[2,28]),{27:42,30:40,31:$V1,34:[1,38],38:39,39:[1,41],46:$V3,80:$Vd,81:$Ve,82:$Vf},o($Vk,[2,84]),o($Vk,[2,85]),o($Vk,[2,86]),o($Vk,[2,87]),o([16,19,20,21,37,46,79,80,81,82],[2,26]),o($Vj,[2,65]),o($Vj,[2,66]),o($Vj,[2,67]),o($Vj,[2,74],{72:43,73:44,74:[1,45],75:[1,46]}),o($Vj,[2,68]),o($Vj,[2,69]),o($Vj,[2,70]),o($Vj,[2,76]),o($Vj,[2,77]),o($Vl,[2,78]),o($Vl,[2,79]),o($Vl,[2,80]),o($Vl,[2,81]),{4:[2,6],7:47,8:48,9:[1,49]},o($Vm,[2,9],{12:50,14:51,42:[1,52]}),o($Vn,[2,17],{17:53,22:54,40:[1,55],41:[1,56]}),o($Vo,[2,14]),o($Vo,[2,15]),o($Vo,[2,16]),o($Vh,[2,21]),o($Vh,[2,22]),{27:58,35:57,46:$V3,79:$Vp,80:$Vd,81:$Ve,82:$Vf},{27:58,35:60,46:$V3,79:$Vp,80:$Vd,81:$Ve,82:$Vf},o($Vq,[2,33]),o($Vq,[2,34]),o([37,46,79,80,81,82],$Vi),o($Vj,[2,71]),o($Vj,[2,75]),o($Vj,[2,72]),{27:61,46:$V3,80:$Vd,81:$Ve,82:$Vf},{4:[1,62]},o($Vg,[2,5]),{4:[2,7],5:63,10:4,23:5,24:6,25:$V0,26:20,27:8,30:9,31:$V1,32:10,33:$V2,46:$V3,48:$V4,50:$V5,53:$V6,54:$V7,55:$V8,56:$V9,69:17,70:18,71:19,76:$Va,77:$Vb,78:$Vc,80:$Vd,81:$Ve,82:$Vf},o($Vg,[2,11],{13:64,15:65,43:[1,66]}),o($Vm,[2,10]),{26:67,56:$V9,76:$Va,77:$Vb,78:$Vc},{18:68,28:69,29:[1,70],46:[1,73],80:[1,71],81:[1,72],82:[1,74]},o($Vn,[2,18]),o($Vn,[2,35]),o($Vn,[2,36]),{23:76,26:20,27:42,30:9,31:$V1,32:10,36:75,39:[1,77],46:$V3,48:$V4,50:$V5,53:$V6,54:$V7,55:$V8,56:$V9,69:17,70:18,71:19,76:$Va,77:$Vb,78:$Vc,80:$Vd,81:$Ve,82:$Vf},o($Vr,[2,82]),o($Vr,[2,83]),{34:[1,78]},o($Vj,[2,73]),{1:[2,2]},o($Vg,[2,3]),o($Vg,[2,8]),o($Vg,[2,12]),{44:79,46:[1,80],47:[1,81]},o($Vm,[2,37]),o($Vo,[2,13]),o($Vo,[2,23]),o($Vo,[2,24]),o($Vo,[2,88]),o($Vo,[2,89]),o($Vo,[2,90]),o($Vo,[2,91]),{37:[1,82]},{37:[2,31]},{37:[2,32]},{37:[1,83]},{33:$Vs,45:84,48:$Vt,49:$Vu,50:$Vv,51:88,52:89,53:$Vw,54:$Vx,55:$Vy,56:$Vz,63:$VA},o($VB,[2,39]),o($VB,[2,40]),o($Vh,[2,29]),o($Vh,[2,30]),o($Vg,[2,38]),o($VC,[2,41]),o($VC,[2,42]),o($VC,[2,43]),o($VC,[2,44]),o($VC,[2,45]),o($VC,[2,46]),o($VC,[2,47]),o($VC,[2,48]),o($VC,[2,49]),{37:[2,55],57:96,59:98,61:97,62:$VD},{33:$Vs,45:102,48:$Vt,49:$Vu,50:$Vv,51:88,52:89,53:$Vw,54:$Vx,55:$Vy,56:$Vz,63:$VA,64:100,65:[2,63],68:101},{37:[1,103]},{37:[2,56]},o($VE,[2,52],{60:104}),{33:$Vs,45:105,48:$Vt,49:$Vu,50:$Vv,51:88,52:89,53:$Vw,54:$Vx,55:$Vy,56:$Vz,63:$VA},{65:[1,106]},{65:[2,64]},o($VF,[2,60],{67:107}),o($VC,[2,50]),{9:[1,109],37:[2,54],58:108},o($VE,[2,57]),o($VC,[2,58]),{9:[1,111],65:[2,62],66:110},o($VE,[2,53]),{59:112,62:$VD},o($VF,[2,61]),{33:$Vs,45:113,48:$Vt,49:$Vu,50:$Vv,51:88,52:89,53:$Vw,54:$Vx,55:$Vy,56:$Vz,63:$VA},o($VE,[2,51]),o($VF,[2,59])]; this.defaultActions = {2:[2,1],62:[2,2],76:[2,31],77:[2,32],97:[2,56],101:[2,64]}; } performAction (yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ const $0 = $$.length - 1; switch (yystate) { case 1: return [] break; case 2: return [$$[$0-3]].concat($$[$0-2]) break; case 3: case 51: case 59: this.$ = $$[$0]; break; case 4: case 60: case 63: this.$ = [ ]; break; case 5: case 61: this.$ = $$[$0-1].concat($$[$0]); break; case 8: this.$ = extend({ node: $$[$0-3] }, $$[$0-2], $$[$0-1], $$[$0]); break; case 9: case 11: case 52: case 55: case 74: this.$ = { }; break; case 13: this.$ = extend({ shape: $$[$0] }, $$[$0-1]); break; case 14: this.$ = { shape: ShapeMap.Start }; break; case 15: $$[$0] = $$[$0].substr(1, $$[$0].length-1); this.$ = { shape: yy.schemaMeta.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy) }; break; case 16: $$[$0] = $$[$0].substr(1, $$[$0].length-1); const namePos = $$[$0].indexOf(':'); this.$ = { shape: yy.schemaMeta.expandPrefix($$[$0].substr(0, namePos), yy) + $$[$0].substr(namePos + 1) }; break; case 17: this.$ = { status: 'conformant' } // defaults to conformant; break; case 18: this.$ = { status: $$[$0] }; break; case 21: this.$ = { type: "Extension", language: "http://www.w3.org/ns/shex#Extensions-sparql", lexical: $$[$0]["@value"] }; break; case 22: this.$ = { type: "Extension", language: $$[$0-1], lexical: $$[$0]["@value"] }; break; case 24: this.$ = ShapeMap.Start; break; case 29: this.$ = { type: "TriplePattern", subject: ShapeMap.Focus, predicate: $$[$0-2], object: $$[$0-1] }; break; case 30: this.$ = { type: "TriplePattern", subject: $$[$0-3], predicate: $$[$0-2], object: ShapeMap.Focus }; break; case 32: case 34: case 42: this.$ = null; break; case 35: this.$ = 'nonconformant'; break; case 36: this.$ = 'unknown'; break; case 37: this.$ = { reason: $$[$0] }; break; case 38: this.$ = { appinfo: $$[$0] }; break; case 41: this.$ = false; break; case 43: this.$ = true; break; case 46: case 47: case 48: this.$ = parseFloat($$[$0]); break; case 49: this.$ = unescapeString($$[$0], 1)["@value"]; break; case 50: case 58: this.$ = $$[$0-1]; break; case 53: case 54: case 71: this.$ = extend($$[$0-1], $$[$0]); break; case 57: this.$ = { }; const t = $$[$0-1].substr(0, $$[$0-1].length - 1).trim(); // remove trailing ':' and spaces this.$[unescapeString(t, 1)["@value"]] = $$[$0]; break; case 62: this.$ = [$$[$0-1]].concat($$[$0]); break; case 68: this.$ = createLiteral($$[$0], XSD_INTEGER); break; case 69: this.$ = createLiteral($$[$0], XSD_DECIMAL); break; case 70: this.$ = createLiteral($$[$0], XSD_DOUBLE); break; case 72: this.$ = obj("@language", $$[$0].substr(1).toLowerCase()); break; case 73: this.$ = obj("@type", $$[$0]); break; case 76: this.$ = createLiteral("true", XSD_BOOLEAN); break; case 77: this.$ = createLiteral("false", XSD_BOOLEAN); break; case 78: case 80: this.$ = unescapeString($$[$0], 1); break; case 79: case 81: this.$ = unescapeString($$[$0], 3); break; case 83: this.$ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; break; case 84: const node = ShExUtil.unescapeText($$[$0].slice(1,-1), {}); this.$ = yy.dataMeta.base === null || absoluteIRI.test(node) ? node : yy.dataMeta._resolveIRI(node) break; case 85: case 86: this.$ = parsePName($$[$0], yy.dataMeta, yy); break; case 87: this.$ = yy.dataMeta.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy);; break; case 88: const shape = ShExUtil.unescapeText($$[$0].slice(1,-1), {}); this.$ = yy.schemaMeta.base === null || absoluteIRI.test(shape) ? shape : yy.schemaMeta._resolveIRI(shape) break; case 89: case 90: this.$ = parsePName($$[$0], yy.schemaMeta, yy); break; case 91: this.$ = yy.schemaMeta.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy);; break; } } } // Export module Object.defineProperty(exports, "__esModule", { value: true }); exports.ShapeMapJisonParser = ShapeMapJisonParser; /* generated by @ts-jison/lexer-generator 0.4.1-alpha.2 */ const { JisonLexer } = require('@ts-jison/lexer'); class ShapeMapJisonLexer extends JisonLexer { constructor (yy = {}) { super(yy); this.options = {"moduleName":"ShapeMapJison"}; this.rules = [ /^(?:\s+|#[^\u000a\u000d]*|\/\*(?:[^*]|\*(?:[^/]|\\\/))*\*\/)/, /^(?:appinfo[\u0020\u000A\u0009]+:)/, /^(?:"(?:[^\u0022\u005C\u000A\u000D]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*"[\u0020\u000A\u0009]*:)/, /^(?:[Ff][Oo][Cc][Uu][Ss])/, /^(?:[Ss][Tt][Aa][Rr][Tt])/, /^(?:@[Ss][Tt][Aa][Rr][Tt])/, /^(?:[Ss][Pp][Aa][Rr][Qq][Ll])/, /^(?:@(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|:|[0-9]|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.|:|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))*)/, /^(?:@(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:)/, /^(?:@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/, /^(?:(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|:|[0-9]|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.|:|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))*)/, /^(?:appinfo:)/, /^(?:(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:)/, /^(?:[+-]?(?:[0-9]+\.[0-9]*[Ee][+-]?[0-9]+|\.?[0-9]+[Ee][+-]?[0-9]+))/, /^(?:[+-]?[0-9]*\.[0-9]+)/, /^(?:[+-]?[0-9]+)/, /^(?:<(?:[^\u0000-\u0020<>\"{}|^`\\]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*>)/, /^(?:_:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|[0-9])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)/, /^(?:'''(?:(?:'|'')?(?:[^\'\\]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*''')/, /^(?:"""(?:(?:"|"")?(?:[^\"\\]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*""")/, /^(?:'(?:[^\u0027\u005c\u000a\u000d]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*')/, /^(?:"(?:[^\u0022\u005c\u000a\u000d]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*")/, /^(?:a\b)/, /^(?:,)/, /^(?:\{)/, /^(?:\})/, /^(?:@)/, /^(?:!)/, /^(?:\?)/, /^(?:\/)/, /^(?:\$)/, /^(?:\[)/, /^(?:\])/, /^(?:\^\^)/, /^(?:_\b)/, /^(?:true\b)/, /^(?:false\b)/, /^(?:null\b)/, /^(?:$)/, /^(?:[a-zA-Z0-9_-]+)/, /^(?:.)/ ]; this.conditions = {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"inclusive":true}}; } performAction (yy, yy_, $avoiding_name_collisions, YY_START) { let YYSTATE = YY_START; switch ($avoiding_name_collisions) { case 0:/**/ break; case 1:return 47; break; case 2:return 62; break; case 3:return 34; break; case 4:return 29; break; case 5:return 19; break; case 6:return 25; break; case 7:return 21; break; case 8:return 20; break; case 9:return 74; break; case 10:return 81; break; case 11:return 46; break; case 12:return 82; break; case 13:return 55; break; case 14:return 54; break; case 15:return 53; break; case 16:return 80; break; case 17:return 31; break; case 18:return 77; break; case 19:return 78; break; case 20:return 76; break; case 21:return 56; break; case 22:return 79; break; case 23:return 9; break; case 24:return 33; break; case 25:return 37; break; case 26:return 16; break; case 27:return 40; break; case 28:return 41; break; case 29:return 42; break; case 30:return 43; break; case 31:return 63; break; case 32:return 65; break; case 33:return 75; break; case 34:return 39; break; case 35:return 50; break; case 36:return 48; break; case 37:return 49; break; case 38:return 4; break; case 39:return 'unexpected word "'+yy_.yytext+'"'; break; case 40:return 'invalid character '+yy_.yytext; break; } } } // Export module Object.defineProperty(exports, "__esModule", { value: true }); exports.ShapeMapJisonLexer = ShapeMapJisonLexer;