diff --git a/docs/rsdl/rapid-rsdl-abnf.md b/docs/rsdl/rapid-rsdl-abnf.md index 4123ba86..bec69a99 100644 --- a/docs/rsdl/rapid-rsdl-abnf.md +++ b/docs/rsdl/rapid-rsdl-abnf.md @@ -161,61 +161,29 @@ collectionNavigationCapabilities = "{" OWS [ collectionNavigationCapability *( s ```ABNF paths = %s"paths" OWS "{" *( OWS "/" path ) OWS "}" -path = serviceOperationSegment [ ( RWS serviceOperationCapabilities ) / ( *( "/" interimSegment ) "/" lastSegment ) ] - / identifier [ "/" castSegment ] [ ( RWS collectionNavPathCapabilities ) / ( "/" keySegment [ ( RWS singleNavPathCapabilities / ( *( "/" interimSegment ) "/" lastSegment ) ) ] ) ] - / identifier [ "/" castSegment ] [ ( RWS singleNavPathCapabilities ) / ( *( "/" interimSegment ) "/" lastSegment ) ] - -interimSegment = collectionNavSegment "/" keySegment - / serviceOperationSegment - / castSegment - / singleValuedSegment - / singleNavSegment - -lastSegment = serviceOperationSegment [ RWS serviceOperationCapabilities ] - / singleValuedSegment [ "/" castSegment ] [ RWS singlePathCapabilities ] - / collectionValuedSegment [ "/" castSegment ] [ RWS collectionPathCapabilities ] - / singleNavSegment [ "/" castSegment ] [ RWS singleNavPathCapabilities ] - / collectionNavSegment [ "/" castSegment ] [ RWS ( collectionNavPathCapabilities / "/" keySegment RWS singleNavPathCapabilities )] +path = propertySegment "/" keySegment [ pathSegment / ( RWS singleNavPathCapabilities ) ] + / serviceOperationSegment "/" keySegment [ pathSegment / ( RWS singleNavPathCapabilities ) ] + / serviceOperationSegment [ pathSegment / ( RWS capabilities ) ] + / castSegment [ pathSegment / collectionPathCapabilities / ( RWS collectionNavPathCapabilities ) ] + / propertySegment [ pathSegment / ( RWS capabilities ) ] -serviceOperationSegment = identifier parameters [ "/" castSegment ] [ "/" keySegment ] - -serviceOperationCapabilities = singlePathCapabilities / collectionPathCapabilities / singleNavPathCapabilities / collectionNavPathCapabilities - -singleValuedSegment = identifier ; a single property - / singleValuedOperation - -collectionValuedSegment = identifier ; a collection-valued property - / collectionValuedOperation +propertySegment = identifier; structural or navigation property -singleNavSegment = identifier ; a single navigation property - / singleNavigationProperty - / singleNavValuedOperation +pathSegment = "/" path -collectionNavSegment = identifier ; a collection-valued navigation property - / collectionNavigationProperty - / collectionNavValuedOperation +castSegment = identifier 1*( "." identifier ) ; qualified type name -singleValuedOperation = identifier ; an operation that returns a single value - -collectionValuedOperation = identifier ; an operation that returns a collection value +keySegment = "{" keyProperty "}" -singleNavValuedOperation = identifier ; an operation that returns a single navigation value +keyProperty = identifier ; name of the key property -collectionNavValuedOperation = identifier ; an operation that returns a collection of navigation values +serviceOperationSegment = identifier parameters [ "/" castSegment ] [ "/" keySegment ] parameters = "(" OWS parameterSpecification *( "," OWS parameterSpecification ) OWS ")" parameterSpecification = identifier OWS "=" OWS "{" identifier "}" -castSegment = identifier 1*( "." identifier ) - -keySegment = "{" keyProperty "}" - -keyProperty = identifier ; name of the key property - -singleNavigationProperty = identifier ; a single valued navigation property - -collectionNavigationProperty = identifier ; a collection valued navigation property +capabilities = singlePathCapabilities / collectionPathCapabilities / singleNavPathCapabilities / collectionNavPathCapabilities ``` @@ -225,19 +193,19 @@ collectionNavigationProperty = identifier ; a collection valued navigat singlePathCapability = ("GET" / "PUT" / "PATCH" / "DELETE") [noOptions] -singlePathCapabilities = "{" [singlePathCapability *( separator singlePathCapability)] "}" +singlePathCapabilities = "{" OWS [singlePathCapability *( separator singlePathCapability) OWS] "}" collectionPathCapability = "GET" [ collectionCapabilities ] / "POST" [noOptions] -collectionPathCapabilities = "{" [ collectionPathCapability *( separator collectionPathCapability )] "}" +collectionPathCapabilities = "{" OWS [ collectionPathCapability *( separator collectionPathCapability ) OWS ] "}" singleNavPathCapability = ("GET" / "PATCH" / "PUT") [ OWS navCapabilities ] / "DELETE" noOptions -singleNavPathCapabilities = "{" [singleNavPathCapability *( separator singleNavPathCapability )] "}" +singleNavPathCapabilities = "{" OWS [singleNavPathCapability *( separator singleNavPathCapability ) OWS ] "}" collectionNavPathCapability = "GET" [ OWS collectionNavCapabilities ] / "POST" [ OWS navCapabilities ] -collectionNavPathCapabilities = "{" [ collectionNavPathCapability *( separator collectionNavPathCapability )] "}" +collectionNavPathCapabilities = "{" OWS [ collectionNavPathCapability *( separator collectionNavPathCapability ) OWS ] "}" ``` @@ -257,9 +225,9 @@ navCapability = "expand" [ OWS "(" OWS [ expandProperty *( OWS "," OWS exp navCapabilities = "{" OWS [ navCapability OWS ] "}" -expandProperty = star / - [ castSegment "/" ] collectionNavigationProperty [ OWS collectionNavCapabilities ] / - [ castSegment "/" ] ( singleNavigationProperty ) [ OWS navCapabilities ] +expandProperty = star / [ castSegment "/" ] navigationProperty ( [ OWS collectionNavCapabilities ] / [ OWS navCapabilities ] ) + +navigationProperty = identifier ; single or collection valued navigation property filterCapability = "filter" [ "(" [ OWS filterProperty *( "," OWS filterProperty OWS ) ] ")" ] diff --git a/tools/rsdl/abnf/lib/grammar.js b/tools/rsdl/abnf/lib/grammar.js index 545abf9c..ad37bf65 100644 --- a/tools/rsdl/abnf/lib/grammar.js +++ b/tools/rsdl/abnf/lib/grammar.js @@ -5,15 +5,15 @@ module.exports = function grammar(){ // ``` // SUMMARY - // rules = 105 + // rules = 96 // udts = 0 - // opcodes = 1000 + // opcodes = 913 // --- ABNF original opcodes - // ALT = 54 - // CAT = 205 - // REP = 125 - // RNM = 411 - // TLS = 161 + // ALT = 49 + // CAT = 182 + // REP = 111 + // RNM = 379 + // TLS = 148 // TBS = 34 // TRG = 10 // --- SABNF superset opcodes @@ -72,71 +72,62 @@ module.exports = function grammar(){ this.rules[37] = {name: 'collectionNavigationCapabilities', lower: 'collectionnavigationcapabilities', index: 37, isBkr: false}; this.rules[38] = {name: 'paths', lower: 'paths', index: 38, isBkr: false}; this.rules[39] = {name: 'path', lower: 'path', index: 39, isBkr: false}; - this.rules[40] = {name: 'interimSegment', lower: 'interimsegment', index: 40, isBkr: false}; - this.rules[41] = {name: 'lastSegment', lower: 'lastsegment', index: 41, isBkr: false}; - this.rules[42] = {name: 'serviceOperationSegment', lower: 'serviceoperationsegment', index: 42, isBkr: false}; - this.rules[43] = {name: 'serviceOperationCapabilities', lower: 'serviceoperationcapabilities', index: 43, isBkr: false}; - this.rules[44] = {name: 'singleValuedSegment', lower: 'singlevaluedsegment', index: 44, isBkr: false}; - this.rules[45] = {name: 'collectionValuedSegment', lower: 'collectionvaluedsegment', index: 45, isBkr: false}; - this.rules[46] = {name: 'singleNavSegment', lower: 'singlenavsegment', index: 46, isBkr: false}; - this.rules[47] = {name: 'collectionNavSegment', lower: 'collectionnavsegment', index: 47, isBkr: false}; - this.rules[48] = {name: 'singleValuedOperation', lower: 'singlevaluedoperation', index: 48, isBkr: false}; - this.rules[49] = {name: 'collectionValuedOperation', lower: 'collectionvaluedoperation', index: 49, isBkr: false}; - this.rules[50] = {name: 'singleNavValuedOperation', lower: 'singlenavvaluedoperation', index: 50, isBkr: false}; - this.rules[51] = {name: 'collectionNavValuedOperation', lower: 'collectionnavvaluedoperation', index: 51, isBkr: false}; - this.rules[52] = {name: 'parameters', lower: 'parameters', index: 52, isBkr: false}; - this.rules[53] = {name: 'parameterSpecification', lower: 'parameterspecification', index: 53, isBkr: false}; - this.rules[54] = {name: 'castSegment', lower: 'castsegment', index: 54, isBkr: false}; - this.rules[55] = {name: 'keySegment', lower: 'keysegment', index: 55, isBkr: false}; - this.rules[56] = {name: 'keyProperty', lower: 'keyproperty', index: 56, isBkr: false}; - this.rules[57] = {name: 'singleNavigationProperty', lower: 'singlenavigationproperty', index: 57, isBkr: false}; - this.rules[58] = {name: 'collectionNavigationProperty', lower: 'collectionnavigationproperty', index: 58, isBkr: false}; - this.rules[59] = {name: 'singlePathCapability', lower: 'singlepathcapability', index: 59, isBkr: false}; - this.rules[60] = {name: 'singlePathCapabilities', lower: 'singlepathcapabilities', index: 60, isBkr: false}; - this.rules[61] = {name: 'collectionPathCapability', lower: 'collectionpathcapability', index: 61, isBkr: false}; - this.rules[62] = {name: 'collectionPathCapabilities', lower: 'collectionpathcapabilities', index: 62, isBkr: false}; - this.rules[63] = {name: 'singleNavPathCapability', lower: 'singlenavpathcapability', index: 63, isBkr: false}; - this.rules[64] = {name: 'singleNavPathCapabilities', lower: 'singlenavpathcapabilities', index: 64, isBkr: false}; - this.rules[65] = {name: 'collectionNavPathCapability', lower: 'collectionnavpathcapability', index: 65, isBkr: false}; - this.rules[66] = {name: 'collectionNavPathCapabilities', lower: 'collectionnavpathcapabilities', index: 66, isBkr: false}; - this.rules[67] = {name: 'collectionCapability', lower: 'collectioncapability', index: 67, isBkr: false}; - this.rules[68] = {name: 'collectionCapabilities', lower: 'collectioncapabilities', index: 68, isBkr: false}; - this.rules[69] = {name: 'collectionNavCapability', lower: 'collectionnavcapability', index: 69, isBkr: false}; - this.rules[70] = {name: 'collectionNavCapabilities', lower: 'collectionnavcapabilities', index: 70, isBkr: false}; - this.rules[71] = {name: 'navCapability', lower: 'navcapability', index: 71, isBkr: false}; - this.rules[72] = {name: 'navCapabilities', lower: 'navcapabilities', index: 72, isBkr: false}; - this.rules[73] = {name: 'expandProperty', lower: 'expandproperty', index: 73, isBkr: false}; - this.rules[74] = {name: 'filterCapability', lower: 'filtercapability', index: 74, isBkr: false}; - this.rules[75] = {name: 'filterProperty', lower: 'filterproperty', index: 75, isBkr: false}; - this.rules[76] = {name: 'allProperties', lower: 'allproperties', index: 76, isBkr: false}; - this.rules[77] = {name: 'filterOptions', lower: 'filteroptions', index: 77, isBkr: false}; - this.rules[78] = {name: 'filterOperations', lower: 'filteroperations', index: 78, isBkr: false}; - this.rules[79] = {name: 'orderByCapability', lower: 'orderbycapability', index: 79, isBkr: false}; - this.rules[80] = {name: 'orderByProperties', lower: 'orderbyproperties', index: 80, isBkr: false}; - this.rules[81] = {name: 'orderByProperty', lower: 'orderbyproperty', index: 81, isBkr: false}; - this.rules[82] = {name: 'orderByDirection', lower: 'orderbydirection', index: 82, isBkr: false}; - this.rules[83] = {name: 'ascOrDesc', lower: 'ascordesc', index: 83, isBkr: false}; - this.rules[84] = {name: 'noOptions', lower: 'nooptions', index: 84, isBkr: false}; - this.rules[85] = {name: 'qualifiedName', lower: 'qualifiedname', index: 85, isBkr: false}; - this.rules[86] = {name: 'identifier', lower: 'identifier', index: 86, isBkr: false}; - this.rules[87] = {name: 'identInitial', lower: 'identinitial', index: 87, isBkr: false}; - this.rules[88] = {name: 'identSubsequent', lower: 'identsubsequent', index: 88, isBkr: false}; - this.rules[89] = {name: 'separator', lower: 'separator', index: 89, isBkr: false}; - this.rules[90] = {name: 'star', lower: 'star', index: 90, isBkr: false}; - this.rules[91] = {name: 'number', lower: 'number', index: 91, isBkr: false}; - this.rules[92] = {name: 'integer', lower: 'integer', index: 92, isBkr: false}; - this.rules[93] = {name: 'precision', lower: 'precision', index: 93, isBkr: false}; - this.rules[94] = {name: 'scale', lower: 'scale', index: 94, isBkr: false}; - this.rules[95] = {name: 'maxLength', lower: 'maxlength', index: 95, isBkr: false}; - this.rules[96] = {name: 'DOC-COMMENT', lower: 'doc-comment', index: 96, isBkr: false}; - this.rules[97] = {name: 'ALPHA', lower: 'alpha', index: 97, isBkr: false}; - this.rules[98] = {name: 'DIGIT', lower: 'digit', index: 98, isBkr: false}; - this.rules[99] = {name: 'CHAR', lower: 'char', index: 99, isBkr: false}; - this.rules[100] = {name: 'DQUOTE', lower: 'dquote', index: 100, isBkr: false}; - this.rules[101] = {name: 'ESCAPE', lower: 'escape', index: 101, isBkr: false}; - this.rules[102] = {name: 'OWS', lower: 'ows', index: 102, isBkr: false}; - this.rules[103] = {name: 'RWS', lower: 'rws', index: 103, isBkr: false}; - this.rules[104] = {name: 'WS', lower: 'ws', index: 104, isBkr: false}; + this.rules[40] = {name: 'propertySegment', lower: 'propertysegment', index: 40, isBkr: false}; + this.rules[41] = {name: 'pathSegment', lower: 'pathsegment', index: 41, isBkr: false}; + this.rules[42] = {name: 'castSegment', lower: 'castsegment', index: 42, isBkr: false}; + this.rules[43] = {name: 'keySegment', lower: 'keysegment', index: 43, isBkr: false}; + this.rules[44] = {name: 'keyProperty', lower: 'keyproperty', index: 44, isBkr: false}; + this.rules[45] = {name: 'serviceOperationSegment', lower: 'serviceoperationsegment', index: 45, isBkr: false}; + this.rules[46] = {name: 'parameters', lower: 'parameters', index: 46, isBkr: false}; + this.rules[47] = {name: 'parameterSpecification', lower: 'parameterspecification', index: 47, isBkr: false}; + this.rules[48] = {name: 'capabilities', lower: 'capabilities', index: 48, isBkr: false}; + this.rules[49] = {name: 'singlePathCapability', lower: 'singlepathcapability', index: 49, isBkr: false}; + this.rules[50] = {name: 'singlePathCapabilities', lower: 'singlepathcapabilities', index: 50, isBkr: false}; + this.rules[51] = {name: 'collectionPathCapability', lower: 'collectionpathcapability', index: 51, isBkr: false}; + this.rules[52] = {name: 'collectionPathCapabilities', lower: 'collectionpathcapabilities', index: 52, isBkr: false}; + this.rules[53] = {name: 'singleNavPathCapability', lower: 'singlenavpathcapability', index: 53, isBkr: false}; + this.rules[54] = {name: 'singleNavPathCapabilities', lower: 'singlenavpathcapabilities', index: 54, isBkr: false}; + this.rules[55] = {name: 'collectionNavPathCapability', lower: 'collectionnavpathcapability', index: 55, isBkr: false}; + this.rules[56] = {name: 'collectionNavPathCapabilities', lower: 'collectionnavpathcapabilities', index: 56, isBkr: false}; + this.rules[57] = {name: 'collectionCapability', lower: 'collectioncapability', index: 57, isBkr: false}; + this.rules[58] = {name: 'collectionCapabilities', lower: 'collectioncapabilities', index: 58, isBkr: false}; + this.rules[59] = {name: 'collectionNavCapability', lower: 'collectionnavcapability', index: 59, isBkr: false}; + this.rules[60] = {name: 'collectionNavCapabilities', lower: 'collectionnavcapabilities', index: 60, isBkr: false}; + this.rules[61] = {name: 'navCapability', lower: 'navcapability', index: 61, isBkr: false}; + this.rules[62] = {name: 'navCapabilities', lower: 'navcapabilities', index: 62, isBkr: false}; + this.rules[63] = {name: 'expandProperty', lower: 'expandproperty', index: 63, isBkr: false}; + this.rules[64] = {name: 'navigationProperty', lower: 'navigationproperty', index: 64, isBkr: false}; + this.rules[65] = {name: 'filterCapability', lower: 'filtercapability', index: 65, isBkr: false}; + this.rules[66] = {name: 'filterProperty', lower: 'filterproperty', index: 66, isBkr: false}; + this.rules[67] = {name: 'allProperties', lower: 'allproperties', index: 67, isBkr: false}; + this.rules[68] = {name: 'filterOptions', lower: 'filteroptions', index: 68, isBkr: false}; + this.rules[69] = {name: 'filterOperations', lower: 'filteroperations', index: 69, isBkr: false}; + this.rules[70] = {name: 'orderByCapability', lower: 'orderbycapability', index: 70, isBkr: false}; + this.rules[71] = {name: 'orderByProperties', lower: 'orderbyproperties', index: 71, isBkr: false}; + this.rules[72] = {name: 'orderByProperty', lower: 'orderbyproperty', index: 72, isBkr: false}; + this.rules[73] = {name: 'orderByDirection', lower: 'orderbydirection', index: 73, isBkr: false}; + this.rules[74] = {name: 'ascOrDesc', lower: 'ascordesc', index: 74, isBkr: false}; + this.rules[75] = {name: 'noOptions', lower: 'nooptions', index: 75, isBkr: false}; + this.rules[76] = {name: 'qualifiedName', lower: 'qualifiedname', index: 76, isBkr: false}; + this.rules[77] = {name: 'identifier', lower: 'identifier', index: 77, isBkr: false}; + this.rules[78] = {name: 'identInitial', lower: 'identinitial', index: 78, isBkr: false}; + this.rules[79] = {name: 'identSubsequent', lower: 'identsubsequent', index: 79, isBkr: false}; + this.rules[80] = {name: 'separator', lower: 'separator', index: 80, isBkr: false}; + this.rules[81] = {name: 'star', lower: 'star', index: 81, isBkr: false}; + this.rules[82] = {name: 'number', lower: 'number', index: 82, isBkr: false}; + this.rules[83] = {name: 'integer', lower: 'integer', index: 83, isBkr: false}; + this.rules[84] = {name: 'precision', lower: 'precision', index: 84, isBkr: false}; + this.rules[85] = {name: 'scale', lower: 'scale', index: 85, isBkr: false}; + this.rules[86] = {name: 'maxLength', lower: 'maxlength', index: 86, isBkr: false}; + this.rules[87] = {name: 'DOC-COMMENT', lower: 'doc-comment', index: 87, isBkr: false}; + this.rules[88] = {name: 'ALPHA', lower: 'alpha', index: 88, isBkr: false}; + this.rules[89] = {name: 'DIGIT', lower: 'digit', index: 89, isBkr: false}; + this.rules[90] = {name: 'CHAR', lower: 'char', index: 90, isBkr: false}; + this.rules[91] = {name: 'DQUOTE', lower: 'dquote', index: 91, isBkr: false}; + this.rules[92] = {name: 'ESCAPE', lower: 'escape', index: 92, isBkr: false}; + this.rules[93] = {name: 'OWS', lower: 'ows', index: 93, isBkr: false}; + this.rules[94] = {name: 'RWS', lower: 'rws', index: 94, isBkr: false}; + this.rules[95] = {name: 'WS', lower: 'ws', index: 95, isBkr: false}; /* UDTS */ this.udts = []; @@ -145,11 +136,11 @@ module.exports = function grammar(){ /* model */ this.rules[0].opcodes = []; this.rules[0].opcodes[0] = {type: 2, children: [1,2,6,8,15,19,23]};// CAT - this.rules[0].opcodes[1] = {type: 4, index: 102};// RNM(OWS) + this.rules[0].opcodes[1] = {type: 4, index: 93};// RNM(OWS) this.rules[0].opcodes[2] = {type: 3, min: 0, max: 1};// REP this.rules[0].opcodes[3] = {type: 2, children: [4,5]};// CAT this.rules[0].opcodes[4] = {type: 4, index: 1};// RNM(namespace) - this.rules[0].opcodes[5] = {type: 4, index: 103};// RNM(RWS) + this.rules[0].opcodes[5] = {type: 4, index: 94};// RNM(RWS) this.rules[0].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP this.rules[0].opcodes[7] = {type: 4, index: 2};// RNM(include) this.rules[0].opcodes[8] = {type: 3, min: 0, max: 1};// REP @@ -157,39 +148,39 @@ module.exports = function grammar(){ this.rules[0].opcodes[10] = {type: 4, index: 3};// RNM(modelElement) this.rules[0].opcodes[11] = {type: 3, min: 0, max: Infinity};// REP this.rules[0].opcodes[12] = {type: 2, children: [13,14]};// CAT - this.rules[0].opcodes[13] = {type: 4, index: 103};// RNM(RWS) + this.rules[0].opcodes[13] = {type: 4, index: 94};// RNM(RWS) this.rules[0].opcodes[14] = {type: 4, index: 3};// RNM(modelElement) this.rules[0].opcodes[15] = {type: 3, min: 0, max: 1};// REP this.rules[0].opcodes[16] = {type: 2, children: [17,18]};// CAT - this.rules[0].opcodes[17] = {type: 4, index: 102};// RNM(OWS) + this.rules[0].opcodes[17] = {type: 4, index: 93};// RNM(OWS) this.rules[0].opcodes[18] = {type: 4, index: 22};// RNM(service) this.rules[0].opcodes[19] = {type: 3, min: 0, max: 1};// REP this.rules[0].opcodes[20] = {type: 2, children: [21,22]};// CAT - this.rules[0].opcodes[21] = {type: 4, index: 102};// RNM(OWS) + this.rules[0].opcodes[21] = {type: 4, index: 93};// RNM(OWS) this.rules[0].opcodes[22] = {type: 4, index: 38};// RNM(paths) - this.rules[0].opcodes[23] = {type: 4, index: 102};// RNM(OWS) + this.rules[0].opcodes[23] = {type: 4, index: 93};// RNM(OWS) /* namespace */ this.rules[1].opcodes = []; this.rules[1].opcodes[0] = {type: 2, children: [1,2,3]};// CAT this.rules[1].opcodes[1] = {type: 6, string: [110,97,109,101,115,112,97,99,101]};// TBS - this.rules[1].opcodes[2] = {type: 4, index: 103};// RNM(RWS) - this.rules[1].opcodes[3] = {type: 4, index: 85};// RNM(qualifiedName) + this.rules[1].opcodes[2] = {type: 4, index: 94};// RNM(RWS) + this.rules[1].opcodes[3] = {type: 4, index: 76};// RNM(qualifiedName) /* include */ this.rules[2].opcodes = []; this.rules[2].opcodes[0] = {type: 2, children: [1,2,3,4,6,7,8,9,10,11]};// CAT this.rules[2].opcodes[1] = {type: 6, string: [105,110,99,108,117,100,101]};// TBS - this.rules[2].opcodes[2] = {type: 4, index: 103};// RNM(RWS) - this.rules[2].opcodes[3] = {type: 4, index: 100};// RNM(DQUOTE) + this.rules[2].opcodes[2] = {type: 4, index: 94};// RNM(RWS) + this.rules[2].opcodes[3] = {type: 4, index: 91};// RNM(DQUOTE) this.rules[2].opcodes[4] = {type: 3, min: 1, max: Infinity};// REP - this.rules[2].opcodes[5] = {type: 4, index: 99};// RNM(CHAR) - this.rules[2].opcodes[6] = {type: 4, index: 100};// RNM(DQUOTE) - this.rules[2].opcodes[7] = {type: 4, index: 103};// RNM(RWS) + this.rules[2].opcodes[5] = {type: 4, index: 90};// RNM(CHAR) + this.rules[2].opcodes[6] = {type: 4, index: 91};// RNM(DQUOTE) + this.rules[2].opcodes[7] = {type: 4, index: 94};// RNM(RWS) this.rules[2].opcodes[8] = {type: 6, string: [97,115]};// TBS - this.rules[2].opcodes[9] = {type: 4, index: 103};// RNM(RWS) - this.rules[2].opcodes[10] = {type: 4, index: 86};// RNM(identifier) - this.rules[2].opcodes[11] = {type: 4, index: 103};// RNM(RWS) + this.rules[2].opcodes[9] = {type: 4, index: 94};// RNM(RWS) + this.rules[2].opcodes[10] = {type: 4, index: 77};// RNM(identifier) + this.rules[2].opcodes[11] = {type: 4, index: 94};// RNM(RWS) /* modelElement */ this.rules[3].opcodes = []; @@ -205,22 +196,22 @@ module.exports = function grammar(){ this.rules[4].opcodes[2] = {type: 3, min: 0, max: 1};// REP this.rules[4].opcodes[3] = {type: 2, children: [4,5]};// CAT this.rules[4].opcodes[4] = {type: 6, string: [97,98,115,116,114,97,99,116]};// TBS - this.rules[4].opcodes[5] = {type: 4, index: 103};// RNM(RWS) + this.rules[4].opcodes[5] = {type: 4, index: 94};// RNM(RWS) this.rules[4].opcodes[6] = {type: 6, string: [116,121,112,101]};// TBS - this.rules[4].opcodes[7] = {type: 4, index: 103};// RNM(RWS) - this.rules[4].opcodes[8] = {type: 4, index: 86};// RNM(identifier) + this.rules[4].opcodes[7] = {type: 4, index: 94};// RNM(RWS) + this.rules[4].opcodes[8] = {type: 4, index: 77};// RNM(identifier) this.rules[4].opcodes[9] = {type: 3, min: 0, max: 1};// REP this.rules[4].opcodes[10] = {type: 2, children: [11,12,13]};// CAT this.rules[4].opcodes[11] = {type: 6, string: [101,120,116,101,110,100,115]};// TBS - this.rules[4].opcodes[12] = {type: 4, index: 103};// RNM(RWS) - this.rules[4].opcodes[13] = {type: 4, index: 85};// RNM(qualifiedName) - this.rules[4].opcodes[14] = {type: 4, index: 102};// RNM(OWS) + this.rules[4].opcodes[12] = {type: 4, index: 94};// RNM(RWS) + this.rules[4].opcodes[13] = {type: 4, index: 76};// RNM(qualifiedName) + this.rules[4].opcodes[14] = {type: 4, index: 93};// RNM(OWS) this.rules[4].opcodes[15] = {type: 7, string: [123]};// TLS this.rules[4].opcodes[16] = {type: 3, min: 0, max: Infinity};// REP this.rules[4].opcodes[17] = {type: 2, children: [18,19]};// CAT - this.rules[4].opcodes[18] = {type: 4, index: 102};// RNM(OWS) + this.rules[4].opcodes[18] = {type: 4, index: 93};// RNM(OWS) this.rules[4].opcodes[19] = {type: 4, index: 5};// RNM(structuredTypeMember) - this.rules[4].opcodes[20] = {type: 4, index: 102};// RNM(OWS) + this.rules[4].opcodes[20] = {type: 4, index: 93};// RNM(OWS) this.rules[4].opcodes[21] = {type: 7, string: [125]};// TLS /* structuredTypeMember */ @@ -236,7 +227,7 @@ module.exports = function grammar(){ this.rules[6].opcodes[2] = {type: 4, index: 7};// RNM(singlePropertyDefinition) this.rules[6].opcodes[3] = {type: 3, min: 0, max: 1};// REP this.rules[6].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[6].opcodes[5] = {type: 4, index: 102};// RNM(OWS) + this.rules[6].opcodes[5] = {type: 4, index: 93};// RNM(OWS) this.rules[6].opcodes[6] = {type: 1, children: [7,8]};// ALT this.rules[6].opcodes[7] = {type: 4, index: 33};// RNM(primitivePropertyCapabilities) this.rules[6].opcodes[8] = {type: 4, index: 35};// RNM(singleNavigationCapabilities) @@ -244,9 +235,9 @@ module.exports = function grammar(){ this.rules[6].opcodes[10] = {type: 4, index: 8};// RNM(collectionPropertyDefinition) this.rules[6].opcodes[11] = {type: 3, min: 0, max: 1};// REP this.rules[6].opcodes[12] = {type: 2, children: [13,14]};// CAT - this.rules[6].opcodes[13] = {type: 4, index: 102};// RNM(OWS) + this.rules[6].opcodes[13] = {type: 4, index: 93};// RNM(OWS) this.rules[6].opcodes[14] = {type: 1, children: [15,16]};// ALT - this.rules[6].opcodes[15] = {type: 4, index: 68};// RNM(collectionCapabilities) + this.rules[6].opcodes[15] = {type: 4, index: 58};// RNM(collectionCapabilities) this.rules[6].opcodes[16] = {type: 4, index: 37};// RNM(collectionNavigationCapabilities) /* singlePropertyDefinition */ @@ -256,11 +247,11 @@ module.exports = function grammar(){ this.rules[7].opcodes[2] = {type: 3, min: 0, max: 1};// REP this.rules[7].opcodes[3] = {type: 2, children: [4,5]};// CAT this.rules[7].opcodes[4] = {type: 4, index: 9};// RNM(propertyModifier) - this.rules[7].opcodes[5] = {type: 4, index: 103};// RNM(RWS) - this.rules[7].opcodes[6] = {type: 4, index: 86};// RNM(identifier) - this.rules[7].opcodes[7] = {type: 4, index: 102};// RNM(OWS) + this.rules[7].opcodes[5] = {type: 4, index: 94};// RNM(RWS) + this.rules[7].opcodes[6] = {type: 4, index: 77};// RNM(identifier) + this.rules[7].opcodes[7] = {type: 4, index: 93};// RNM(OWS) this.rules[7].opcodes[8] = {type: 7, string: [58]};// TLS - this.rules[7].opcodes[9] = {type: 4, index: 102};// RNM(OWS) + this.rules[7].opcodes[9] = {type: 4, index: 93};// RNM(OWS) this.rules[7].opcodes[10] = {type: 4, index: 10};// RNM(singleTypeReference) /* collectionPropertyDefinition */ @@ -270,11 +261,11 @@ module.exports = function grammar(){ this.rules[8].opcodes[2] = {type: 3, min: 0, max: 1};// REP this.rules[8].opcodes[3] = {type: 2, children: [4,5]};// CAT this.rules[8].opcodes[4] = {type: 4, index: 9};// RNM(propertyModifier) - this.rules[8].opcodes[5] = {type: 4, index: 103};// RNM(RWS) - this.rules[8].opcodes[6] = {type: 4, index: 86};// RNM(identifier) - this.rules[8].opcodes[7] = {type: 4, index: 102};// RNM(OWS) + this.rules[8].opcodes[5] = {type: 4, index: 94};// RNM(RWS) + this.rules[8].opcodes[6] = {type: 4, index: 77};// RNM(identifier) + this.rules[8].opcodes[7] = {type: 4, index: 93};// RNM(OWS) this.rules[8].opcodes[8] = {type: 7, string: [58]};// TLS - this.rules[8].opcodes[9] = {type: 4, index: 102};// RNM(OWS) + this.rules[8].opcodes[9] = {type: 4, index: 93};// RNM(OWS) this.rules[8].opcodes[10] = {type: 4, index: 11};// RNM(collectionTypeReference) /* propertyModifier */ @@ -308,7 +299,7 @@ module.exports = function grammar(){ this.rules[13].opcodes[0] = {type: 1, children: [1,2,3]};// ALT this.rules[13].opcodes[1] = {type: 4, index: 14};// RNM(builtInType) this.rules[13].opcodes[2] = {type: 4, index: 15};// RNM(edmType) - this.rules[13].opcodes[3] = {type: 4, index: 85};// RNM(qualifiedName) + this.rules[13].opcodes[3] = {type: 4, index: 76};// RNM(qualifiedName) /* builtInType */ this.rules[14].opcodes = []; @@ -321,9 +312,9 @@ module.exports = function grammar(){ this.rules[14].opcodes[6] = {type: 3, min: 0, max: 1};// REP this.rules[14].opcodes[7] = {type: 2, children: [8,9,10,11,12]};// CAT this.rules[14].opcodes[8] = {type: 7, string: [40]};// TLS - this.rules[14].opcodes[9] = {type: 4, index: 93};// RNM(precision) + this.rules[14].opcodes[9] = {type: 4, index: 84};// RNM(precision) this.rules[14].opcodes[10] = {type: 7, string: [44]};// TLS - this.rules[14].opcodes[11] = {type: 4, index: 94};// RNM(scale) + this.rules[14].opcodes[11] = {type: 4, index: 85};// RNM(scale) this.rules[14].opcodes[12] = {type: 7, string: [41]};// TLS this.rules[14].opcodes[13] = {type: 6, string: [68,111,117,98,108,101]};// TBS this.rules[14].opcodes[14] = {type: 6, string: [68,117,114,97,116,105,111,110]};// TBS @@ -333,7 +324,7 @@ module.exports = function grammar(){ this.rules[14].opcodes[18] = {type: 3, min: 0, max: 1};// REP this.rules[14].opcodes[19] = {type: 2, children: [20,21,22]};// CAT this.rules[14].opcodes[20] = {type: 7, string: [40]};// TLS - this.rules[14].opcodes[21] = {type: 4, index: 95};// RNM(maxLength) + this.rules[14].opcodes[21] = {type: 4, index: 86};// RNM(maxLength) this.rules[14].opcodes[22] = {type: 7, string: [41]};// TLS this.rules[14].opcodes[23] = {type: 6, string: [84,105,109,101,79,102,68,97,121]};// TBS @@ -342,40 +333,40 @@ module.exports = function grammar(){ this.rules[15].opcodes[0] = {type: 2, children: [1,2,3]};// CAT this.rules[15].opcodes[1] = {type: 6, string: [69,100,109]};// TBS this.rules[15].opcodes[2] = {type: 7, string: [46]};// TLS - this.rules[15].opcodes[3] = {type: 4, index: 86};// RNM(identifier) + this.rules[15].opcodes[3] = {type: 4, index: 77};// RNM(identifier) /* operation */ this.rules[16].opcodes = []; this.rules[16].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,18,19,26]};// CAT this.rules[16].opcodes[1] = {type: 4, index: 27};// RNM(annotations) this.rules[16].opcodes[2] = {type: 4, index: 17};// RNM(operationKind) - this.rules[16].opcodes[3] = {type: 4, index: 103};// RNM(RWS) - this.rules[16].opcodes[4] = {type: 4, index: 86};// RNM(identifier) - this.rules[16].opcodes[5] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[3] = {type: 4, index: 94};// RNM(RWS) + this.rules[16].opcodes[4] = {type: 4, index: 77};// RNM(identifier) + this.rules[16].opcodes[5] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[6] = {type: 7, string: [40]};// TLS - this.rules[16].opcodes[7] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[7] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[8] = {type: 3, min: 0, max: 1};// REP this.rules[16].opcodes[9] = {type: 2, children: [10,11,17]};// CAT this.rules[16].opcodes[10] = {type: 4, index: 18};// RNM(parameter) this.rules[16].opcodes[11] = {type: 3, min: 0, max: Infinity};// REP this.rules[16].opcodes[12] = {type: 2, children: [13,14,15,16]};// CAT - this.rules[16].opcodes[13] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[13] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[14] = {type: 7, string: [44]};// TLS - this.rules[16].opcodes[15] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[15] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[16] = {type: 4, index: 18};// RNM(parameter) - this.rules[16].opcodes[17] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[17] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[18] = {type: 7, string: [41]};// TLS this.rules[16].opcodes[19] = {type: 3, min: 0, max: 1};// REP this.rules[16].opcodes[20] = {type: 2, children: [21,22,23,24,25]};// CAT - this.rules[16].opcodes[21] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[21] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[22] = {type: 7, string: [58]};// TLS - this.rules[16].opcodes[23] = {type: 4, index: 102};// RNM(OWS) + this.rules[16].opcodes[23] = {type: 4, index: 93};// RNM(OWS) this.rules[16].opcodes[24] = {type: 4, index: 27};// RNM(annotations) this.rules[16].opcodes[25] = {type: 4, index: 12};// RNM(typeReference) this.rules[16].opcodes[26] = {type: 3, min: 0, max: 1};// REP this.rules[16].opcodes[27] = {type: 2, children: [28,29]};// CAT - this.rules[16].opcodes[28] = {type: 4, index: 89};// RNM(separator) - this.rules[16].opcodes[29] = {type: 4, index: 70};// RNM(collectionNavCapabilities) + this.rules[16].opcodes[28] = {type: 4, index: 80};// RNM(separator) + this.rules[16].opcodes[29] = {type: 4, index: 60};// RNM(collectionNavCapabilities) /* operationKind */ this.rules[17].opcodes = []; @@ -387,10 +378,10 @@ module.exports = function grammar(){ this.rules[18].opcodes = []; this.rules[18].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT this.rules[18].opcodes[1] = {type: 4, index: 27};// RNM(annotations) - this.rules[18].opcodes[2] = {type: 4, index: 86};// RNM(identifier) - this.rules[18].opcodes[3] = {type: 4, index: 102};// RNM(OWS) + this.rules[18].opcodes[2] = {type: 4, index: 77};// RNM(identifier) + this.rules[18].opcodes[3] = {type: 4, index: 93};// RNM(OWS) this.rules[18].opcodes[4] = {type: 7, string: [58]};// TLS - this.rules[18].opcodes[5] = {type: 4, index: 102};// RNM(OWS) + this.rules[18].opcodes[5] = {type: 4, index: 93};// RNM(OWS) this.rules[18].opcodes[6] = {type: 4, index: 12};// RNM(typeReference) /* enumType */ @@ -400,11 +391,11 @@ module.exports = function grammar(){ this.rules[19].opcodes[2] = {type: 1, children: [3,4]};// ALT this.rules[19].opcodes[3] = {type: 6, string: [101,110,117,109]};// TBS this.rules[19].opcodes[4] = {type: 6, string: [102,108,97,103,115]};// TBS - this.rules[19].opcodes[5] = {type: 4, index: 103};// RNM(RWS) - this.rules[19].opcodes[6] = {type: 4, index: 86};// RNM(identifier) - this.rules[19].opcodes[7] = {type: 4, index: 102};// RNM(OWS) + this.rules[19].opcodes[5] = {type: 4, index: 94};// RNM(RWS) + this.rules[19].opcodes[6] = {type: 4, index: 77};// RNM(identifier) + this.rules[19].opcodes[7] = {type: 4, index: 93};// RNM(OWS) this.rules[19].opcodes[8] = {type: 7, string: [123]};// TLS - this.rules[19].opcodes[9] = {type: 4, index: 102};// RNM(OWS) + this.rules[19].opcodes[9] = {type: 4, index: 93};// RNM(OWS) this.rules[19].opcodes[10] = {type: 3, min: 1, max: Infinity};// REP this.rules[19].opcodes[11] = {type: 4, index: 20};// RNM(enumMember) this.rules[19].opcodes[12] = {type: 7, string: [125]};// TLS @@ -413,19 +404,19 @@ module.exports = function grammar(){ this.rules[20].opcodes = []; this.rules[20].opcodes[0] = {type: 2, children: [1,2,3]};// CAT this.rules[20].opcodes[1] = {type: 4, index: 27};// RNM(annotations) - this.rules[20].opcodes[2] = {type: 4, index: 86};// RNM(identifier) - this.rules[20].opcodes[3] = {type: 4, index: 102};// RNM(OWS) + this.rules[20].opcodes[2] = {type: 4, index: 77};// RNM(identifier) + this.rules[20].opcodes[3] = {type: 4, index: 93};// RNM(OWS) /* typeDefinition */ this.rules[21].opcodes = []; this.rules[21].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8]};// CAT this.rules[21].opcodes[1] = {type: 4, index: 27};// RNM(annotations) this.rules[21].opcodes[2] = {type: 6, string: [116,121,112,101,100,101,102]};// TBS - this.rules[21].opcodes[3] = {type: 4, index: 103};// RNM(RWS) - this.rules[21].opcodes[4] = {type: 4, index: 86};// RNM(identifier) - this.rules[21].opcodes[5] = {type: 4, index: 102};// RNM(OWS) + this.rules[21].opcodes[3] = {type: 4, index: 94};// RNM(RWS) + this.rules[21].opcodes[4] = {type: 4, index: 77};// RNM(identifier) + this.rules[21].opcodes[5] = {type: 4, index: 93};// RNM(OWS) this.rules[21].opcodes[6] = {type: 7, string: [58]};// TLS - this.rules[21].opcodes[7] = {type: 4, index: 102};// RNM(OWS) + this.rules[21].opcodes[7] = {type: 4, index: 93};// RNM(OWS) this.rules[21].opcodes[8] = {type: 1, children: [9,10]};// ALT this.rules[21].opcodes[9] = {type: 4, index: 14};// RNM(builtInType) this.rules[21].opcodes[10] = {type: 4, index: 15};// RNM(edmType) @@ -437,17 +428,17 @@ module.exports = function grammar(){ this.rules[22].opcodes[2] = {type: 6, string: [115,101,114,118,105,99,101]};// TBS this.rules[22].opcodes[3] = {type: 3, min: 0, max: 1};// REP this.rules[22].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[22].opcodes[5] = {type: 4, index: 103};// RNM(RWS) - this.rules[22].opcodes[6] = {type: 4, index: 86};// RNM(identifier) - this.rules[22].opcodes[7] = {type: 4, index: 102};// RNM(OWS) + this.rules[22].opcodes[5] = {type: 4, index: 94};// RNM(RWS) + this.rules[22].opcodes[6] = {type: 4, index: 77};// RNM(identifier) + this.rules[22].opcodes[7] = {type: 4, index: 93};// RNM(OWS) this.rules[22].opcodes[8] = {type: 7, string: [123]};// TLS - this.rules[22].opcodes[9] = {type: 4, index: 102};// RNM(OWS) + this.rules[22].opcodes[9] = {type: 4, index: 93};// RNM(OWS) this.rules[22].opcodes[10] = {type: 4, index: 23};// RNM(serviceMember) this.rules[22].opcodes[11] = {type: 3, min: 0, max: Infinity};// REP this.rules[22].opcodes[12] = {type: 2, children: [13,14]};// CAT - this.rules[22].opcodes[13] = {type: 4, index: 103};// RNM(RWS) + this.rules[22].opcodes[13] = {type: 4, index: 94};// RNM(RWS) this.rules[22].opcodes[14] = {type: 4, index: 23};// RNM(serviceMember) - this.rules[22].opcodes[15] = {type: 4, index: 102};// RNM(OWS) + this.rules[22].opcodes[15] = {type: 4, index: 93};// RNM(OWS) this.rules[22].opcodes[16] = {type: 7, string: [125]};// TLS /* serviceMember */ @@ -462,56 +453,56 @@ module.exports = function grammar(){ /* entitySet */ this.rules[24].opcodes = []; this.rules[24].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8]};// CAT - this.rules[24].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[24].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[24].opcodes[1] = {type: 4, index: 77};// RNM(identifier) + this.rules[24].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[24].opcodes[3] = {type: 7, string: [58]};// TLS - this.rules[24].opcodes[4] = {type: 4, index: 102};// RNM(OWS) + this.rules[24].opcodes[4] = {type: 4, index: 93};// RNM(OWS) this.rules[24].opcodes[5] = {type: 7, string: [91]};// TLS - this.rules[24].opcodes[6] = {type: 4, index: 85};// RNM(qualifiedName) + this.rules[24].opcodes[6] = {type: 4, index: 76};// RNM(qualifiedName) this.rules[24].opcodes[7] = {type: 7, string: [93]};// TLS this.rules[24].opcodes[8] = {type: 3, min: 0, max: 1};// REP this.rules[24].opcodes[9] = {type: 2, children: [10,11]};// CAT - this.rules[24].opcodes[10] = {type: 4, index: 102};// RNM(OWS) + this.rules[24].opcodes[10] = {type: 4, index: 93};// RNM(OWS) this.rules[24].opcodes[11] = {type: 4, index: 37};// RNM(collectionNavigationCapabilities) /* singleton */ this.rules[25].opcodes = []; this.rules[25].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT - this.rules[25].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[25].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[25].opcodes[1] = {type: 4, index: 77};// RNM(identifier) + this.rules[25].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[25].opcodes[3] = {type: 7, string: [58]};// TLS - this.rules[25].opcodes[4] = {type: 4, index: 102};// RNM(OWS) - this.rules[25].opcodes[5] = {type: 4, index: 85};// RNM(qualifiedName) + this.rules[25].opcodes[4] = {type: 4, index: 93};// RNM(OWS) + this.rules[25].opcodes[5] = {type: 4, index: 76};// RNM(qualifiedName) this.rules[25].opcodes[6] = {type: 3, min: 0, max: 1};// REP this.rules[25].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[25].opcodes[8] = {type: 4, index: 102};// RNM(OWS) + this.rules[25].opcodes[8] = {type: 4, index: 93};// RNM(OWS) this.rules[25].opcodes[9] = {type: 4, index: 35};// RNM(singleNavigationCapabilities) /* serviceOperation */ this.rules[26].opcodes = []; this.rules[26].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,17,18]};// CAT this.rules[26].opcodes[1] = {type: 4, index: 17};// RNM(operationKind) - this.rules[26].opcodes[2] = {type: 4, index: 103};// RNM(RWS) - this.rules[26].opcodes[3] = {type: 4, index: 86};// RNM(identifier) - this.rules[26].opcodes[4] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[2] = {type: 4, index: 94};// RNM(RWS) + this.rules[26].opcodes[3] = {type: 4, index: 77};// RNM(identifier) + this.rules[26].opcodes[4] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[5] = {type: 7, string: [40]};// TLS - this.rules[26].opcodes[6] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[6] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[7] = {type: 3, min: 0, max: 1};// REP this.rules[26].opcodes[8] = {type: 2, children: [9,10,16]};// CAT this.rules[26].opcodes[9] = {type: 4, index: 18};// RNM(parameter) this.rules[26].opcodes[10] = {type: 3, min: 0, max: Infinity};// REP this.rules[26].opcodes[11] = {type: 2, children: [12,13,14,15]};// CAT - this.rules[26].opcodes[12] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[12] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[13] = {type: 7, string: [44]};// TLS - this.rules[26].opcodes[14] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[14] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[15] = {type: 4, index: 18};// RNM(parameter) - this.rules[26].opcodes[16] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[16] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[17] = {type: 7, string: [41]};// TLS this.rules[26].opcodes[18] = {type: 3, min: 0, max: 1};// REP this.rules[26].opcodes[19] = {type: 2, children: [20,21,22,23,24]};// CAT - this.rules[26].opcodes[20] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[20] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[21] = {type: 7, string: [58]};// TLS - this.rules[26].opcodes[22] = {type: 4, index: 102};// RNM(OWS) + this.rules[26].opcodes[22] = {type: 4, index: 93};// RNM(OWS) this.rules[26].opcodes[23] = {type: 4, index: 27};// RNM(annotations) this.rules[26].opcodes[24] = {type: 4, index: 12};// RNM(typeReference) @@ -520,23 +511,23 @@ module.exports = function grammar(){ this.rules[27].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP this.rules[27].opcodes[1] = {type: 2, children: [2,3]};// CAT this.rules[27].opcodes[2] = {type: 4, index: 28};// RNM(annotation) - this.rules[27].opcodes[3] = {type: 4, index: 103};// RNM(RWS) + this.rules[27].opcodes[3] = {type: 4, index: 94};// RNM(RWS) /* annotation */ this.rules[28].opcodes = []; this.rules[28].opcodes[0] = {type: 1, children: [1,12]};// ALT this.rules[28].opcodes[1] = {type: 2, children: [2,3,4,8,9,10,11]};// CAT this.rules[28].opcodes[2] = {type: 7, string: [64]};// TLS - this.rules[28].opcodes[3] = {type: 4, index: 85};// RNM(qualifiedName) + this.rules[28].opcodes[3] = {type: 4, index: 76};// RNM(qualifiedName) this.rules[28].opcodes[4] = {type: 3, min: 0, max: 1};// REP this.rules[28].opcodes[5] = {type: 2, children: [6,7]};// CAT this.rules[28].opcodes[6] = {type: 7, string: [35]};// TLS - this.rules[28].opcodes[7] = {type: 4, index: 86};// RNM(identifier) - this.rules[28].opcodes[8] = {type: 4, index: 102};// RNM(OWS) + this.rules[28].opcodes[7] = {type: 4, index: 77};// RNM(identifier) + this.rules[28].opcodes[8] = {type: 4, index: 93};// RNM(OWS) this.rules[28].opcodes[9] = {type: 7, string: [58]};// TLS - this.rules[28].opcodes[10] = {type: 4, index: 102};// RNM(OWS) + this.rules[28].opcodes[10] = {type: 4, index: 93};// RNM(OWS) this.rules[28].opcodes[11] = {type: 4, index: 29};// RNM(annotationValue) - this.rules[28].opcodes[12] = {type: 4, index: 96};// RNM(DOC-COMMENT) + this.rules[28].opcodes[12] = {type: 4, index: 87};// RNM(DOC-COMMENT) /* annotationValue */ this.rules[29].opcodes = []; @@ -544,76 +535,76 @@ module.exports = function grammar(){ this.rules[29].opcodes[1] = {type: 6, string: [116,114,117,101]};// TBS this.rules[29].opcodes[2] = {type: 6, string: [102,97,108,115,101]};// TBS this.rules[29].opcodes[3] = {type: 6, string: [110,117,108,108]};// TBS - this.rules[29].opcodes[4] = {type: 4, index: 91};// RNM(number) + this.rules[29].opcodes[4] = {type: 4, index: 82};// RNM(number) this.rules[29].opcodes[5] = {type: 2, children: [6,7,9]};// CAT - this.rules[29].opcodes[6] = {type: 4, index: 100};// RNM(DQUOTE) + this.rules[29].opcodes[6] = {type: 4, index: 91};// RNM(DQUOTE) this.rules[29].opcodes[7] = {type: 3, min: 0, max: Infinity};// REP - this.rules[29].opcodes[8] = {type: 4, index: 99};// RNM(CHAR) - this.rules[29].opcodes[9] = {type: 4, index: 100};// RNM(DQUOTE) + this.rules[29].opcodes[8] = {type: 4, index: 90};// RNM(CHAR) + this.rules[29].opcodes[9] = {type: 4, index: 91};// RNM(DQUOTE) this.rules[29].opcodes[10] = {type: 2, children: [11,12,13,25]};// CAT this.rules[29].opcodes[11] = {type: 7, string: [91]};// TLS - this.rules[29].opcodes[12] = {type: 4, index: 102};// RNM(OWS) + this.rules[29].opcodes[12] = {type: 4, index: 93};// RNM(OWS) this.rules[29].opcodes[13] = {type: 3, min: 0, max: 1};// REP this.rules[29].opcodes[14] = {type: 2, children: [15,16,20,21]};// CAT this.rules[29].opcodes[15] = {type: 4, index: 29};// RNM(annotationValue) this.rules[29].opcodes[16] = {type: 3, min: 0, max: Infinity};// REP this.rules[29].opcodes[17] = {type: 2, children: [18,19]};// CAT - this.rules[29].opcodes[18] = {type: 4, index: 89};// RNM(separator) + this.rules[29].opcodes[18] = {type: 4, index: 80};// RNM(separator) this.rules[29].opcodes[19] = {type: 4, index: 29};// RNM(annotationValue) - this.rules[29].opcodes[20] = {type: 4, index: 102};// RNM(OWS) + this.rules[29].opcodes[20] = {type: 4, index: 93};// RNM(OWS) this.rules[29].opcodes[21] = {type: 3, min: 0, max: 1};// REP this.rules[29].opcodes[22] = {type: 2, children: [23,24]};// CAT this.rules[29].opcodes[23] = {type: 7, string: [44]};// TLS - this.rules[29].opcodes[24] = {type: 4, index: 102};// RNM(OWS) + this.rules[29].opcodes[24] = {type: 4, index: 93};// RNM(OWS) this.rules[29].opcodes[25] = {type: 7, string: [93]};// TLS this.rules[29].opcodes[26] = {type: 2, children: [27,28,29,41]};// CAT this.rules[29].opcodes[27] = {type: 7, string: [123]};// TLS - this.rules[29].opcodes[28] = {type: 4, index: 102};// RNM(OWS) + this.rules[29].opcodes[28] = {type: 4, index: 93};// RNM(OWS) this.rules[29].opcodes[29] = {type: 3, min: 0, max: 1};// REP this.rules[29].opcodes[30] = {type: 2, children: [31,32,36,37]};// CAT this.rules[29].opcodes[31] = {type: 4, index: 30};// RNM(annotationProperty) this.rules[29].opcodes[32] = {type: 3, min: 0, max: Infinity};// REP this.rules[29].opcodes[33] = {type: 2, children: [34,35]};// CAT - this.rules[29].opcodes[34] = {type: 4, index: 89};// RNM(separator) + this.rules[29].opcodes[34] = {type: 4, index: 80};// RNM(separator) this.rules[29].opcodes[35] = {type: 4, index: 30};// RNM(annotationProperty) - this.rules[29].opcodes[36] = {type: 4, index: 102};// RNM(OWS) + this.rules[29].opcodes[36] = {type: 4, index: 93};// RNM(OWS) this.rules[29].opcodes[37] = {type: 3, min: 0, max: 1};// REP this.rules[29].opcodes[38] = {type: 2, children: [39,40]};// CAT this.rules[29].opcodes[39] = {type: 7, string: [44]};// TLS - this.rules[29].opcodes[40] = {type: 4, index: 102};// RNM(OWS) + this.rules[29].opcodes[40] = {type: 4, index: 93};// RNM(OWS) this.rules[29].opcodes[41] = {type: 7, string: [125]};// TLS this.rules[29].opcodes[42] = {type: 2, children: [43,44]};// CAT this.rules[29].opcodes[43] = {type: 7, string: [46]};// TLS this.rules[29].opcodes[44] = {type: 3, min: 0, max: Infinity};// REP this.rules[29].opcodes[45] = {type: 2, children: [46,47]};// CAT this.rules[29].opcodes[46] = {type: 7, string: [47]};// TLS - this.rules[29].opcodes[47] = {type: 4, index: 86};// RNM(identifier) + this.rules[29].opcodes[47] = {type: 4, index: 77};// RNM(identifier) /* annotationProperty */ this.rules[30].opcodes = []; this.rules[30].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT this.rules[30].opcodes[1] = {type: 4, index: 31};// RNM(propertyName) - this.rules[30].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[30].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[30].opcodes[3] = {type: 7, string: [58]};// TLS - this.rules[30].opcodes[4] = {type: 4, index: 102};// RNM(OWS) + this.rules[30].opcodes[4] = {type: 4, index: 93};// RNM(OWS) this.rules[30].opcodes[5] = {type: 4, index: 29};// RNM(annotationValue) /* propertyName */ this.rules[31].opcodes = []; this.rules[31].opcodes[0] = {type: 1, children: [1,2,7]};// ALT - this.rules[31].opcodes[1] = {type: 4, index: 86};// RNM(identifier) + this.rules[31].opcodes[1] = {type: 4, index: 77};// RNM(identifier) this.rules[31].opcodes[2] = {type: 2, children: [3,4,6]};// CAT - this.rules[31].opcodes[3] = {type: 4, index: 100};// RNM(DQUOTE) + this.rules[31].opcodes[3] = {type: 4, index: 91};// RNM(DQUOTE) this.rules[31].opcodes[4] = {type: 3, min: 1, max: Infinity};// REP - this.rules[31].opcodes[5] = {type: 4, index: 99};// RNM(CHAR) - this.rules[31].opcodes[6] = {type: 4, index: 100};// RNM(DQUOTE) + this.rules[31].opcodes[5] = {type: 4, index: 90};// RNM(CHAR) + this.rules[31].opcodes[6] = {type: 4, index: 91};// RNM(DQUOTE) this.rules[31].opcodes[7] = {type: 2, children: [8,9,10]};// CAT this.rules[31].opcodes[8] = {type: 7, string: [64]};// TLS - this.rules[31].opcodes[9] = {type: 4, index: 85};// RNM(qualifiedName) + this.rules[31].opcodes[9] = {type: 4, index: 76};// RNM(qualifiedName) this.rules[31].opcodes[10] = {type: 3, min: 0, max: 1};// REP this.rules[31].opcodes[11] = {type: 2, children: [12,13]};// CAT this.rules[31].opcodes[12] = {type: 7, string: [35]};// TLS - this.rules[31].opcodes[13] = {type: 4, index: 86};// RNM(identifier) + this.rules[31].opcodes[13] = {type: 4, index: 77};// RNM(identifier) /* primitivePropertyCapability */ this.rules[32].opcodes = []; @@ -622,28 +613,28 @@ module.exports = function grammar(){ this.rules[32].opcodes[2] = {type: 7, string: [102,105,108,116,101,114,97,98,108,101]};// TLS this.rules[32].opcodes[3] = {type: 3, min: 0, max: 1};// REP this.rules[32].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[32].opcodes[5] = {type: 4, index: 102};// RNM(OWS) - this.rules[32].opcodes[6] = {type: 4, index: 77};// RNM(filterOptions) + this.rules[32].opcodes[5] = {type: 4, index: 93};// RNM(OWS) + this.rules[32].opcodes[6] = {type: 4, index: 68};// RNM(filterOptions) this.rules[32].opcodes[7] = {type: 2, children: [8,9]};// CAT this.rules[32].opcodes[8] = {type: 7, string: [111,114,100,101,114,97,98,108,101]};// TLS this.rules[32].opcodes[9] = {type: 3, min: 0, max: 1};// REP this.rules[32].opcodes[10] = {type: 2, children: [11,12]};// CAT - this.rules[32].opcodes[11] = {type: 4, index: 102};// RNM(OWS) - this.rules[32].opcodes[12] = {type: 4, index: 82};// RNM(orderByDirection) + this.rules[32].opcodes[11] = {type: 4, index: 93};// RNM(OWS) + this.rules[32].opcodes[12] = {type: 4, index: 73};// RNM(orderByDirection) /* primitivePropertyCapabilities */ this.rules[33].opcodes = []; this.rules[33].opcodes[0] = {type: 2, children: [1,2,3,10,11]};// CAT this.rules[33].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[33].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[33].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[33].opcodes[3] = {type: 3, min: 0, max: 1};// REP this.rules[33].opcodes[4] = {type: 2, children: [5,6]};// CAT this.rules[33].opcodes[5] = {type: 4, index: 32};// RNM(primitivePropertyCapability) this.rules[33].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP this.rules[33].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[33].opcodes[8] = {type: 4, index: 89};// RNM(separator) + this.rules[33].opcodes[8] = {type: 4, index: 80};// RNM(separator) this.rules[33].opcodes[9] = {type: 4, index: 32};// RNM(primitivePropertyCapability) - this.rules[33].opcodes[10] = {type: 4, index: 102};// RNM(OWS) + this.rules[33].opcodes[10] = {type: 4, index: 93};// RNM(OWS) this.rules[33].opcodes[11] = {type: 7, string: [125]};// TLS /* singleNavigationCapability */ @@ -656,25 +647,25 @@ module.exports = function grammar(){ this.rules[34].opcodes[5] = {type: 7, string: [114,101,112,108,97,99,101]};// TLS this.rules[34].opcodes[6] = {type: 3, min: 0, max: 1};// REP this.rules[34].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[34].opcodes[8] = {type: 4, index: 102};// RNM(OWS) - this.rules[34].opcodes[9] = {type: 4, index: 72};// RNM(navCapabilities) + this.rules[34].opcodes[8] = {type: 4, index: 93};// RNM(OWS) + this.rules[34].opcodes[9] = {type: 4, index: 62};// RNM(navCapabilities) this.rules[34].opcodes[10] = {type: 2, children: [11,12]};// CAT this.rules[34].opcodes[11] = {type: 7, string: [100,101,108,101,116,101]};// TLS - this.rules[34].opcodes[12] = {type: 4, index: 84};// RNM(noOptions) + this.rules[34].opcodes[12] = {type: 4, index: 75};// RNM(noOptions) /* singleNavigationCapabilities */ this.rules[35].opcodes = []; this.rules[35].opcodes[0] = {type: 2, children: [1,2,3,10,11]};// CAT this.rules[35].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[35].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[35].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[35].opcodes[3] = {type: 3, min: 0, max: 1};// REP this.rules[35].opcodes[4] = {type: 2, children: [5,6]};// CAT this.rules[35].opcodes[5] = {type: 4, index: 34};// RNM(singleNavigationCapability) this.rules[35].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP this.rules[35].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[35].opcodes[8] = {type: 4, index: 89};// RNM(separator) + this.rules[35].opcodes[8] = {type: 4, index: 80};// RNM(separator) this.rules[35].opcodes[9] = {type: 4, index: 34};// RNM(singleNavigationCapability) - this.rules[35].opcodes[10] = {type: 4, index: 102};// RNM(OWS) + this.rules[35].opcodes[10] = {type: 4, index: 93};// RNM(OWS) this.rules[35].opcodes[11] = {type: 7, string: [125]};// TLS /* collectionNavigationCapability */ @@ -682,14 +673,14 @@ module.exports = function grammar(){ this.rules[36].opcodes[0] = {type: 1, children: [1,5,11]};// ALT this.rules[36].opcodes[1] = {type: 2, children: [2,3,4]};// CAT this.rules[36].opcodes[2] = {type: 7, string: [100,101,108,101,116,101]};// TLS - this.rules[36].opcodes[3] = {type: 4, index: 102};// RNM(OWS) - this.rules[36].opcodes[4] = {type: 4, index: 84};// RNM(noOptions) + this.rules[36].opcodes[3] = {type: 4, index: 93};// RNM(OWS) + this.rules[36].opcodes[4] = {type: 4, index: 75};// RNM(noOptions) this.rules[36].opcodes[5] = {type: 2, children: [6,7]};// CAT this.rules[36].opcodes[6] = {type: 7, string: [108,105,115,116]};// TLS this.rules[36].opcodes[7] = {type: 3, min: 0, max: 1};// REP this.rules[36].opcodes[8] = {type: 2, children: [9,10]};// CAT - this.rules[36].opcodes[9] = {type: 4, index: 102};// RNM(OWS) - this.rules[36].opcodes[10] = {type: 4, index: 70};// RNM(collectionNavCapabilities) + this.rules[36].opcodes[9] = {type: 4, index: 93};// RNM(OWS) + this.rules[36].opcodes[10] = {type: 4, index: 60};// RNM(collectionNavCapabilities) this.rules[36].opcodes[11] = {type: 2, children: [12,17]};// CAT this.rules[36].opcodes[12] = {type: 1, children: [13,14,15,16]};// ALT this.rules[36].opcodes[13] = {type: 7, string: [114,101,97,100]};// TLS @@ -698,764 +689,650 @@ module.exports = function grammar(){ this.rules[36].opcodes[16] = {type: 7, string: [117,112,100,97,116,101]};// TLS this.rules[36].opcodes[17] = {type: 3, min: 0, max: 1};// REP this.rules[36].opcodes[18] = {type: 2, children: [19,20]};// CAT - this.rules[36].opcodes[19] = {type: 4, index: 102};// RNM(OWS) - this.rules[36].opcodes[20] = {type: 4, index: 72};// RNM(navCapabilities) + this.rules[36].opcodes[19] = {type: 4, index: 93};// RNM(OWS) + this.rules[36].opcodes[20] = {type: 4, index: 62};// RNM(navCapabilities) /* collectionNavigationCapabilities */ this.rules[37].opcodes = []; this.rules[37].opcodes[0] = {type: 2, children: [1,2,3,10,11]};// CAT this.rules[37].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[37].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[37].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[37].opcodes[3] = {type: 3, min: 0, max: 1};// REP this.rules[37].opcodes[4] = {type: 2, children: [5,6]};// CAT this.rules[37].opcodes[5] = {type: 4, index: 36};// RNM(collectionNavigationCapability) this.rules[37].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP this.rules[37].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[37].opcodes[8] = {type: 4, index: 89};// RNM(separator) + this.rules[37].opcodes[8] = {type: 4, index: 80};// RNM(separator) this.rules[37].opcodes[9] = {type: 4, index: 36};// RNM(collectionNavigationCapability) - this.rules[37].opcodes[10] = {type: 4, index: 102};// RNM(OWS) + this.rules[37].opcodes[10] = {type: 4, index: 93};// RNM(OWS) this.rules[37].opcodes[11] = {type: 7, string: [125]};// TLS /* paths */ this.rules[38].opcodes = []; this.rules[38].opcodes[0] = {type: 2, children: [1,2,3,4,9,10]};// CAT this.rules[38].opcodes[1] = {type: 6, string: [112,97,116,104,115]};// TBS - this.rules[38].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[38].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[38].opcodes[3] = {type: 7, string: [123]};// TLS this.rules[38].opcodes[4] = {type: 3, min: 0, max: Infinity};// REP this.rules[38].opcodes[5] = {type: 2, children: [6,7,8]};// CAT - this.rules[38].opcodes[6] = {type: 4, index: 102};// RNM(OWS) + this.rules[38].opcodes[6] = {type: 4, index: 93};// RNM(OWS) this.rules[38].opcodes[7] = {type: 7, string: [47]};// TLS this.rules[38].opcodes[8] = {type: 4, index: 39};// RNM(path) - this.rules[38].opcodes[9] = {type: 4, index: 102};// RNM(OWS) + this.rules[38].opcodes[9] = {type: 4, index: 93};// RNM(OWS) this.rules[38].opcodes[10] = {type: 7, string: [125]};// TLS /* path */ this.rules[39].opcodes = []; - this.rules[39].opcodes[0] = {type: 1, children: [1,15,41]};// ALT - this.rules[39].opcodes[1] = {type: 2, children: [2,3]};// CAT - this.rules[39].opcodes[2] = {type: 4, index: 42};// RNM(serviceOperationSegment) - this.rules[39].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[39].opcodes[4] = {type: 1, children: [5,8]};// ALT - this.rules[39].opcodes[5] = {type: 2, children: [6,7]};// CAT - this.rules[39].opcodes[6] = {type: 4, index: 103};// RNM(RWS) - this.rules[39].opcodes[7] = {type: 4, index: 43};// RNM(serviceOperationCapabilities) - this.rules[39].opcodes[8] = {type: 2, children: [9,13,14]};// CAT - this.rules[39].opcodes[9] = {type: 3, min: 0, max: Infinity};// REP - this.rules[39].opcodes[10] = {type: 2, children: [11,12]};// CAT - this.rules[39].opcodes[11] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[12] = {type: 4, index: 40};// RNM(interimSegment) + this.rules[39].opcodes[0] = {type: 1, children: [1,11,21,29,38]};// ALT + this.rules[39].opcodes[1] = {type: 2, children: [2,3,4,5]};// CAT + this.rules[39].opcodes[2] = {type: 4, index: 40};// RNM(propertySegment) + this.rules[39].opcodes[3] = {type: 7, string: [47]};// TLS + this.rules[39].opcodes[4] = {type: 4, index: 43};// RNM(keySegment) + this.rules[39].opcodes[5] = {type: 3, min: 0, max: 1};// REP + this.rules[39].opcodes[6] = {type: 1, children: [7,8]};// ALT + this.rules[39].opcodes[7] = {type: 4, index: 41};// RNM(pathSegment) + this.rules[39].opcodes[8] = {type: 2, children: [9,10]};// CAT + this.rules[39].opcodes[9] = {type: 4, index: 94};// RNM(RWS) + this.rules[39].opcodes[10] = {type: 4, index: 54};// RNM(singleNavPathCapabilities) + this.rules[39].opcodes[11] = {type: 2, children: [12,13,14,15]};// CAT + this.rules[39].opcodes[12] = {type: 4, index: 45};// RNM(serviceOperationSegment) this.rules[39].opcodes[13] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[14] = {type: 4, index: 41};// RNM(lastSegment) - this.rules[39].opcodes[15] = {type: 2, children: [16,17,21]};// CAT - this.rules[39].opcodes[16] = {type: 4, index: 86};// RNM(identifier) - this.rules[39].opcodes[17] = {type: 3, min: 0, max: 1};// REP + this.rules[39].opcodes[14] = {type: 4, index: 43};// RNM(keySegment) + this.rules[39].opcodes[15] = {type: 3, min: 0, max: 1};// REP + this.rules[39].opcodes[16] = {type: 1, children: [17,18]};// ALT + this.rules[39].opcodes[17] = {type: 4, index: 41};// RNM(pathSegment) this.rules[39].opcodes[18] = {type: 2, children: [19,20]};// CAT - this.rules[39].opcodes[19] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[20] = {type: 4, index: 54};// RNM(castSegment) - this.rules[39].opcodes[21] = {type: 3, min: 0, max: 1};// REP - this.rules[39].opcodes[22] = {type: 1, children: [23,26]};// ALT - this.rules[39].opcodes[23] = {type: 2, children: [24,25]};// CAT - this.rules[39].opcodes[24] = {type: 4, index: 103};// RNM(RWS) - this.rules[39].opcodes[25] = {type: 4, index: 66};// RNM(collectionNavPathCapabilities) - this.rules[39].opcodes[26] = {type: 2, children: [27,28,29]};// CAT - this.rules[39].opcodes[27] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[28] = {type: 4, index: 55};// RNM(keySegment) - this.rules[39].opcodes[29] = {type: 3, min: 0, max: 1};// REP - this.rules[39].opcodes[30] = {type: 1, children: [31,34]};// ALT - this.rules[39].opcodes[31] = {type: 2, children: [32,33]};// CAT - this.rules[39].opcodes[32] = {type: 4, index: 103};// RNM(RWS) - this.rules[39].opcodes[33] = {type: 4, index: 64};// RNM(singleNavPathCapabilities) - this.rules[39].opcodes[34] = {type: 2, children: [35,39,40]};// CAT - this.rules[39].opcodes[35] = {type: 3, min: 0, max: Infinity};// REP - this.rules[39].opcodes[36] = {type: 2, children: [37,38]};// CAT - this.rules[39].opcodes[37] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[38] = {type: 4, index: 40};// RNM(interimSegment) - this.rules[39].opcodes[39] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[40] = {type: 4, index: 41};// RNM(lastSegment) - this.rules[39].opcodes[41] = {type: 2, children: [42,43,47]};// CAT - this.rules[39].opcodes[42] = {type: 4, index: 86};// RNM(identifier) - this.rules[39].opcodes[43] = {type: 3, min: 0, max: 1};// REP - this.rules[39].opcodes[44] = {type: 2, children: [45,46]};// CAT - this.rules[39].opcodes[45] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[46] = {type: 4, index: 54};// RNM(castSegment) - this.rules[39].opcodes[47] = {type: 3, min: 0, max: 1};// REP - this.rules[39].opcodes[48] = {type: 1, children: [49,52]};// ALT - this.rules[39].opcodes[49] = {type: 2, children: [50,51]};// CAT - this.rules[39].opcodes[50] = {type: 4, index: 103};// RNM(RWS) - this.rules[39].opcodes[51] = {type: 4, index: 64};// RNM(singleNavPathCapabilities) - this.rules[39].opcodes[52] = {type: 2, children: [53,57,58]};// CAT - this.rules[39].opcodes[53] = {type: 3, min: 0, max: Infinity};// REP - this.rules[39].opcodes[54] = {type: 2, children: [55,56]};// CAT - this.rules[39].opcodes[55] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[56] = {type: 4, index: 40};// RNM(interimSegment) - this.rules[39].opcodes[57] = {type: 7, string: [47]};// TLS - this.rules[39].opcodes[58] = {type: 4, index: 41};// RNM(lastSegment) - - /* interimSegment */ + this.rules[39].opcodes[19] = {type: 4, index: 94};// RNM(RWS) + this.rules[39].opcodes[20] = {type: 4, index: 54};// RNM(singleNavPathCapabilities) + this.rules[39].opcodes[21] = {type: 2, children: [22,23]};// CAT + this.rules[39].opcodes[22] = {type: 4, index: 45};// RNM(serviceOperationSegment) + this.rules[39].opcodes[23] = {type: 3, min: 0, max: 1};// REP + this.rules[39].opcodes[24] = {type: 1, children: [25,26]};// ALT + this.rules[39].opcodes[25] = {type: 4, index: 41};// RNM(pathSegment) + this.rules[39].opcodes[26] = {type: 2, children: [27,28]};// CAT + this.rules[39].opcodes[27] = {type: 4, index: 94};// RNM(RWS) + this.rules[39].opcodes[28] = {type: 4, index: 48};// RNM(capabilities) + this.rules[39].opcodes[29] = {type: 2, children: [30,31]};// CAT + this.rules[39].opcodes[30] = {type: 4, index: 42};// RNM(castSegment) + this.rules[39].opcodes[31] = {type: 3, min: 0, max: 1};// REP + this.rules[39].opcodes[32] = {type: 1, children: [33,34,35]};// ALT + this.rules[39].opcodes[33] = {type: 4, index: 41};// RNM(pathSegment) + this.rules[39].opcodes[34] = {type: 4, index: 52};// RNM(collectionPathCapabilities) + this.rules[39].opcodes[35] = {type: 2, children: [36,37]};// CAT + this.rules[39].opcodes[36] = {type: 4, index: 94};// RNM(RWS) + this.rules[39].opcodes[37] = {type: 4, index: 56};// RNM(collectionNavPathCapabilities) + this.rules[39].opcodes[38] = {type: 2, children: [39,40]};// CAT + this.rules[39].opcodes[39] = {type: 4, index: 40};// RNM(propertySegment) + this.rules[39].opcodes[40] = {type: 3, min: 0, max: 1};// REP + this.rules[39].opcodes[41] = {type: 1, children: [42,43]};// ALT + this.rules[39].opcodes[42] = {type: 4, index: 41};// RNM(pathSegment) + this.rules[39].opcodes[43] = {type: 2, children: [44,45]};// CAT + this.rules[39].opcodes[44] = {type: 4, index: 94};// RNM(RWS) + this.rules[39].opcodes[45] = {type: 4, index: 48};// RNM(capabilities) + + /* propertySegment */ this.rules[40].opcodes = []; - this.rules[40].opcodes[0] = {type: 1, children: [1,5,6,7,8]};// ALT - this.rules[40].opcodes[1] = {type: 2, children: [2,3,4]};// CAT - this.rules[40].opcodes[2] = {type: 4, index: 47};// RNM(collectionNavSegment) - this.rules[40].opcodes[3] = {type: 7, string: [47]};// TLS - this.rules[40].opcodes[4] = {type: 4, index: 55};// RNM(keySegment) - this.rules[40].opcodes[5] = {type: 4, index: 42};// RNM(serviceOperationSegment) - this.rules[40].opcodes[6] = {type: 4, index: 54};// RNM(castSegment) - this.rules[40].opcodes[7] = {type: 4, index: 44};// RNM(singleValuedSegment) - this.rules[40].opcodes[8] = {type: 4, index: 46};// RNM(singleNavSegment) - - /* lastSegment */ + this.rules[40].opcodes[0] = {type: 4, index: 77};// RNM(identifier) + + /* pathSegment */ this.rules[41].opcodes = []; - this.rules[41].opcodes[0] = {type: 1, children: [1,7,17,27,37]};// ALT - this.rules[41].opcodes[1] = {type: 2, children: [2,3]};// CAT - this.rules[41].opcodes[2] = {type: 4, index: 42};// RNM(serviceOperationSegment) - this.rules[41].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[41].opcodes[5] = {type: 4, index: 103};// RNM(RWS) - this.rules[41].opcodes[6] = {type: 4, index: 43};// RNM(serviceOperationCapabilities) - this.rules[41].opcodes[7] = {type: 2, children: [8,9,13]};// CAT - this.rules[41].opcodes[8] = {type: 4, index: 44};// RNM(singleValuedSegment) - this.rules[41].opcodes[9] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[10] = {type: 2, children: [11,12]};// CAT - this.rules[41].opcodes[11] = {type: 7, string: [47]};// TLS - this.rules[41].opcodes[12] = {type: 4, index: 54};// RNM(castSegment) - this.rules[41].opcodes[13] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[14] = {type: 2, children: [15,16]};// CAT - this.rules[41].opcodes[15] = {type: 4, index: 103};// RNM(RWS) - this.rules[41].opcodes[16] = {type: 4, index: 60};// RNM(singlePathCapabilities) - this.rules[41].opcodes[17] = {type: 2, children: [18,19,23]};// CAT - this.rules[41].opcodes[18] = {type: 4, index: 45};// RNM(collectionValuedSegment) - this.rules[41].opcodes[19] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[20] = {type: 2, children: [21,22]};// CAT - this.rules[41].opcodes[21] = {type: 7, string: [47]};// TLS - this.rules[41].opcodes[22] = {type: 4, index: 54};// RNM(castSegment) - this.rules[41].opcodes[23] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[24] = {type: 2, children: [25,26]};// CAT - this.rules[41].opcodes[25] = {type: 4, index: 103};// RNM(RWS) - this.rules[41].opcodes[26] = {type: 4, index: 62};// RNM(collectionPathCapabilities) - this.rules[41].opcodes[27] = {type: 2, children: [28,29,33]};// CAT - this.rules[41].opcodes[28] = {type: 4, index: 46};// RNM(singleNavSegment) - this.rules[41].opcodes[29] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[30] = {type: 2, children: [31,32]};// CAT - this.rules[41].opcodes[31] = {type: 7, string: [47]};// TLS - this.rules[41].opcodes[32] = {type: 4, index: 54};// RNM(castSegment) - this.rules[41].opcodes[33] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[34] = {type: 2, children: [35,36]};// CAT - this.rules[41].opcodes[35] = {type: 4, index: 103};// RNM(RWS) - this.rules[41].opcodes[36] = {type: 4, index: 64};// RNM(singleNavPathCapabilities) - this.rules[41].opcodes[37] = {type: 2, children: [38,39,43]};// CAT - this.rules[41].opcodes[38] = {type: 4, index: 47};// RNM(collectionNavSegment) - this.rules[41].opcodes[39] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[40] = {type: 2, children: [41,42]};// CAT - this.rules[41].opcodes[41] = {type: 7, string: [47]};// TLS - this.rules[41].opcodes[42] = {type: 4, index: 54};// RNM(castSegment) - this.rules[41].opcodes[43] = {type: 3, min: 0, max: 1};// REP - this.rules[41].opcodes[44] = {type: 2, children: [45,46]};// CAT - this.rules[41].opcodes[45] = {type: 4, index: 103};// RNM(RWS) - this.rules[41].opcodes[46] = {type: 1, children: [47,48]};// ALT - this.rules[41].opcodes[47] = {type: 4, index: 66};// RNM(collectionNavPathCapabilities) - this.rules[41].opcodes[48] = {type: 2, children: [49,50,51,52]};// CAT - this.rules[41].opcodes[49] = {type: 7, string: [47]};// TLS - this.rules[41].opcodes[50] = {type: 4, index: 55};// RNM(keySegment) - this.rules[41].opcodes[51] = {type: 4, index: 103};// RNM(RWS) - this.rules[41].opcodes[52] = {type: 4, index: 64};// RNM(singleNavPathCapabilities) + this.rules[41].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[41].opcodes[1] = {type: 7, string: [47]};// TLS + this.rules[41].opcodes[2] = {type: 4, index: 39};// RNM(path) - /* serviceOperationSegment */ + /* castSegment */ this.rules[42].opcodes = []; - this.rules[42].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT - this.rules[42].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[42].opcodes[2] = {type: 4, index: 52};// RNM(parameters) - this.rules[42].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[42].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[42].opcodes[5] = {type: 7, string: [47]};// TLS - this.rules[42].opcodes[6] = {type: 4, index: 54};// RNM(castSegment) - this.rules[42].opcodes[7] = {type: 3, min: 0, max: 1};// REP - this.rules[42].opcodes[8] = {type: 2, children: [9,10]};// CAT - this.rules[42].opcodes[9] = {type: 7, string: [47]};// TLS - this.rules[42].opcodes[10] = {type: 4, index: 55};// RNM(keySegment) - - /* serviceOperationCapabilities */ + this.rules[42].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[42].opcodes[1] = {type: 4, index: 77};// RNM(identifier) + this.rules[42].opcodes[2] = {type: 3, min: 1, max: Infinity};// REP + this.rules[42].opcodes[3] = {type: 2, children: [4,5]};// CAT + this.rules[42].opcodes[4] = {type: 7, string: [46]};// TLS + this.rules[42].opcodes[5] = {type: 4, index: 77};// RNM(identifier) + + /* keySegment */ this.rules[43].opcodes = []; - this.rules[43].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT - this.rules[43].opcodes[1] = {type: 4, index: 60};// RNM(singlePathCapabilities) - this.rules[43].opcodes[2] = {type: 4, index: 62};// RNM(collectionPathCapabilities) - this.rules[43].opcodes[3] = {type: 4, index: 64};// RNM(singleNavPathCapabilities) - this.rules[43].opcodes[4] = {type: 4, index: 66};// RNM(collectionNavPathCapabilities) + this.rules[43].opcodes[0] = {type: 2, children: [1,2,3]};// CAT + this.rules[43].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[43].opcodes[2] = {type: 4, index: 44};// RNM(keyProperty) + this.rules[43].opcodes[3] = {type: 7, string: [125]};// TLS - /* singleValuedSegment */ + /* keyProperty */ this.rules[44].opcodes = []; - this.rules[44].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[44].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[44].opcodes[2] = {type: 4, index: 48};// RNM(singleValuedOperation) + this.rules[44].opcodes[0] = {type: 4, index: 77};// RNM(identifier) - /* collectionValuedSegment */ + /* serviceOperationSegment */ this.rules[45].opcodes = []; - this.rules[45].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[45].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[45].opcodes[2] = {type: 4, index: 49};// RNM(collectionValuedOperation) + this.rules[45].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT + this.rules[45].opcodes[1] = {type: 4, index: 77};// RNM(identifier) + this.rules[45].opcodes[2] = {type: 4, index: 46};// RNM(parameters) + this.rules[45].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[45].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[45].opcodes[5] = {type: 7, string: [47]};// TLS + this.rules[45].opcodes[6] = {type: 4, index: 42};// RNM(castSegment) + this.rules[45].opcodes[7] = {type: 3, min: 0, max: 1};// REP + this.rules[45].opcodes[8] = {type: 2, children: [9,10]};// CAT + this.rules[45].opcodes[9] = {type: 7, string: [47]};// TLS + this.rules[45].opcodes[10] = {type: 4, index: 43};// RNM(keySegment) - /* singleNavSegment */ + /* parameters */ this.rules[46].opcodes = []; - this.rules[46].opcodes[0] = {type: 1, children: [1,2,3]};// ALT - this.rules[46].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[46].opcodes[2] = {type: 4, index: 57};// RNM(singleNavigationProperty) - this.rules[46].opcodes[3] = {type: 4, index: 50};// RNM(singleNavValuedOperation) + this.rules[46].opcodes[0] = {type: 2, children: [1,2,3,4,9,10]};// CAT + this.rules[46].opcodes[1] = {type: 7, string: [40]};// TLS + this.rules[46].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[46].opcodes[3] = {type: 4, index: 47};// RNM(parameterSpecification) + this.rules[46].opcodes[4] = {type: 3, min: 0, max: Infinity};// REP + this.rules[46].opcodes[5] = {type: 2, children: [6,7,8]};// CAT + this.rules[46].opcodes[6] = {type: 7, string: [44]};// TLS + this.rules[46].opcodes[7] = {type: 4, index: 93};// RNM(OWS) + this.rules[46].opcodes[8] = {type: 4, index: 47};// RNM(parameterSpecification) + this.rules[46].opcodes[9] = {type: 4, index: 93};// RNM(OWS) + this.rules[46].opcodes[10] = {type: 7, string: [41]};// TLS - /* collectionNavSegment */ + /* parameterSpecification */ this.rules[47].opcodes = []; - this.rules[47].opcodes[0] = {type: 1, children: [1,2,3]};// ALT - this.rules[47].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[47].opcodes[2] = {type: 4, index: 58};// RNM(collectionNavigationProperty) - this.rules[47].opcodes[3] = {type: 4, index: 51};// RNM(collectionNavValuedOperation) - - /* singleValuedOperation */ + this.rules[47].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7]};// CAT + this.rules[47].opcodes[1] = {type: 4, index: 77};// RNM(identifier) + this.rules[47].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[47].opcodes[3] = {type: 7, string: [61]};// TLS + this.rules[47].opcodes[4] = {type: 4, index: 93};// RNM(OWS) + this.rules[47].opcodes[5] = {type: 7, string: [123]};// TLS + this.rules[47].opcodes[6] = {type: 4, index: 77};// RNM(identifier) + this.rules[47].opcodes[7] = {type: 7, string: [125]};// TLS + + /* capabilities */ this.rules[48].opcodes = []; - this.rules[48].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[48].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT + this.rules[48].opcodes[1] = {type: 4, index: 50};// RNM(singlePathCapabilities) + this.rules[48].opcodes[2] = {type: 4, index: 52};// RNM(collectionPathCapabilities) + this.rules[48].opcodes[3] = {type: 4, index: 54};// RNM(singleNavPathCapabilities) + this.rules[48].opcodes[4] = {type: 4, index: 56};// RNM(collectionNavPathCapabilities) - /* collectionValuedOperation */ + /* singlePathCapability */ this.rules[49].opcodes = []; - this.rules[49].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[49].opcodes[0] = {type: 2, children: [1,6]};// CAT + this.rules[49].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT + this.rules[49].opcodes[2] = {type: 7, string: [103,101,116]};// TLS + this.rules[49].opcodes[3] = {type: 7, string: [112,117,116]};// TLS + this.rules[49].opcodes[4] = {type: 7, string: [112,97,116,99,104]};// TLS + this.rules[49].opcodes[5] = {type: 7, string: [100,101,108,101,116,101]};// TLS + this.rules[49].opcodes[6] = {type: 3, min: 0, max: 1};// REP + this.rules[49].opcodes[7] = {type: 4, index: 75};// RNM(noOptions) - /* singleNavValuedOperation */ + /* singlePathCapabilities */ this.rules[50].opcodes = []; - this.rules[50].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[50].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT + this.rules[50].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[50].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[50].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[50].opcodes[4] = {type: 2, children: [5,6,10]};// CAT + this.rules[50].opcodes[5] = {type: 4, index: 49};// RNM(singlePathCapability) + this.rules[50].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[50].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[50].opcodes[8] = {type: 4, index: 80};// RNM(separator) + this.rules[50].opcodes[9] = {type: 4, index: 49};// RNM(singlePathCapability) + this.rules[50].opcodes[10] = {type: 4, index: 93};// RNM(OWS) + this.rules[50].opcodes[11] = {type: 7, string: [125]};// TLS - /* collectionNavValuedOperation */ + /* collectionPathCapability */ this.rules[51].opcodes = []; - this.rules[51].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[51].opcodes[0] = {type: 1, children: [1,5]};// ALT + this.rules[51].opcodes[1] = {type: 2, children: [2,3]};// CAT + this.rules[51].opcodes[2] = {type: 7, string: [103,101,116]};// TLS + this.rules[51].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[51].opcodes[4] = {type: 4, index: 58};// RNM(collectionCapabilities) + this.rules[51].opcodes[5] = {type: 2, children: [6,7]};// CAT + this.rules[51].opcodes[6] = {type: 7, string: [112,111,115,116]};// TLS + this.rules[51].opcodes[7] = {type: 3, min: 0, max: 1};// REP + this.rules[51].opcodes[8] = {type: 4, index: 75};// RNM(noOptions) - /* parameters */ + /* collectionPathCapabilities */ this.rules[52].opcodes = []; - this.rules[52].opcodes[0] = {type: 2, children: [1,2,3,4,9,10]};// CAT - this.rules[52].opcodes[1] = {type: 7, string: [40]};// TLS - this.rules[52].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[52].opcodes[3] = {type: 4, index: 53};// RNM(parameterSpecification) - this.rules[52].opcodes[4] = {type: 3, min: 0, max: Infinity};// REP - this.rules[52].opcodes[5] = {type: 2, children: [6,7,8]};// CAT - this.rules[52].opcodes[6] = {type: 7, string: [44]};// TLS - this.rules[52].opcodes[7] = {type: 4, index: 102};// RNM(OWS) - this.rules[52].opcodes[8] = {type: 4, index: 53};// RNM(parameterSpecification) - this.rules[52].opcodes[9] = {type: 4, index: 102};// RNM(OWS) - this.rules[52].opcodes[10] = {type: 7, string: [41]};// TLS + this.rules[52].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT + this.rules[52].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[52].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[52].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[52].opcodes[4] = {type: 2, children: [5,6,10]};// CAT + this.rules[52].opcodes[5] = {type: 4, index: 51};// RNM(collectionPathCapability) + this.rules[52].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[52].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[52].opcodes[8] = {type: 4, index: 80};// RNM(separator) + this.rules[52].opcodes[9] = {type: 4, index: 51};// RNM(collectionPathCapability) + this.rules[52].opcodes[10] = {type: 4, index: 93};// RNM(OWS) + this.rules[52].opcodes[11] = {type: 7, string: [125]};// TLS - /* parameterSpecification */ + /* singleNavPathCapability */ this.rules[53].opcodes = []; - this.rules[53].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7]};// CAT - this.rules[53].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[53].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[53].opcodes[3] = {type: 7, string: [61]};// TLS - this.rules[53].opcodes[4] = {type: 4, index: 102};// RNM(OWS) - this.rules[53].opcodes[5] = {type: 7, string: [123]};// TLS - this.rules[53].opcodes[6] = {type: 4, index: 86};// RNM(identifier) - this.rules[53].opcodes[7] = {type: 7, string: [125]};// TLS + this.rules[53].opcodes[0] = {type: 1, children: [1,10]};// ALT + this.rules[53].opcodes[1] = {type: 2, children: [2,6]};// CAT + this.rules[53].opcodes[2] = {type: 1, children: [3,4,5]};// ALT + this.rules[53].opcodes[3] = {type: 7, string: [103,101,116]};// TLS + this.rules[53].opcodes[4] = {type: 7, string: [112,97,116,99,104]};// TLS + this.rules[53].opcodes[5] = {type: 7, string: [112,117,116]};// TLS + this.rules[53].opcodes[6] = {type: 3, min: 0, max: 1};// REP + this.rules[53].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[53].opcodes[8] = {type: 4, index: 93};// RNM(OWS) + this.rules[53].opcodes[9] = {type: 4, index: 62};// RNM(navCapabilities) + this.rules[53].opcodes[10] = {type: 2, children: [11,12]};// CAT + this.rules[53].opcodes[11] = {type: 7, string: [100,101,108,101,116,101]};// TLS + this.rules[53].opcodes[12] = {type: 4, index: 75};// RNM(noOptions) - /* castSegment */ + /* singleNavPathCapabilities */ this.rules[54].opcodes = []; - this.rules[54].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[54].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[54].opcodes[2] = {type: 3, min: 1, max: Infinity};// REP - this.rules[54].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[54].opcodes[4] = {type: 7, string: [46]};// TLS - this.rules[54].opcodes[5] = {type: 4, index: 86};// RNM(identifier) + this.rules[54].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT + this.rules[54].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[54].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[54].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[54].opcodes[4] = {type: 2, children: [5,6,10]};// CAT + this.rules[54].opcodes[5] = {type: 4, index: 53};// RNM(singleNavPathCapability) + this.rules[54].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[54].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[54].opcodes[8] = {type: 4, index: 80};// RNM(separator) + this.rules[54].opcodes[9] = {type: 4, index: 53};// RNM(singleNavPathCapability) + this.rules[54].opcodes[10] = {type: 4, index: 93};// RNM(OWS) + this.rules[54].opcodes[11] = {type: 7, string: [125]};// TLS - /* keySegment */ + /* collectionNavPathCapability */ this.rules[55].opcodes = []; - this.rules[55].opcodes[0] = {type: 2, children: [1,2,3]};// CAT - this.rules[55].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[55].opcodes[2] = {type: 4, index: 56};// RNM(keyProperty) - this.rules[55].opcodes[3] = {type: 7, string: [125]};// TLS + this.rules[55].opcodes[0] = {type: 1, children: [1,7]};// ALT + this.rules[55].opcodes[1] = {type: 2, children: [2,3]};// CAT + this.rules[55].opcodes[2] = {type: 7, string: [103,101,116]};// TLS + this.rules[55].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[55].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[55].opcodes[5] = {type: 4, index: 93};// RNM(OWS) + this.rules[55].opcodes[6] = {type: 4, index: 60};// RNM(collectionNavCapabilities) + this.rules[55].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[55].opcodes[8] = {type: 7, string: [112,111,115,116]};// TLS + this.rules[55].opcodes[9] = {type: 3, min: 0, max: 1};// REP + this.rules[55].opcodes[10] = {type: 2, children: [11,12]};// CAT + this.rules[55].opcodes[11] = {type: 4, index: 93};// RNM(OWS) + this.rules[55].opcodes[12] = {type: 4, index: 62};// RNM(navCapabilities) - /* keyProperty */ + /* collectionNavPathCapabilities */ this.rules[56].opcodes = []; - this.rules[56].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[56].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT + this.rules[56].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[56].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[56].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[56].opcodes[4] = {type: 2, children: [5,6,10]};// CAT + this.rules[56].opcodes[5] = {type: 4, index: 55};// RNM(collectionNavPathCapability) + this.rules[56].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[56].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[56].opcodes[8] = {type: 4, index: 80};// RNM(separator) + this.rules[56].opcodes[9] = {type: 4, index: 55};// RNM(collectionNavPathCapability) + this.rules[56].opcodes[10] = {type: 4, index: 93};// RNM(OWS) + this.rules[56].opcodes[11] = {type: 7, string: [125]};// TLS - /* singleNavigationProperty */ + /* collectionCapability */ this.rules[57].opcodes = []; - this.rules[57].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[57].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT + this.rules[57].opcodes[1] = {type: 4, index: 65};// RNM(filterCapability) + this.rules[57].opcodes[2] = {type: 4, index: 70};// RNM(orderByCapability) + this.rules[57].opcodes[3] = {type: 7, string: [116,111,112]};// TLS + this.rules[57].opcodes[4] = {type: 7, string: [115,107,105,112]};// TLS + this.rules[57].opcodes[5] = {type: 7, string: [99,111,117,110,116]};// TLS - /* collectionNavigationProperty */ + /* collectionCapabilities */ this.rules[58].opcodes = []; - this.rules[58].opcodes[0] = {type: 4, index: 86};// RNM(identifier) + this.rules[58].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT + this.rules[58].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[58].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[58].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[58].opcodes[4] = {type: 2, children: [5,6,10]};// CAT + this.rules[58].opcodes[5] = {type: 4, index: 57};// RNM(collectionCapability) + this.rules[58].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[58].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[58].opcodes[8] = {type: 4, index: 80};// RNM(separator) + this.rules[58].opcodes[9] = {type: 4, index: 57};// RNM(collectionCapability) + this.rules[58].opcodes[10] = {type: 4, index: 93};// RNM(OWS) + this.rules[58].opcodes[11] = {type: 7, string: [125]};// TLS - /* singlePathCapability */ + /* collectionNavCapability */ this.rules[59].opcodes = []; - this.rules[59].opcodes[0] = {type: 2, children: [1,6]};// CAT - this.rules[59].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT - this.rules[59].opcodes[2] = {type: 7, string: [103,101,116]};// TLS - this.rules[59].opcodes[3] = {type: 7, string: [112,117,116]};// TLS - this.rules[59].opcodes[4] = {type: 7, string: [112,97,116,99,104]};// TLS - this.rules[59].opcodes[5] = {type: 7, string: [100,101,108,101,116,101]};// TLS - this.rules[59].opcodes[6] = {type: 3, min: 0, max: 1};// REP - this.rules[59].opcodes[7] = {type: 4, index: 84};// RNM(noOptions) + this.rules[59].opcodes[0] = {type: 1, children: [1,2]};// ALT + this.rules[59].opcodes[1] = {type: 4, index: 57};// RNM(collectionCapability) + this.rules[59].opcodes[2] = {type: 4, index: 61};// RNM(navCapability) - /* singlePathCapabilities */ + /* collectionNavCapabilities */ this.rules[60].opcodes = []; - this.rules[60].opcodes[0] = {type: 2, children: [1,2,9]};// CAT + this.rules[60].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT this.rules[60].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[60].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[60].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[60].opcodes[4] = {type: 4, index: 59};// RNM(singlePathCapability) - this.rules[60].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP - this.rules[60].opcodes[6] = {type: 2, children: [7,8]};// CAT - this.rules[60].opcodes[7] = {type: 4, index: 89};// RNM(separator) - this.rules[60].opcodes[8] = {type: 4, index: 59};// RNM(singlePathCapability) - this.rules[60].opcodes[9] = {type: 7, string: [125]};// TLS + this.rules[60].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[60].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[60].opcodes[4] = {type: 2, children: [5,6,10]};// CAT + this.rules[60].opcodes[5] = {type: 4, index: 59};// RNM(collectionNavCapability) + this.rules[60].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[60].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[60].opcodes[8] = {type: 4, index: 80};// RNM(separator) + this.rules[60].opcodes[9] = {type: 4, index: 59};// RNM(collectionNavCapability) + this.rules[60].opcodes[10] = {type: 4, index: 93};// RNM(OWS) + this.rules[60].opcodes[11] = {type: 7, string: [125]};// TLS - /* collectionPathCapability */ + /* navCapability */ this.rules[61].opcodes = []; - this.rules[61].opcodes[0] = {type: 1, children: [1,5]};// ALT - this.rules[61].opcodes[1] = {type: 2, children: [2,3]};// CAT - this.rules[61].opcodes[2] = {type: 7, string: [103,101,116]};// TLS - this.rules[61].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[61].opcodes[4] = {type: 4, index: 68};// RNM(collectionCapabilities) - this.rules[61].opcodes[5] = {type: 2, children: [6,7]};// CAT - this.rules[61].opcodes[6] = {type: 7, string: [112,111,115,116]};// TLS + this.rules[61].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[61].opcodes[1] = {type: 7, string: [101,120,112,97,110,100]};// TLS + this.rules[61].opcodes[2] = {type: 3, min: 0, max: 1};// REP + this.rules[61].opcodes[3] = {type: 2, children: [4,5,6,7,17,18]};// CAT + this.rules[61].opcodes[4] = {type: 4, index: 93};// RNM(OWS) + this.rules[61].opcodes[5] = {type: 7, string: [40]};// TLS + this.rules[61].opcodes[6] = {type: 4, index: 93};// RNM(OWS) this.rules[61].opcodes[7] = {type: 3, min: 0, max: 1};// REP - this.rules[61].opcodes[8] = {type: 4, index: 84};// RNM(noOptions) + this.rules[61].opcodes[8] = {type: 2, children: [9,10]};// CAT + this.rules[61].opcodes[9] = {type: 4, index: 63};// RNM(expandProperty) + this.rules[61].opcodes[10] = {type: 3, min: 0, max: Infinity};// REP + this.rules[61].opcodes[11] = {type: 2, children: [12,13,14,15,16]};// CAT + this.rules[61].opcodes[12] = {type: 4, index: 93};// RNM(OWS) + this.rules[61].opcodes[13] = {type: 7, string: [44]};// TLS + this.rules[61].opcodes[14] = {type: 4, index: 93};// RNM(OWS) + this.rules[61].opcodes[15] = {type: 4, index: 63};// RNM(expandProperty) + this.rules[61].opcodes[16] = {type: 4, index: 93};// RNM(OWS) + this.rules[61].opcodes[17] = {type: 4, index: 93};// RNM(OWS) + this.rules[61].opcodes[18] = {type: 7, string: [41]};// TLS - /* collectionPathCapabilities */ + /* navCapabilities */ this.rules[62].opcodes = []; - this.rules[62].opcodes[0] = {type: 2, children: [1,2,9]};// CAT + this.rules[62].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT this.rules[62].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[62].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[62].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[62].opcodes[4] = {type: 4, index: 61};// RNM(collectionPathCapability) - this.rules[62].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP - this.rules[62].opcodes[6] = {type: 2, children: [7,8]};// CAT - this.rules[62].opcodes[7] = {type: 4, index: 89};// RNM(separator) - this.rules[62].opcodes[8] = {type: 4, index: 61};// RNM(collectionPathCapability) - this.rules[62].opcodes[9] = {type: 7, string: [125]};// TLS + this.rules[62].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[62].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[62].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[62].opcodes[5] = {type: 4, index: 61};// RNM(navCapability) + this.rules[62].opcodes[6] = {type: 4, index: 93};// RNM(OWS) + this.rules[62].opcodes[7] = {type: 7, string: [125]};// TLS - /* singleNavPathCapability */ + /* expandProperty */ this.rules[63].opcodes = []; - this.rules[63].opcodes[0] = {type: 1, children: [1,10]};// ALT - this.rules[63].opcodes[1] = {type: 2, children: [2,6]};// CAT - this.rules[63].opcodes[2] = {type: 1, children: [3,4,5]};// ALT - this.rules[63].opcodes[3] = {type: 7, string: [103,101,116]};// TLS - this.rules[63].opcodes[4] = {type: 7, string: [112,97,116,99,104]};// TLS - this.rules[63].opcodes[5] = {type: 7, string: [112,117,116]};// TLS - this.rules[63].opcodes[6] = {type: 3, min: 0, max: 1};// REP - this.rules[63].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[63].opcodes[8] = {type: 4, index: 102};// RNM(OWS) - this.rules[63].opcodes[9] = {type: 4, index: 72};// RNM(navCapabilities) + this.rules[63].opcodes[0] = {type: 1, children: [1,2]};// ALT + this.rules[63].opcodes[1] = {type: 4, index: 81};// RNM(star) + this.rules[63].opcodes[2] = {type: 2, children: [3,7,8]};// CAT + this.rules[63].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[63].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[63].opcodes[5] = {type: 4, index: 42};// RNM(castSegment) + this.rules[63].opcodes[6] = {type: 7, string: [47]};// TLS + this.rules[63].opcodes[7] = {type: 4, index: 64};// RNM(navigationProperty) + this.rules[63].opcodes[8] = {type: 1, children: [9,13]};// ALT + this.rules[63].opcodes[9] = {type: 3, min: 0, max: 1};// REP this.rules[63].opcodes[10] = {type: 2, children: [11,12]};// CAT - this.rules[63].opcodes[11] = {type: 7, string: [100,101,108,101,116,101]};// TLS - this.rules[63].opcodes[12] = {type: 4, index: 84};// RNM(noOptions) - - /* singleNavPathCapabilities */ + this.rules[63].opcodes[11] = {type: 4, index: 93};// RNM(OWS) + this.rules[63].opcodes[12] = {type: 4, index: 60};// RNM(collectionNavCapabilities) + this.rules[63].opcodes[13] = {type: 3, min: 0, max: 1};// REP + this.rules[63].opcodes[14] = {type: 2, children: [15,16]};// CAT + this.rules[63].opcodes[15] = {type: 4, index: 93};// RNM(OWS) + this.rules[63].opcodes[16] = {type: 4, index: 62};// RNM(navCapabilities) + + /* navigationProperty */ this.rules[64].opcodes = []; - this.rules[64].opcodes[0] = {type: 2, children: [1,2,9]};// CAT - this.rules[64].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[64].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[64].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[64].opcodes[4] = {type: 4, index: 63};// RNM(singleNavPathCapability) - this.rules[64].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP - this.rules[64].opcodes[6] = {type: 2, children: [7,8]};// CAT - this.rules[64].opcodes[7] = {type: 4, index: 89};// RNM(separator) - this.rules[64].opcodes[8] = {type: 4, index: 63};// RNM(singleNavPathCapability) - this.rules[64].opcodes[9] = {type: 7, string: [125]};// TLS + this.rules[64].opcodes[0] = {type: 4, index: 77};// RNM(identifier) - /* collectionNavPathCapability */ + /* filterCapability */ this.rules[65].opcodes = []; - this.rules[65].opcodes[0] = {type: 1, children: [1,7]};// ALT - this.rules[65].opcodes[1] = {type: 2, children: [2,3]};// CAT - this.rules[65].opcodes[2] = {type: 7, string: [103,101,116]};// TLS - this.rules[65].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[65].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[65].opcodes[5] = {type: 4, index: 102};// RNM(OWS) - this.rules[65].opcodes[6] = {type: 4, index: 70};// RNM(collectionNavCapabilities) - this.rules[65].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[65].opcodes[8] = {type: 7, string: [112,111,115,116]};// TLS - this.rules[65].opcodes[9] = {type: 3, min: 0, max: 1};// REP - this.rules[65].opcodes[10] = {type: 2, children: [11,12]};// CAT - this.rules[65].opcodes[11] = {type: 4, index: 102};// RNM(OWS) - this.rules[65].opcodes[12] = {type: 4, index: 72};// RNM(navCapabilities) + this.rules[65].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[65].opcodes[1] = {type: 7, string: [102,105,108,116,101,114]};// TLS + this.rules[65].opcodes[2] = {type: 3, min: 0, max: 1};// REP + this.rules[65].opcodes[3] = {type: 2, children: [4,5,15]};// CAT + this.rules[65].opcodes[4] = {type: 7, string: [40]};// TLS + this.rules[65].opcodes[5] = {type: 3, min: 0, max: 1};// REP + this.rules[65].opcodes[6] = {type: 2, children: [7,8,9]};// CAT + this.rules[65].opcodes[7] = {type: 4, index: 93};// RNM(OWS) + this.rules[65].opcodes[8] = {type: 4, index: 66};// RNM(filterProperty) + this.rules[65].opcodes[9] = {type: 3, min: 0, max: Infinity};// REP + this.rules[65].opcodes[10] = {type: 2, children: [11,12,13,14]};// CAT + this.rules[65].opcodes[11] = {type: 7, string: [44]};// TLS + this.rules[65].opcodes[12] = {type: 4, index: 93};// RNM(OWS) + this.rules[65].opcodes[13] = {type: 4, index: 66};// RNM(filterProperty) + this.rules[65].opcodes[14] = {type: 4, index: 93};// RNM(OWS) + this.rules[65].opcodes[15] = {type: 7, string: [41]};// TLS - /* collectionNavPathCapabilities */ + /* filterProperty */ this.rules[66].opcodes = []; - this.rules[66].opcodes[0] = {type: 2, children: [1,2,9]};// CAT - this.rules[66].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[66].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[66].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[66].opcodes[4] = {type: 4, index: 65};// RNM(collectionNavPathCapability) - this.rules[66].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP - this.rules[66].opcodes[6] = {type: 2, children: [7,8]};// CAT - this.rules[66].opcodes[7] = {type: 4, index: 89};// RNM(separator) - this.rules[66].opcodes[8] = {type: 4, index: 65};// RNM(collectionNavPathCapability) - this.rules[66].opcodes[9] = {type: 7, string: [125]};// TLS + this.rules[66].opcodes[0] = {type: 2, children: [1,9]};// CAT + this.rules[66].opcodes[1] = {type: 1, children: [2,8]};// ALT + this.rules[66].opcodes[2] = {type: 2, children: [3,7]};// CAT + this.rules[66].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[66].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[66].opcodes[5] = {type: 4, index: 13};// RNM(typeName) + this.rules[66].opcodes[6] = {type: 7, string: [47]};// TLS + this.rules[66].opcodes[7] = {type: 4, index: 31};// RNM(propertyName) + this.rules[66].opcodes[8] = {type: 4, index: 67};// RNM(allProperties) + this.rules[66].opcodes[9] = {type: 3, min: 0, max: 1};// REP + this.rules[66].opcodes[10] = {type: 2, children: [11,12]};// CAT + this.rules[66].opcodes[11] = {type: 4, index: 93};// RNM(OWS) + this.rules[66].opcodes[12] = {type: 4, index: 68};// RNM(filterOptions) - /* collectionCapability */ + /* allProperties */ this.rules[67].opcodes = []; - this.rules[67].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT - this.rules[67].opcodes[1] = {type: 4, index: 74};// RNM(filterCapability) - this.rules[67].opcodes[2] = {type: 4, index: 79};// RNM(orderByCapability) - this.rules[67].opcodes[3] = {type: 7, string: [116,111,112]};// TLS - this.rules[67].opcodes[4] = {type: 7, string: [115,107,105,112]};// TLS - this.rules[67].opcodes[5] = {type: 7, string: [99,111,117,110,116]};// TLS + this.rules[67].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[67].opcodes[1] = {type: 4, index: 81};// RNM(star) + this.rules[67].opcodes[2] = {type: 3, min: 0, max: 1};// REP + this.rules[67].opcodes[3] = {type: 2, children: [4,5]};// CAT + this.rules[67].opcodes[4] = {type: 7, string: [47]};// TLS + this.rules[67].opcodes[5] = {type: 4, index: 13};// RNM(typeName) - /* collectionCapabilities */ + /* filterOptions */ this.rules[68].opcodes = []; - this.rules[68].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT + this.rules[68].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT this.rules[68].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[68].opcodes[2] = {type: 4, index: 102};// RNM(OWS) + this.rules[68].opcodes[2] = {type: 4, index: 93};// RNM(OWS) this.rules[68].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[68].opcodes[4] = {type: 2, children: [5,6,10]};// CAT - this.rules[68].opcodes[5] = {type: 4, index: 67};// RNM(collectionCapability) - this.rules[68].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP - this.rules[68].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[68].opcodes[8] = {type: 4, index: 89};// RNM(separator) - this.rules[68].opcodes[9] = {type: 4, index: 67};// RNM(collectionCapability) - this.rules[68].opcodes[10] = {type: 4, index: 102};// RNM(OWS) - this.rules[68].opcodes[11] = {type: 7, string: [125]};// TLS + this.rules[68].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[68].opcodes[5] = {type: 4, index: 69};// RNM(filterOperations) + this.rules[68].opcodes[6] = {type: 4, index: 93};// RNM(OWS) + this.rules[68].opcodes[7] = {type: 7, string: [125]};// TLS - /* collectionNavCapability */ + /* filterOperations */ this.rules[69].opcodes = []; - this.rules[69].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[69].opcodes[1] = {type: 4, index: 67};// RNM(collectionCapability) - this.rules[69].opcodes[2] = {type: 4, index: 71};// RNM(navCapability) + this.rules[69].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT + this.rules[69].opcodes[1] = {type: 7, string: [110,111,110,101]};// TLS + this.rules[69].opcodes[2] = {type: 7, string: [101,113]};// TLS + this.rules[69].opcodes[3] = {type: 7, string: [99,111,109,112]};// TLS + this.rules[69].opcodes[4] = {type: 7, string: [115,116,114,105,110,103,99,111,109,112]};// TLS + this.rules[69].opcodes[5] = {type: 7, string: [115,116,114,105,110,103]};// TLS - /* collectionNavCapabilities */ + /* orderByCapability */ this.rules[70].opcodes = []; - this.rules[70].opcodes[0] = {type: 2, children: [1,2,3,11]};// CAT - this.rules[70].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[70].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[70].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[70].opcodes[4] = {type: 2, children: [5,6,10]};// CAT - this.rules[70].opcodes[5] = {type: 4, index: 69};// RNM(collectionNavCapability) - this.rules[70].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP - this.rules[70].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[70].opcodes[8] = {type: 4, index: 89};// RNM(separator) - this.rules[70].opcodes[9] = {type: 4, index: 69};// RNM(collectionNavCapability) - this.rules[70].opcodes[10] = {type: 4, index: 102};// RNM(OWS) - this.rules[70].opcodes[11] = {type: 7, string: [125]};// TLS + this.rules[70].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[70].opcodes[1] = {type: 7, string: [111,114,100,101,114,98,121]};// TLS + this.rules[70].opcodes[2] = {type: 3, min: 0, max: 1};// REP + this.rules[70].opcodes[3] = {type: 2, children: [4,5]};// CAT + this.rules[70].opcodes[4] = {type: 4, index: 93};// RNM(OWS) + this.rules[70].opcodes[5] = {type: 4, index: 71};// RNM(orderByProperties) - /* navCapability */ + /* orderByProperties */ this.rules[71].opcodes = []; - this.rules[71].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[71].opcodes[1] = {type: 7, string: [101,120,112,97,110,100]};// TLS - this.rules[71].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[71].opcodes[3] = {type: 2, children: [4,5,6,7,17,18]};// CAT - this.rules[71].opcodes[4] = {type: 4, index: 102};// RNM(OWS) - this.rules[71].opcodes[5] = {type: 7, string: [40]};// TLS - this.rules[71].opcodes[6] = {type: 4, index: 102};// RNM(OWS) - this.rules[71].opcodes[7] = {type: 3, min: 0, max: 1};// REP - this.rules[71].opcodes[8] = {type: 2, children: [9,10]};// CAT - this.rules[71].opcodes[9] = {type: 4, index: 73};// RNM(expandProperty) - this.rules[71].opcodes[10] = {type: 3, min: 0, max: Infinity};// REP - this.rules[71].opcodes[11] = {type: 2, children: [12,13,14,15,16]};// CAT - this.rules[71].opcodes[12] = {type: 4, index: 102};// RNM(OWS) - this.rules[71].opcodes[13] = {type: 7, string: [44]};// TLS - this.rules[71].opcodes[14] = {type: 4, index: 102};// RNM(OWS) - this.rules[71].opcodes[15] = {type: 4, index: 73};// RNM(expandProperty) - this.rules[71].opcodes[16] = {type: 4, index: 102};// RNM(OWS) - this.rules[71].opcodes[17] = {type: 4, index: 102};// RNM(OWS) - this.rules[71].opcodes[18] = {type: 7, string: [41]};// TLS + this.rules[71].opcodes[0] = {type: 2, children: [1,2,3,12]};// CAT + this.rules[71].opcodes[1] = {type: 7, string: [40]};// TLS + this.rules[71].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[71].opcodes[3] = {type: 3, min: 0, max: 1};// REP + this.rules[71].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[71].opcodes[5] = {type: 4, index: 72};// RNM(orderByProperty) + this.rules[71].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP + this.rules[71].opcodes[7] = {type: 2, children: [8,9,10,11]};// CAT + this.rules[71].opcodes[8] = {type: 7, string: [44]};// TLS + this.rules[71].opcodes[9] = {type: 4, index: 93};// RNM(OWS) + this.rules[71].opcodes[10] = {type: 4, index: 72};// RNM(orderByProperty) + this.rules[71].opcodes[11] = {type: 4, index: 93};// RNM(OWS) + this.rules[71].opcodes[12] = {type: 7, string: [41]};// TLS - /* navCapabilities */ + /* orderByProperty */ this.rules[72].opcodes = []; - this.rules[72].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT - this.rules[72].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[72].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[72].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[72].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[72].opcodes[5] = {type: 4, index: 71};// RNM(navCapability) - this.rules[72].opcodes[6] = {type: 4, index: 102};// RNM(OWS) - this.rules[72].opcodes[7] = {type: 7, string: [125]};// TLS + this.rules[72].opcodes[0] = {type: 1, children: [1,2]};// ALT + this.rules[72].opcodes[1] = {type: 4, index: 67};// RNM(allProperties) + this.rules[72].opcodes[2] = {type: 2, children: [3,4]};// CAT + this.rules[72].opcodes[3] = {type: 4, index: 31};// RNM(propertyName) + this.rules[72].opcodes[4] = {type: 3, min: 0, max: 1};// REP + this.rules[72].opcodes[5] = {type: 2, children: [6,7]};// CAT + this.rules[72].opcodes[6] = {type: 4, index: 93};// RNM(OWS) + this.rules[72].opcodes[7] = {type: 4, index: 73};// RNM(orderByDirection) - /* expandProperty */ + /* orderByDirection */ this.rules[73].opcodes = []; - this.rules[73].opcodes[0] = {type: 1, children: [1,2,12]};// ALT - this.rules[73].opcodes[1] = {type: 4, index: 90};// RNM(star) - this.rules[73].opcodes[2] = {type: 2, children: [3,7,8]};// CAT - this.rules[73].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[73].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[73].opcodes[5] = {type: 4, index: 54};// RNM(castSegment) - this.rules[73].opcodes[6] = {type: 7, string: [47]};// TLS - this.rules[73].opcodes[7] = {type: 4, index: 58};// RNM(collectionNavigationProperty) - this.rules[73].opcodes[8] = {type: 3, min: 0, max: 1};// REP - this.rules[73].opcodes[9] = {type: 2, children: [10,11]};// CAT - this.rules[73].opcodes[10] = {type: 4, index: 102};// RNM(OWS) - this.rules[73].opcodes[11] = {type: 4, index: 70};// RNM(collectionNavCapabilities) - this.rules[73].opcodes[12] = {type: 2, children: [13,17,18]};// CAT - this.rules[73].opcodes[13] = {type: 3, min: 0, max: 1};// REP - this.rules[73].opcodes[14] = {type: 2, children: [15,16]};// CAT - this.rules[73].opcodes[15] = {type: 4, index: 54};// RNM(castSegment) - this.rules[73].opcodes[16] = {type: 7, string: [47]};// TLS - this.rules[73].opcodes[17] = {type: 4, index: 57};// RNM(singleNavigationProperty) - this.rules[73].opcodes[18] = {type: 3, min: 0, max: 1};// REP - this.rules[73].opcodes[19] = {type: 2, children: [20,21]};// CAT - this.rules[73].opcodes[20] = {type: 4, index: 102};// RNM(OWS) - this.rules[73].opcodes[21] = {type: 4, index: 72};// RNM(navCapabilities) + this.rules[73].opcodes[0] = {type: 2, children: [1,2,12]};// CAT + this.rules[73].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[73].opcodes[2] = {type: 3, min: 0, max: 1};// REP + this.rules[73].opcodes[3] = {type: 2, children: [4,5,6]};// CAT + this.rules[73].opcodes[4] = {type: 4, index: 93};// RNM(OWS) + this.rules[73].opcodes[5] = {type: 4, index: 74};// RNM(ascOrDesc) + this.rules[73].opcodes[6] = {type: 3, min: 0, max: 1};// REP + this.rules[73].opcodes[7] = {type: 2, children: [8,9,10,11]};// CAT + this.rules[73].opcodes[8] = {type: 7, string: [44]};// TLS + this.rules[73].opcodes[9] = {type: 4, index: 93};// RNM(OWS) + this.rules[73].opcodes[10] = {type: 4, index: 74};// RNM(ascOrDesc) + this.rules[73].opcodes[11] = {type: 4, index: 93};// RNM(OWS) + this.rules[73].opcodes[12] = {type: 7, string: [125]};// TLS - /* filterCapability */ + /* ascOrDesc */ this.rules[74].opcodes = []; - this.rules[74].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[74].opcodes[1] = {type: 7, string: [102,105,108,116,101,114]};// TLS - this.rules[74].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[74].opcodes[3] = {type: 2, children: [4,5,15]};// CAT - this.rules[74].opcodes[4] = {type: 7, string: [40]};// TLS - this.rules[74].opcodes[5] = {type: 3, min: 0, max: 1};// REP - this.rules[74].opcodes[6] = {type: 2, children: [7,8,9]};// CAT - this.rules[74].opcodes[7] = {type: 4, index: 102};// RNM(OWS) - this.rules[74].opcodes[8] = {type: 4, index: 75};// RNM(filterProperty) - this.rules[74].opcodes[9] = {type: 3, min: 0, max: Infinity};// REP - this.rules[74].opcodes[10] = {type: 2, children: [11,12,13,14]};// CAT - this.rules[74].opcodes[11] = {type: 7, string: [44]};// TLS - this.rules[74].opcodes[12] = {type: 4, index: 102};// RNM(OWS) - this.rules[74].opcodes[13] = {type: 4, index: 75};// RNM(filterProperty) - this.rules[74].opcodes[14] = {type: 4, index: 102};// RNM(OWS) - this.rules[74].opcodes[15] = {type: 7, string: [41]};// TLS + this.rules[74].opcodes[0] = {type: 1, children: [1,2]};// ALT + this.rules[74].opcodes[1] = {type: 7, string: [97,115,99]};// TLS + this.rules[74].opcodes[2] = {type: 7, string: [100,101,115,99]};// TLS - /* filterProperty */ + /* noOptions */ this.rules[75].opcodes = []; - this.rules[75].opcodes[0] = {type: 2, children: [1,9]};// CAT - this.rules[75].opcodes[1] = {type: 1, children: [2,8]};// ALT - this.rules[75].opcodes[2] = {type: 2, children: [3,7]};// CAT - this.rules[75].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[75].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[75].opcodes[5] = {type: 4, index: 13};// RNM(typeName) - this.rules[75].opcodes[6] = {type: 7, string: [47]};// TLS - this.rules[75].opcodes[7] = {type: 4, index: 31};// RNM(propertyName) - this.rules[75].opcodes[8] = {type: 4, index: 76};// RNM(allProperties) - this.rules[75].opcodes[9] = {type: 3, min: 0, max: 1};// REP - this.rules[75].opcodes[10] = {type: 2, children: [11,12]};// CAT - this.rules[75].opcodes[11] = {type: 4, index: 102};// RNM(OWS) - this.rules[75].opcodes[12] = {type: 4, index: 77};// RNM(filterOptions) + this.rules[75].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT + this.rules[75].opcodes[1] = {type: 4, index: 93};// RNM(OWS) + this.rules[75].opcodes[2] = {type: 7, string: [123]};// TLS + this.rules[75].opcodes[3] = {type: 4, index: 93};// RNM(OWS) + this.rules[75].opcodes[4] = {type: 7, string: [125]};// TLS - /* allProperties */ + /* qualifiedName */ this.rules[76].opcodes = []; this.rules[76].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[76].opcodes[1] = {type: 4, index: 90};// RNM(star) - this.rules[76].opcodes[2] = {type: 3, min: 0, max: 1};// REP + this.rules[76].opcodes[1] = {type: 4, index: 77};// RNM(identifier) + this.rules[76].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP this.rules[76].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[76].opcodes[4] = {type: 7, string: [47]};// TLS - this.rules[76].opcodes[5] = {type: 4, index: 13};// RNM(typeName) + this.rules[76].opcodes[4] = {type: 7, string: [46]};// TLS + this.rules[76].opcodes[5] = {type: 4, index: 77};// RNM(identifier) - /* filterOptions */ + /* identifier */ this.rules[77].opcodes = []; - this.rules[77].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT - this.rules[77].opcodes[1] = {type: 7, string: [123]};// TLS - this.rules[77].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[77].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[77].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[77].opcodes[5] = {type: 4, index: 78};// RNM(filterOperations) - this.rules[77].opcodes[6] = {type: 4, index: 102};// RNM(OWS) - this.rules[77].opcodes[7] = {type: 7, string: [125]};// TLS + this.rules[77].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[77].opcodes[1] = {type: 4, index: 78};// RNM(identInitial) + this.rules[77].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP + this.rules[77].opcodes[3] = {type: 4, index: 79};// RNM(identSubsequent) - /* filterOperations */ + /* identInitial */ this.rules[78].opcodes = []; - this.rules[78].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT - this.rules[78].opcodes[1] = {type: 7, string: [110,111,110,101]};// TLS - this.rules[78].opcodes[2] = {type: 7, string: [101,113]};// TLS - this.rules[78].opcodes[3] = {type: 7, string: [99,111,109,112]};// TLS - this.rules[78].opcodes[4] = {type: 7, string: [115,116,114,105,110,103,99,111,109,112]};// TLS - this.rules[78].opcodes[5] = {type: 7, string: [115,116,114,105,110,103]};// TLS + this.rules[78].opcodes[0] = {type: 1, children: [1,2]};// ALT + this.rules[78].opcodes[1] = {type: 4, index: 88};// RNM(ALPHA) + this.rules[78].opcodes[2] = {type: 7, string: [95]};// TLS - /* orderByCapability */ + /* identSubsequent */ this.rules[79].opcodes = []; - this.rules[79].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[79].opcodes[1] = {type: 7, string: [111,114,100,101,114,98,121]};// TLS - this.rules[79].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[79].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[79].opcodes[4] = {type: 4, index: 102};// RNM(OWS) - this.rules[79].opcodes[5] = {type: 4, index: 80};// RNM(orderByProperties) + this.rules[79].opcodes[0] = {type: 1, children: [1,2]};// ALT + this.rules[79].opcodes[1] = {type: 4, index: 78};// RNM(identInitial) + this.rules[79].opcodes[2] = {type: 4, index: 89};// RNM(DIGIT) - /* orderByProperties */ + /* separator */ this.rules[80].opcodes = []; - this.rules[80].opcodes[0] = {type: 2, children: [1,2,3,12]};// CAT - this.rules[80].opcodes[1] = {type: 7, string: [40]};// TLS - this.rules[80].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[80].opcodes[3] = {type: 3, min: 0, max: 1};// REP - this.rules[80].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[80].opcodes[5] = {type: 4, index: 81};// RNM(orderByProperty) - this.rules[80].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP - this.rules[80].opcodes[7] = {type: 2, children: [8,9,10,11]};// CAT - this.rules[80].opcodes[8] = {type: 7, string: [44]};// TLS - this.rules[80].opcodes[9] = {type: 4, index: 102};// RNM(OWS) - this.rules[80].opcodes[10] = {type: 4, index: 81};// RNM(orderByProperty) - this.rules[80].opcodes[11] = {type: 4, index: 102};// RNM(OWS) - this.rules[80].opcodes[12] = {type: 7, string: [41]};// TLS + this.rules[80].opcodes[0] = {type: 1, children: [1,5]};// ALT + this.rules[80].opcodes[1] = {type: 2, children: [2,3,4]};// CAT + this.rules[80].opcodes[2] = {type: 4, index: 93};// RNM(OWS) + this.rules[80].opcodes[3] = {type: 7, string: [44]};// TLS + this.rules[80].opcodes[4] = {type: 4, index: 93};// RNM(OWS) + this.rules[80].opcodes[5] = {type: 4, index: 94};// RNM(RWS) - /* orderByProperty */ + /* star */ this.rules[81].opcodes = []; - this.rules[81].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[81].opcodes[1] = {type: 4, index: 76};// RNM(allProperties) - this.rules[81].opcodes[2] = {type: 2, children: [3,4]};// CAT - this.rules[81].opcodes[3] = {type: 4, index: 31};// RNM(propertyName) - this.rules[81].opcodes[4] = {type: 3, min: 0, max: 1};// REP - this.rules[81].opcodes[5] = {type: 2, children: [6,7]};// CAT - this.rules[81].opcodes[6] = {type: 4, index: 102};// RNM(OWS) - this.rules[81].opcodes[7] = {type: 4, index: 82};// RNM(orderByDirection) + this.rules[81].opcodes[0] = {type: 7, string: [42]};// TLS - /* orderByDirection */ + /* number */ this.rules[82].opcodes = []; - this.rules[82].opcodes[0] = {type: 2, children: [1,2,12]};// CAT - this.rules[82].opcodes[1] = {type: 7, string: [123]};// TLS + this.rules[82].opcodes[0] = {type: 2, children: [1,2,7]};// CAT + this.rules[82].opcodes[1] = {type: 4, index: 83};// RNM(integer) this.rules[82].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[82].opcodes[3] = {type: 2, children: [4,5,6]};// CAT - this.rules[82].opcodes[4] = {type: 4, index: 102};// RNM(OWS) - this.rules[82].opcodes[5] = {type: 4, index: 83};// RNM(ascOrDesc) - this.rules[82].opcodes[6] = {type: 3, min: 0, max: 1};// REP - this.rules[82].opcodes[7] = {type: 2, children: [8,9,10,11]};// CAT - this.rules[82].opcodes[8] = {type: 7, string: [44]};// TLS - this.rules[82].opcodes[9] = {type: 4, index: 102};// RNM(OWS) - this.rules[82].opcodes[10] = {type: 4, index: 83};// RNM(ascOrDesc) - this.rules[82].opcodes[11] = {type: 4, index: 102};// RNM(OWS) - this.rules[82].opcodes[12] = {type: 7, string: [125]};// TLS + this.rules[82].opcodes[3] = {type: 2, children: [4,5]};// CAT + this.rules[82].opcodes[4] = {type: 7, string: [46]};// TLS + this.rules[82].opcodes[5] = {type: 3, min: 1, max: Infinity};// REP + this.rules[82].opcodes[6] = {type: 4, index: 89};// RNM(DIGIT) + this.rules[82].opcodes[7] = {type: 3, min: 0, max: 1};// REP + this.rules[82].opcodes[8] = {type: 2, children: [9,10]};// CAT + this.rules[82].opcodes[9] = {type: 7, string: [101]};// TLS + this.rules[82].opcodes[10] = {type: 4, index: 83};// RNM(integer) - /* ascOrDesc */ + /* integer */ this.rules[83].opcodes = []; - this.rules[83].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[83].opcodes[1] = {type: 7, string: [97,115,99]};// TLS - this.rules[83].opcodes[2] = {type: 7, string: [100,101,115,99]};// TLS + this.rules[83].opcodes[0] = {type: 2, children: [1,5]};// CAT + this.rules[83].opcodes[1] = {type: 3, min: 0, max: 1};// REP + this.rules[83].opcodes[2] = {type: 1, children: [3,4]};// ALT + this.rules[83].opcodes[3] = {type: 7, string: [43]};// TLS + this.rules[83].opcodes[4] = {type: 7, string: [45]};// TLS + this.rules[83].opcodes[5] = {type: 1, children: [6,7]};// ALT + this.rules[83].opcodes[6] = {type: 6, string: [48]};// TBS + this.rules[83].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[83].opcodes[8] = {type: 5, min: 49, max: 57};// TRG + this.rules[83].opcodes[9] = {type: 3, min: 0, max: Infinity};// REP + this.rules[83].opcodes[10] = {type: 4, index: 89};// RNM(DIGIT) - /* noOptions */ + /* precision */ this.rules[84].opcodes = []; - this.rules[84].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT - this.rules[84].opcodes[1] = {type: 4, index: 102};// RNM(OWS) - this.rules[84].opcodes[2] = {type: 7, string: [123]};// TLS - this.rules[84].opcodes[3] = {type: 4, index: 102};// RNM(OWS) - this.rules[84].opcodes[4] = {type: 7, string: [125]};// TLS + this.rules[84].opcodes[0] = {type: 4, index: 83};// RNM(integer) - /* qualifiedName */ + /* scale */ this.rules[85].opcodes = []; - this.rules[85].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[85].opcodes[1] = {type: 4, index: 86};// RNM(identifier) - this.rules[85].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP - this.rules[85].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[85].opcodes[4] = {type: 7, string: [46]};// TLS - this.rules[85].opcodes[5] = {type: 4, index: 86};// RNM(identifier) + this.rules[85].opcodes[0] = {type: 4, index: 83};// RNM(integer) - /* identifier */ + /* maxLength */ this.rules[86].opcodes = []; - this.rules[86].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[86].opcodes[1] = {type: 4, index: 87};// RNM(identInitial) - this.rules[86].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP - this.rules[86].opcodes[3] = {type: 4, index: 88};// RNM(identSubsequent) + this.rules[86].opcodes[0] = {type: 4, index: 83};// RNM(integer) - /* identInitial */ + /* DOC-COMMENT */ this.rules[87].opcodes = []; - this.rules[87].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[87].opcodes[1] = {type: 4, index: 97};// RNM(ALPHA) - this.rules[87].opcodes[2] = {type: 7, string: [95]};// TLS + this.rules[87].opcodes[0] = {type: 2, children: [1,2]};// CAT + this.rules[87].opcodes[1] = {type: 7, string: [35,35]};// TLS + this.rules[87].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP + this.rules[87].opcodes[3] = {type: 1, children: [4,5,6]};// ALT + this.rules[87].opcodes[4] = {type: 5, min: 0, max: 9};// TRG + this.rules[87].opcodes[5] = {type: 5, min: 11, max: 12};// TRG + this.rules[87].opcodes[6] = {type: 5, min: 14, max: 1114111};// TRG - /* identSubsequent */ + /* ALPHA */ this.rules[88].opcodes = []; this.rules[88].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[88].opcodes[1] = {type: 4, index: 87};// RNM(identInitial) - this.rules[88].opcodes[2] = {type: 4, index: 98};// RNM(DIGIT) - - /* separator */ - this.rules[89].opcodes = []; - this.rules[89].opcodes[0] = {type: 1, children: [1,5]};// ALT - this.rules[89].opcodes[1] = {type: 2, children: [2,3,4]};// CAT - this.rules[89].opcodes[2] = {type: 4, index: 102};// RNM(OWS) - this.rules[89].opcodes[3] = {type: 7, string: [44]};// TLS - this.rules[89].opcodes[4] = {type: 4, index: 102};// RNM(OWS) - this.rules[89].opcodes[5] = {type: 4, index: 103};// RNM(RWS) - - /* star */ - this.rules[90].opcodes = []; - this.rules[90].opcodes[0] = {type: 7, string: [42]};// TLS - - /* number */ - this.rules[91].opcodes = []; - this.rules[91].opcodes[0] = {type: 2, children: [1,2,7]};// CAT - this.rules[91].opcodes[1] = {type: 4, index: 92};// RNM(integer) - this.rules[91].opcodes[2] = {type: 3, min: 0, max: 1};// REP - this.rules[91].opcodes[3] = {type: 2, children: [4,5]};// CAT - this.rules[91].opcodes[4] = {type: 7, string: [46]};// TLS - this.rules[91].opcodes[5] = {type: 3, min: 1, max: Infinity};// REP - this.rules[91].opcodes[6] = {type: 4, index: 98};// RNM(DIGIT) - this.rules[91].opcodes[7] = {type: 3, min: 0, max: 1};// REP - this.rules[91].opcodes[8] = {type: 2, children: [9,10]};// CAT - this.rules[91].opcodes[9] = {type: 7, string: [101]};// TLS - this.rules[91].opcodes[10] = {type: 4, index: 92};// RNM(integer) - - /* integer */ - this.rules[92].opcodes = []; - this.rules[92].opcodes[0] = {type: 2, children: [1,5]};// CAT - this.rules[92].opcodes[1] = {type: 3, min: 0, max: 1};// REP - this.rules[92].opcodes[2] = {type: 1, children: [3,4]};// ALT - this.rules[92].opcodes[3] = {type: 7, string: [43]};// TLS - this.rules[92].opcodes[4] = {type: 7, string: [45]};// TLS - this.rules[92].opcodes[5] = {type: 1, children: [6,7]};// ALT - this.rules[92].opcodes[6] = {type: 6, string: [48]};// TBS - this.rules[92].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[92].opcodes[8] = {type: 5, min: 49, max: 57};// TRG - this.rules[92].opcodes[9] = {type: 3, min: 0, max: Infinity};// REP - this.rules[92].opcodes[10] = {type: 4, index: 98};// RNM(DIGIT) - - /* precision */ - this.rules[93].opcodes = []; - this.rules[93].opcodes[0] = {type: 4, index: 92};// RNM(integer) - - /* scale */ - this.rules[94].opcodes = []; - this.rules[94].opcodes[0] = {type: 4, index: 92};// RNM(integer) - - /* maxLength */ - this.rules[95].opcodes = []; - this.rules[95].opcodes[0] = {type: 4, index: 92};// RNM(integer) - - /* DOC-COMMENT */ - this.rules[96].opcodes = []; - this.rules[96].opcodes[0] = {type: 2, children: [1,2]};// CAT - this.rules[96].opcodes[1] = {type: 7, string: [35,35]};// TLS - this.rules[96].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP - this.rules[96].opcodes[3] = {type: 1, children: [4,5,6]};// ALT - this.rules[96].opcodes[4] = {type: 5, min: 0, max: 9};// TRG - this.rules[96].opcodes[5] = {type: 5, min: 11, max: 12};// TRG - this.rules[96].opcodes[6] = {type: 5, min: 14, max: 1114111};// TRG - - /* ALPHA */ - this.rules[97].opcodes = []; - this.rules[97].opcodes[0] = {type: 1, children: [1,2]};// ALT - this.rules[97].opcodes[1] = {type: 5, min: 65, max: 90};// TRG - this.rules[97].opcodes[2] = {type: 5, min: 97, max: 122};// TRG + this.rules[88].opcodes[1] = {type: 5, min: 65, max: 90};// TRG + this.rules[88].opcodes[2] = {type: 5, min: 97, max: 122};// TRG /* DIGIT */ - this.rules[98].opcodes = []; - this.rules[98].opcodes[0] = {type: 5, min: 48, max: 57};// TRG + this.rules[89].opcodes = []; + this.rules[89].opcodes[0] = {type: 5, min: 48, max: 57};// TRG /* CHAR */ - this.rules[99].opcodes = []; - this.rules[99].opcodes[0] = {type: 1, children: [1,2,3,4,7]};// ALT - this.rules[99].opcodes[1] = {type: 5, min: 32, max: 33};// TRG - this.rules[99].opcodes[2] = {type: 5, min: 35, max: 91};// TRG - this.rules[99].opcodes[3] = {type: 5, min: 93, max: 1114111};// TRG - this.rules[99].opcodes[4] = {type: 2, children: [5,6]};// CAT - this.rules[99].opcodes[5] = {type: 4, index: 101};// RNM(ESCAPE) - this.rules[99].opcodes[6] = {type: 4, index: 101};// RNM(ESCAPE) - this.rules[99].opcodes[7] = {type: 2, children: [8,9]};// CAT - this.rules[99].opcodes[8] = {type: 4, index: 101};// RNM(ESCAPE) - this.rules[99].opcodes[9] = {type: 4, index: 100};// RNM(DQUOTE) + this.rules[90].opcodes = []; + this.rules[90].opcodes[0] = {type: 1, children: [1,2,3,4,7]};// ALT + this.rules[90].opcodes[1] = {type: 5, min: 32, max: 33};// TRG + this.rules[90].opcodes[2] = {type: 5, min: 35, max: 91};// TRG + this.rules[90].opcodes[3] = {type: 5, min: 93, max: 1114111};// TRG + this.rules[90].opcodes[4] = {type: 2, children: [5,6]};// CAT + this.rules[90].opcodes[5] = {type: 4, index: 92};// RNM(ESCAPE) + this.rules[90].opcodes[6] = {type: 4, index: 92};// RNM(ESCAPE) + this.rules[90].opcodes[7] = {type: 2, children: [8,9]};// CAT + this.rules[90].opcodes[8] = {type: 4, index: 92};// RNM(ESCAPE) + this.rules[90].opcodes[9] = {type: 4, index: 91};// RNM(DQUOTE) /* DQUOTE */ - this.rules[100].opcodes = []; - this.rules[100].opcodes[0] = {type: 6, string: [34]};// TBS + this.rules[91].opcodes = []; + this.rules[91].opcodes[0] = {type: 6, string: [34]};// TBS /* ESCAPE */ - this.rules[101].opcodes = []; - this.rules[101].opcodes[0] = {type: 6, string: [92]};// TBS + this.rules[92].opcodes = []; + this.rules[92].opcodes[0] = {type: 6, string: [92]};// TBS /* OWS */ - this.rules[102].opcodes = []; - this.rules[102].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP - this.rules[102].opcodes[1] = {type: 4, index: 104};// RNM(WS) + this.rules[93].opcodes = []; + this.rules[93].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP + this.rules[93].opcodes[1] = {type: 4, index: 95};// RNM(WS) /* RWS */ - this.rules[103].opcodes = []; - this.rules[103].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP - this.rules[103].opcodes[1] = {type: 4, index: 104};// RNM(WS) + this.rules[94].opcodes = []; + this.rules[94].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP + this.rules[94].opcodes[1] = {type: 4, index: 95};// RNM(WS) /* WS */ - this.rules[104].opcodes = []; - this.rules[104].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT - this.rules[104].opcodes[1] = {type: 6, string: [8]};// TBS - this.rules[104].opcodes[2] = {type: 6, string: [10]};// TBS - this.rules[104].opcodes[3] = {type: 6, string: [13]};// TBS - this.rules[104].opcodes[4] = {type: 6, string: [32]};// TBS + this.rules[95].opcodes = []; + this.rules[95].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT + this.rules[95].opcodes[1] = {type: 6, string: [8]};// TBS + this.rules[95].opcodes[2] = {type: 6, string: [10]};// TBS + this.rules[95].opcodes[3] = {type: 6, string: [13]};// TBS + this.rules[95].opcodes[4] = {type: 6, string: [32]};// TBS // The `toString()` function will display the original grammar file(s) that produced these opcodes. this.toString = function toString(){ @@ -1606,61 +1483,29 @@ module.exports = function grammar(){ str += "\r\n"; str += "paths = %s\"paths\" OWS \"{\" *( OWS \"/\" path ) OWS \"}\"\r\n"; str += "\r\n"; - str += "path = serviceOperationSegment [ ( RWS serviceOperationCapabilities ) / ( *( \"/\" interimSegment ) \"/\" lastSegment ) ]\r\n"; - str += " / identifier [ \"/\" castSegment ] [ ( RWS collectionNavPathCapabilities ) / ( \"/\" keySegment [ ( RWS singleNavPathCapabilities / ( *( \"/\" interimSegment ) \"/\" lastSegment ) ) ] ) ]\r\n"; - str += " / identifier [ \"/\" castSegment ] [ ( RWS singleNavPathCapabilities ) / ( *( \"/\" interimSegment ) \"/\" lastSegment ) ]\r\n"; - str += "\r\n"; - str += "interimSegment = collectionNavSegment \"/\" keySegment\r\n"; - str += " / serviceOperationSegment\r\n"; - str += " / castSegment\r\n"; - str += " / singleValuedSegment\r\n"; - str += " / singleNavSegment\r\n"; - str += "\r\n"; - str += "lastSegment = serviceOperationSegment [ RWS serviceOperationCapabilities ]\r\n"; - str += " / singleValuedSegment [ \"/\" castSegment ] [ RWS singlePathCapabilities ]\r\n"; - str += " / collectionValuedSegment [ \"/\" castSegment ] [ RWS collectionPathCapabilities ]\r\n"; - str += " / singleNavSegment [ \"/\" castSegment ] [ RWS singleNavPathCapabilities ]\r\n"; - str += " / collectionNavSegment [ \"/\" castSegment ] [ RWS ( collectionNavPathCapabilities / \"/\" keySegment RWS singleNavPathCapabilities )]\r\n"; + str += "path = propertySegment \"/\" keySegment [ pathSegment / ( RWS singleNavPathCapabilities ) ]\r\n"; + str += " / serviceOperationSegment \"/\" keySegment [ pathSegment / ( RWS singleNavPathCapabilities ) ]\r\n"; + str += " / serviceOperationSegment [ pathSegment / ( RWS capabilities ) ]\r\n"; + str += " / castSegment [ pathSegment / collectionPathCapabilities / ( RWS collectionNavPathCapabilities ) ]\r\n"; + str += " / propertySegment [ pathSegment / ( RWS capabilities ) ]\r\n"; str += "\r\n"; - str += "serviceOperationSegment = identifier parameters [ \"/\" castSegment ] [ \"/\" keySegment ]\r\n"; - str += "\r\n"; - str += "serviceOperationCapabilities = singlePathCapabilities / collectionPathCapabilities / singleNavPathCapabilities / collectionNavPathCapabilities\r\n"; - str += "\r\n"; - str += "singleValuedSegment = identifier ; a single property\r\n"; - str += " / singleValuedOperation\r\n"; - str += "\r\n"; - str += "collectionValuedSegment = identifier ; a collection-valued property\r\n"; - str += " / collectionValuedOperation\r\n"; - str += "\r\n"; - str += "singleNavSegment = identifier ; a single navigation property\r\n"; - str += " / singleNavigationProperty\r\n"; - str += " / singleNavValuedOperation\r\n"; + str += "propertySegment = identifier; structural or navigation property\r\n"; str += "\r\n"; - str += "collectionNavSegment = identifier ; a collection-valued navigation property\r\n"; - str += " / collectionNavigationProperty\r\n"; - str += " / collectionNavValuedOperation\r\n"; + str += "pathSegment = \"/\" path\r\n"; str += "\r\n"; - str += "singleValuedOperation = identifier ; an operation that returns a single value\r\n"; + str += "castSegment = identifier 1*( \".\" identifier )\r\n"; str += "\r\n"; - str += "collectionValuedOperation = identifier ; an operation that returns a collection value\r\n"; + str += "keySegment = \"{\" keyProperty \"}\"\r\n"; str += "\r\n"; - str += "singleNavValuedOperation = identifier ; an operation that returns a single navigation value\r\n"; + str += "keyProperty = identifier ; name of the key property\r\n"; str += "\r\n"; - str += "collectionNavValuedOperation = identifier ; an operation that returns a collection of navigation values\r\n"; + str += "serviceOperationSegment = identifier parameters [ \"/\" castSegment ] [ \"/\" keySegment ]\r\n"; str += "\r\n"; str += "parameters = \"(\" OWS parameterSpecification *( \",\" OWS parameterSpecification ) OWS \")\"\r\n"; str += "\r\n"; str += "parameterSpecification = identifier OWS \"=\" OWS \"{\" identifier \"}\"\r\n"; str += "\r\n"; - str += "castSegment = identifier 1*( \".\" identifier )\r\n"; - str += "\r\n"; - str += "keySegment = \"{\" keyProperty \"}\"\r\n"; - str += "\r\n"; - str += "keyProperty = identifier ; name of the key property\r\n"; - str += "\r\n"; - str += "singleNavigationProperty = identifier ; a single valued navigation property\r\n"; - str += "\r\n"; - str += "collectionNavigationProperty = identifier ; a collection valued navigation property\r\n"; + str += "capabilities = singlePathCapabilities / collectionPathCapabilities / singleNavPathCapabilities / collectionNavPathCapabilities\r\n"; str += "\r\n"; str += "\r\n"; str += "\r\n"; @@ -1671,19 +1516,19 @@ module.exports = function grammar(){ str += "\r\n"; str += "singlePathCapability = (\"GET\" / \"PUT\" / \"PATCH\" / \"DELETE\") [noOptions]\r\n"; str += "\r\n"; - str += "singlePathCapabilities = \"{\" [singlePathCapability *( separator singlePathCapability)] \"}\"\r\n"; + str += "singlePathCapabilities = \"{\" OWS [singlePathCapability *( separator singlePathCapability) OWS] \"}\"\r\n"; str += "\r\n"; str += "collectionPathCapability = \"GET\" [ collectionCapabilities ] / \"POST\" [noOptions]\r\n"; str += "\r\n"; - str += "collectionPathCapabilities = \"{\" [ collectionPathCapability *( separator collectionPathCapability )] \"}\"\r\n"; + str += "collectionPathCapabilities = \"{\" OWS [ collectionPathCapability *( separator collectionPathCapability ) OWS ] \"}\"\r\n"; str += "\r\n"; str += "singleNavPathCapability = (\"GET\" / \"PATCH\" / \"PUT\") [ OWS navCapabilities ] / \"DELETE\" noOptions\r\n"; str += "\r\n"; - str += "singleNavPathCapabilities = \"{\" [singleNavPathCapability *( separator singleNavPathCapability )] \"}\"\r\n"; + str += "singleNavPathCapabilities = \"{\" OWS [singleNavPathCapability *( separator singleNavPathCapability ) OWS ] \"}\"\r\n"; str += "\r\n"; str += "collectionNavPathCapability = \"GET\" [ OWS collectionNavCapabilities ] / \"POST\" [ OWS navCapabilities ]\r\n"; str += "\r\n"; - str += "collectionNavPathCapabilities = \"{\" [ collectionNavPathCapability *( separator collectionNavPathCapability )] \"}\"\r\n"; + str += "collectionNavPathCapabilities = \"{\" OWS [ collectionNavPathCapability *( separator collectionNavPathCapability ) OWS ] \"}\"\r\n"; str += "\r\n"; str += "\r\n"; str += "\r\n"; @@ -1704,9 +1549,9 @@ module.exports = function grammar(){ str += "\r\n"; str += "navCapabilities = \"{\" OWS [ navCapability OWS ] \"}\"\r\n"; str += "\r\n"; - str += "expandProperty = star /\r\n"; - str += " [ castSegment \"/\" ] collectionNavigationProperty [ OWS collectionNavCapabilities ] /\r\n"; - str += " [ castSegment \"/\" ] ( singleNavigationProperty ) [ OWS navCapabilities ]\r\n"; + str += "expandProperty = star / [ castSegment \"/\" ] navigationProperty ( [ OWS collectionNavCapabilities ] / [ OWS navCapabilities ] )\r\n"; + str += "\r\n"; + str += "navigationProperty = identifier ; single or collection valued navigation property\r\n"; str += "\r\n"; str += "filterCapability = \"filter\" [ \"(\" [ OWS filterProperty *( \",\" OWS filterProperty OWS ) ] \")\" ]\r\n"; str += "\r\n"; diff --git a/tools/rsdl/abnf/rsdl-testcases.yaml b/tools/rsdl/abnf/rsdl-testcases.yaml index 138b9a9d..ee3f3467 100644 --- a/tools/rsdl/abnf/rsdl-testcases.yaml +++ b/tools/rsdl/abnf/rsdl-testcases.yaml @@ -335,3 +335,89 @@ /topEmployees(num={num})/{id} /topEmployees(num={num},num2={num2})/{id} } + +- source: | + paths { + /company/employees { GET } + } + +- source: | + paths { + /company/employees { GET {} } + } + +- source: | + paths { + /company/employees { GET { orderby(name {asc, desc}) } } + } + +- source: | + paths { + /company/employees { GET { top skip count } } + } + +- source: | + paths { + /company/employees { GET { filter(name {stringComp}) } } + } + +- source: | + paths { + /company/employees { GET { expand( employees { top, skip, count, filter, orderby } ) } } + } + +- source: | + paths { + /company/employees { GET { orderby top skip count filter expand } } + } + +- source: | + paths { + /company/employees { GET { orderby(name) filter(name) expand( employees ) } } + } + +- source: | + paths { + /company/employees { GET { orderby(name {asc, desc}) top skip count filter(name {stringComp}) expand( employees { top, skip, count, filter, orderby } ) } } + } + +- source: | + paths { + /company/employees { GET { orderby(*) filter(*) } } + } + +- source: | + paths { + /company/employees { POST } + } + +- source: | + paths { + /company/employees { GET } + } + +- source: | + paths { + /company/employees { PATCH } + } + +- source: | + paths { + /company/employees { PUT } + } + +- source: | + paths { + /company/employees { DELETE } + } + +- source: | + paths { + /company/employees/{id} { GET { expand( employees { top, skip, count, filter, orderby } ) } } + } + +- source: | + paths { + /company/employees/{id} { GET { orderby(name {asc, desc}) top skip count filter(name {stringComp}) expand( employees { top, skip, count, filter, orderby } ) } } + } + failAt: 42 # collection valued capabilities not supported for a single valued collection diff --git a/tools/rsdl/abnf/rsdl.abnf b/tools/rsdl/abnf/rsdl.abnf index 44ab3e6c..ffdbd396 100644 --- a/tools/rsdl/abnf/rsdl.abnf +++ b/tools/rsdl/abnf/rsdl.abnf @@ -144,61 +144,29 @@ collectionNavigationCapabilities = "{" OWS [ collectionNavigationCapability *( s paths = %s"paths" OWS "{" *( OWS "/" path ) OWS "}" -path = serviceOperationSegment [ ( RWS serviceOperationCapabilities ) / ( *( "/" interimSegment ) "/" lastSegment ) ] - / identifier [ "/" castSegment ] [ ( RWS collectionNavPathCapabilities ) / ( "/" keySegment [ ( RWS singleNavPathCapabilities / ( *( "/" interimSegment ) "/" lastSegment ) ) ] ) ] - / identifier [ "/" castSegment ] [ ( RWS singleNavPathCapabilities ) / ( *( "/" interimSegment ) "/" lastSegment ) ] - -interimSegment = collectionNavSegment "/" keySegment - / serviceOperationSegment - / castSegment - / singleValuedSegment - / singleNavSegment - -lastSegment = serviceOperationSegment [ RWS serviceOperationCapabilities ] - / singleValuedSegment [ "/" castSegment ] [ RWS singlePathCapabilities ] - / collectionValuedSegment [ "/" castSegment ] [ RWS collectionPathCapabilities ] - / singleNavSegment [ "/" castSegment ] [ RWS singleNavPathCapabilities ] - / collectionNavSegment [ "/" castSegment ] [ RWS ( collectionNavPathCapabilities / "/" keySegment RWS singleNavPathCapabilities )] +path = propertySegment "/" keySegment [ pathSegment / ( RWS singleNavPathCapabilities ) ] + / serviceOperationSegment "/" keySegment [ pathSegment / ( RWS singleNavPathCapabilities ) ] + / serviceOperationSegment [ pathSegment / ( RWS capabilities ) ] + / castSegment [ pathSegment / collectionPathCapabilities / ( RWS collectionNavPathCapabilities ) ] + / propertySegment [ pathSegment / ( RWS capabilities ) ] -serviceOperationSegment = identifier parameters [ "/" castSegment ] [ "/" keySegment ] - -serviceOperationCapabilities = singlePathCapabilities / collectionPathCapabilities / singleNavPathCapabilities / collectionNavPathCapabilities - -singleValuedSegment = identifier ; a single property - / singleValuedOperation - -collectionValuedSegment = identifier ; a collection-valued property - / collectionValuedOperation - -singleNavSegment = identifier ; a single navigation property - / singleNavigationProperty - / singleNavValuedOperation +propertySegment = identifier; structural or navigation property -collectionNavSegment = identifier ; a collection-valued navigation property - / collectionNavigationProperty - / collectionNavValuedOperation +pathSegment = "/" path -singleValuedOperation = identifier ; an operation that returns a single value +castSegment = identifier 1*( "." identifier ) -collectionValuedOperation = identifier ; an operation that returns a collection value +keySegment = "{" keyProperty "}" -singleNavValuedOperation = identifier ; an operation that returns a single navigation value +keyProperty = identifier ; name of the key property -collectionNavValuedOperation = identifier ; an operation that returns a collection of navigation values +serviceOperationSegment = identifier parameters [ "/" castSegment ] [ "/" keySegment ] parameters = "(" OWS parameterSpecification *( "," OWS parameterSpecification ) OWS ")" parameterSpecification = identifier OWS "=" OWS "{" identifier "}" -castSegment = identifier 1*( "." identifier ) - -keySegment = "{" keyProperty "}" - -keyProperty = identifier ; name of the key property - -singleNavigationProperty = identifier ; a single valued navigation property - -collectionNavigationProperty = identifier ; a collection valued navigation property +capabilities = singlePathCapabilities / collectionPathCapabilities / singleNavPathCapabilities / collectionNavPathCapabilities @@ -209,19 +177,19 @@ collectionNavigationProperty = identifier ; a collection valued navigat singlePathCapability = ("GET" / "PUT" / "PATCH" / "DELETE") [noOptions] -singlePathCapabilities = "{" [singlePathCapability *( separator singlePathCapability)] "}" +singlePathCapabilities = "{" OWS [singlePathCapability *( separator singlePathCapability) OWS] "}" collectionPathCapability = "GET" [ collectionCapabilities ] / "POST" [noOptions] -collectionPathCapabilities = "{" [ collectionPathCapability *( separator collectionPathCapability )] "}" +collectionPathCapabilities = "{" OWS [ collectionPathCapability *( separator collectionPathCapability ) OWS ] "}" singleNavPathCapability = ("GET" / "PATCH" / "PUT") [ OWS navCapabilities ] / "DELETE" noOptions -singleNavPathCapabilities = "{" [singleNavPathCapability *( separator singleNavPathCapability )] "}" +singleNavPathCapabilities = "{" OWS [singleNavPathCapability *( separator singleNavPathCapability ) OWS ] "}" collectionNavPathCapability = "GET" [ OWS collectionNavCapabilities ] / "POST" [ OWS navCapabilities ] -collectionNavPathCapabilities = "{" [ collectionNavPathCapability *( separator collectionNavPathCapability )] "}" +collectionNavPathCapabilities = "{" OWS [ collectionNavPathCapability *( separator collectionNavPathCapability ) OWS ] "}" @@ -242,9 +210,9 @@ navCapability = "expand" [ OWS "(" OWS [ expandProperty *( OWS "," OWS exp navCapabilities = "{" OWS [ navCapability OWS ] "}" -expandProperty = star / - [ castSegment "/" ] collectionNavigationProperty [ OWS collectionNavCapabilities ] / - [ castSegment "/" ] ( singleNavigationProperty ) [ OWS navCapabilities ] +expandProperty = star / [ castSegment "/" ] navigationProperty ( [ OWS collectionNavCapabilities ] / [ OWS navCapabilities ] ) + +navigationProperty = identifier ; single or collection valued navigation property filterCapability = "filter" [ "(" [ OWS filterProperty *( "," OWS filterProperty OWS ) ] ")" ]