Comparing version 4.3.0 to 4.4.0
## [2-Clause BSD License](https://opensource.org/licenses/BSD-2-Clause) | ||
<p> | ||
Copyright (c) 2023 Lowell D. Thomas<br> | ||
Copyright (c) 2024 Lowell D. Thomas<br> | ||
All rights reserved. | ||
@@ -6,0 +6,0 @@ |
{ | ||
"name": "apg-js", | ||
"version": "4.3.0", | ||
"version": "4.4.0", | ||
"description": "JavaScript APG, an ABNF Parser Generator", | ||
@@ -9,2 +9,3 @@ "main": "index.js", | ||
"apg": "./bin/apg.sh", | ||
"regen": "./bin/a.sh && ./bin/b.sh && ./bin/c.sh && ./bin/b.sh && ./bin/d.sh", | ||
"apg-conv": "./bin/apg-conv.sh", | ||
@@ -11,0 +12,0 @@ "bundle-apg-conv-api": "./bin/apg-conv-api-bundle.sh", |
# JavaScript APG | ||
## 4.4.0 Release Notes | ||
Version 4.4.0 adds an option, `--typescript`, to the APG genererator which will | ||
generate a `typescript`-compatible grammar object. The new script `regen` will | ||
regenerate all the grammar objects in place anytime a change is made to any of | ||
the ABNF grammars or if the generator is modified in any way. | ||
## 4.3.0 Release Notes | ||
@@ -4,0 +11,0 @@ |
@@ -451,3 +451,3 @@ /* ************************************************************************************* | ||
// This object can then be used to construct a parser. | ||
this.toSource = function toSource(lite, name) { | ||
this.toSource = function toSource(config = undefined) { | ||
if (!haveAttributes) { | ||
@@ -459,3 +459,3 @@ throw new Error(`${thisFileName}can't generate parser source - must be preceeded by call to attributes()`); | ||
} | ||
return parser.generateSource(this.chars, this.lines, this.rules, this.udts, lite, name); | ||
return parser.generateSource(this.chars, this.lines, this.rules, this.udts, config); | ||
}; | ||
@@ -462,0 +462,0 @@ // Returns a parser grammar object. |
@@ -134,4 +134,17 @@ /* ************************************************************************************* | ||
// An object instantiated from this constructor is used with the `apg-lib` `parser()` function. | ||
this.generateSource = function generateSource(chars, lines, rules, udts, lite, name) { | ||
this.generateSource = function generateSource(chars, lines, rules, udts, config) { | ||
let source = ''; | ||
let typescript = false; | ||
let lite = false; | ||
// config may have multiple grammar object type options in which case | ||
// --typescript > --lite > no options | ||
if (config) { | ||
if (config.typescript) { | ||
typescript = true; | ||
lite = false; | ||
} else if (config.lite) { | ||
typescript = false; | ||
lite = true; | ||
} | ||
} | ||
let i; | ||
@@ -244,10 +257,16 @@ let bkrname; | ||
} | ||
source += '// copyright: Copyright (c) 2023 Lowell D. Thomas, all rights reserved<br>\n'; | ||
source += '// copyright: Copyright (c) 2024 Lowell D. Thomas, all rights reserved<br>\n'; | ||
source += '// license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)<br>\n'; | ||
source += '//\n'; | ||
source += '// Generated by apg-js, Version 4.3.0 [apg-js](https://github.com/ldthomas/apg-js)\n'; | ||
if (name && typeof name === 'string') { | ||
source += `const ${name} = function grammar(){\n`; | ||
} else if (lite) { | ||
source += 'export default function grammar(){\n'; | ||
source += '// Generated by apg-js, Version 4.4.0 [apg-js](https://github.com/ldthomas/apg-js)\n'; | ||
if (config) { | ||
if (config.funcName) { | ||
source += `const ${config.funcName} = function grammar(){\n`; | ||
} else if (typescript) { | ||
source += 'export function grammar(){\n'; | ||
} else if (lite) { | ||
source += 'export default function grammar(){\n'; | ||
} else { | ||
source += `module.exports = function grammar(){\n`; | ||
} | ||
} else { | ||
@@ -291,6 +310,4 @@ source += `module.exports = function grammar(){\n`; | ||
source += ' // ```\n'; | ||
if (!lite) { | ||
source += ' /* OBJECT IDENTIFIER (for internal parser use) */\n'; | ||
source += " this.grammarObject = 'grammarObject';\n"; | ||
} | ||
source += ' /* OBJECT IDENTIFIER (for internal parser use) */\n'; | ||
source += " this.grammarObject = 'grammarObject';\n"; | ||
source += '\n'; | ||
@@ -302,3 +319,3 @@ source += ' /* RULES */\n'; | ||
thisRule += ii; | ||
thisRule += "] = {name: '"; | ||
thisRule += "] = { name: '"; | ||
thisRule += rule.name; | ||
@@ -311,3 +328,3 @@ thisRule += "', lower: '"; | ||
thisRule += rule.isBkr; | ||
thisRule += '};\n'; | ||
thisRule += ' };\n'; | ||
source += thisRule; | ||
@@ -322,3 +339,3 @@ }); | ||
thisUdt += ii; | ||
thisUdt += "] = {name: '"; | ||
thisUdt += "] = { name: '"; | ||
thisUdt += udtFunc.name; | ||
@@ -333,3 +350,3 @@ thisUdt += "', lower: '"; | ||
thisUdt += udtFunc.isBkr; | ||
thisUdt += '};\n'; | ||
thisUdt += ' };\n'; | ||
source += thisUdt; | ||
@@ -350,15 +367,15 @@ }); | ||
case id.ALT: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${ | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${ | ||
op.type | ||
}, children: [${op.children.toString()}]};// ALT\n`; | ||
}, children: [${op.children.toString()}] };// ALT\n`; | ||
break; | ||
case id.CAT: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${ | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${ | ||
op.type | ||
}, children: [${op.children.toString()}]};// CAT\n`; | ||
}, children: [${op.children.toString()}] };// CAT\n`; | ||
break; | ||
case id.RNM: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}, index: ${op.index}};// RNM(${ | ||
rules[op.index].name | ||
})\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type}, index: ${ | ||
op.index | ||
} };// RNM(${rules[op.index].name})\n`; | ||
break; | ||
@@ -384,43 +401,43 @@ case id.BKR: | ||
source += | ||
` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}, index: ${op.index}, lower: '${bkrlower}'` + | ||
`, bkrCase: ${op.bkrCase}, bkrMode: ${op.bkrMode}};// BKR(\\${bkrname})\n`; | ||
` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type}, index: ${op.index}, lower: '${bkrlower}'` + | ||
`, bkrCase: ${op.bkrCase}, bkrMode: ${op.bkrMode} };// BKR(\\${bkrname})\n`; | ||
break; | ||
case id.UDT: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}, empty: ${op.empty}, index: ${ | ||
op.index | ||
}};// UDT(${udts[op.index].name})\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type}, empty: ${ | ||
op.empty | ||
}, index: ${op.index} };// UDT(${udts[op.index].name})\n`; | ||
break; | ||
case id.REP: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}, min: ${op.min}, max: ${op.max}};// REP\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type}, min: ${op.min}, max: ${op.max} };// REP\n`; | ||
break; | ||
case id.AND: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}};// AND\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type} };// AND\n`; | ||
break; | ||
case id.NOT: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}};// NOT\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type} };// NOT\n`; | ||
break; | ||
case id.ABG: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}};// ABG(%^)\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type} };// ABG(%^)\n`; | ||
break; | ||
case id.AEN: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}};// AEN(%$)\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type} };// AEN(%$)\n`; | ||
break; | ||
case id.BKA: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}};// BKA\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type} };// BKA\n`; | ||
break; | ||
case id.BKN: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}};// BKN\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type} };// BKN\n`; | ||
break; | ||
case id.TLS: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${ | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${ | ||
op.type | ||
}, string: [${op.string.toString()}]};// TLS\n`; | ||
}, string: [${op.string.toString()}] };// TLS\n`; | ||
break; | ||
case id.TBS: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${ | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${ | ||
op.type | ||
}, string: [${op.string.toString()}]};// TBS\n`; | ||
}, string: [${op.string.toString()}] };// TBS\n`; | ||
break; | ||
case id.TRG: | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = {type: ${op.type}, min: ${op.min}, max: ${op.max}};// TRG\n`; | ||
source += ` this.rules[${ruleIndex}].opcodes[${opIndex}] = { type: ${op.type}, min: ${op.min}, max: ${op.max} };// TRG\n`; | ||
break; | ||
@@ -427,0 +444,0 @@ default: |
@@ -1,5 +0,5 @@ | ||
// copyright: Copyright (c) 2023 Lowell D. Thomas, all rights reserved<br> | ||
// copyright: Copyright (c) 2024 Lowell D. Thomas, all rights reserved<br> | ||
// license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)<br> | ||
// | ||
// Generated by apg-js, Version 4.2.1 [apg-js](https://github.com/ldthomas/apg-js) | ||
// Generated by apg-js, Version 4.4.0 [apg-js](https://github.com/ldthomas/apg-js) | ||
module.exports = function grammar(){ | ||
@@ -35,97 +35,97 @@ // ``` | ||
this.rules = []; | ||
this.rules[0] = {name: 'File', lower: 'file', index: 0, isBkr: false}; | ||
this.rules[1] = {name: 'BlankLine', lower: 'blankline', index: 1, isBkr: false}; | ||
this.rules[2] = {name: 'Rule', lower: 'rule', index: 2, isBkr: false}; | ||
this.rules[3] = {name: 'RuleLookup', lower: 'rulelookup', index: 3, isBkr: false}; | ||
this.rules[4] = {name: 'RuleNameTest', lower: 'rulenametest', index: 4, isBkr: false}; | ||
this.rules[5] = {name: 'RuleName', lower: 'rulename', index: 5, isBkr: false}; | ||
this.rules[6] = {name: 'RuleNameError', lower: 'rulenameerror', index: 6, isBkr: false}; | ||
this.rules[7] = {name: 'DefinedAsTest', lower: 'definedastest', index: 7, isBkr: false}; | ||
this.rules[8] = {name: 'DefinedAsError', lower: 'definedaserror', index: 8, isBkr: false}; | ||
this.rules[9] = {name: 'DefinedAs', lower: 'definedas', index: 9, isBkr: false}; | ||
this.rules[10] = {name: 'Defined', lower: 'defined', index: 10, isBkr: false}; | ||
this.rules[11] = {name: 'IncAlt', lower: 'incalt', index: 11, isBkr: false}; | ||
this.rules[12] = {name: 'RuleError', lower: 'ruleerror', index: 12, isBkr: false}; | ||
this.rules[13] = {name: 'LineEndError', lower: 'lineenderror', index: 13, isBkr: false}; | ||
this.rules[14] = {name: 'Alternation', lower: 'alternation', index: 14, isBkr: false}; | ||
this.rules[15] = {name: 'Concatenation', lower: 'concatenation', index: 15, isBkr: false}; | ||
this.rules[16] = {name: 'Repetition', lower: 'repetition', index: 16, isBkr: false}; | ||
this.rules[17] = {name: 'Modifier', lower: 'modifier', index: 17, isBkr: false}; | ||
this.rules[18] = {name: 'Predicate', lower: 'predicate', index: 18, isBkr: false}; | ||
this.rules[19] = {name: 'BasicElement', lower: 'basicelement', index: 19, isBkr: false}; | ||
this.rules[20] = {name: 'BasicElementErr', lower: 'basicelementerr', index: 20, isBkr: false}; | ||
this.rules[21] = {name: 'Group', lower: 'group', index: 21, isBkr: false}; | ||
this.rules[22] = {name: 'GroupError', lower: 'grouperror', index: 22, isBkr: false}; | ||
this.rules[23] = {name: 'GroupOpen', lower: 'groupopen', index: 23, isBkr: false}; | ||
this.rules[24] = {name: 'GroupClose', lower: 'groupclose', index: 24, isBkr: false}; | ||
this.rules[25] = {name: 'Option', lower: 'option', index: 25, isBkr: false}; | ||
this.rules[26] = {name: 'OptionError', lower: 'optionerror', index: 26, isBkr: false}; | ||
this.rules[27] = {name: 'OptionOpen', lower: 'optionopen', index: 27, isBkr: false}; | ||
this.rules[28] = {name: 'OptionClose', lower: 'optionclose', index: 28, isBkr: false}; | ||
this.rules[29] = {name: 'RnmOp', lower: 'rnmop', index: 29, isBkr: false}; | ||
this.rules[30] = {name: 'BkrOp', lower: 'bkrop', index: 30, isBkr: false}; | ||
this.rules[31] = {name: 'bkrModifier', lower: 'bkrmodifier', index: 31, isBkr: false}; | ||
this.rules[32] = {name: 'cs', lower: 'cs', index: 32, isBkr: false}; | ||
this.rules[33] = {name: 'ci', lower: 'ci', index: 33, isBkr: false}; | ||
this.rules[34] = {name: 'um', lower: 'um', index: 34, isBkr: false}; | ||
this.rules[35] = {name: 'pm', lower: 'pm', index: 35, isBkr: false}; | ||
this.rules[36] = {name: 'bkr-name', lower: 'bkr-name', index: 36, isBkr: false}; | ||
this.rules[37] = {name: 'rname', lower: 'rname', index: 37, isBkr: false}; | ||
this.rules[38] = {name: 'uname', lower: 'uname', index: 38, isBkr: false}; | ||
this.rules[39] = {name: 'ename', lower: 'ename', index: 39, isBkr: false}; | ||
this.rules[40] = {name: 'UdtOp', lower: 'udtop', index: 40, isBkr: false}; | ||
this.rules[41] = {name: 'udt-non-empty', lower: 'udt-non-empty', index: 41, isBkr: false}; | ||
this.rules[42] = {name: 'udt-empty', lower: 'udt-empty', index: 42, isBkr: false}; | ||
this.rules[43] = {name: 'RepOp', lower: 'repop', index: 43, isBkr: false}; | ||
this.rules[44] = {name: 'AltOp', lower: 'altop', index: 44, isBkr: false}; | ||
this.rules[45] = {name: 'CatOp', lower: 'catop', index: 45, isBkr: false}; | ||
this.rules[46] = {name: 'StarOp', lower: 'starop', index: 46, isBkr: false}; | ||
this.rules[47] = {name: 'AndOp', lower: 'andop', index: 47, isBkr: false}; | ||
this.rules[48] = {name: 'NotOp', lower: 'notop', index: 48, isBkr: false}; | ||
this.rules[49] = {name: 'BkaOp', lower: 'bkaop', index: 49, isBkr: false}; | ||
this.rules[50] = {name: 'BknOp', lower: 'bknop', index: 50, isBkr: false}; | ||
this.rules[51] = {name: 'AbgOp', lower: 'abgop', index: 51, isBkr: false}; | ||
this.rules[52] = {name: 'AenOp', lower: 'aenop', index: 52, isBkr: false}; | ||
this.rules[53] = {name: 'TrgOp', lower: 'trgop', index: 53, isBkr: false}; | ||
this.rules[54] = {name: 'TbsOp', lower: 'tbsop', index: 54, isBkr: false}; | ||
this.rules[55] = {name: 'TlsOp', lower: 'tlsop', index: 55, isBkr: false}; | ||
this.rules[56] = {name: 'TlsCase', lower: 'tlscase', index: 56, isBkr: false}; | ||
this.rules[57] = {name: 'TlsOpen', lower: 'tlsopen', index: 57, isBkr: false}; | ||
this.rules[58] = {name: 'TlsClose', lower: 'tlsclose', index: 58, isBkr: false}; | ||
this.rules[59] = {name: 'TlsString', lower: 'tlsstring', index: 59, isBkr: false}; | ||
this.rules[60] = {name: 'StringTab', lower: 'stringtab', index: 60, isBkr: false}; | ||
this.rules[61] = {name: 'ClsOp', lower: 'clsop', index: 61, isBkr: false}; | ||
this.rules[62] = {name: 'ClsOpen', lower: 'clsopen', index: 62, isBkr: false}; | ||
this.rules[63] = {name: 'ClsClose', lower: 'clsclose', index: 63, isBkr: false}; | ||
this.rules[64] = {name: 'ClsString', lower: 'clsstring', index: 64, isBkr: false}; | ||
this.rules[65] = {name: 'ProsVal', lower: 'prosval', index: 65, isBkr: false}; | ||
this.rules[66] = {name: 'ProsValOpen', lower: 'prosvalopen', index: 66, isBkr: false}; | ||
this.rules[67] = {name: 'ProsValString', lower: 'prosvalstring', index: 67, isBkr: false}; | ||
this.rules[68] = {name: 'ProsValClose', lower: 'prosvalclose', index: 68, isBkr: false}; | ||
this.rules[69] = {name: 'rep-min', lower: 'rep-min', index: 69, isBkr: false}; | ||
this.rules[70] = {name: 'rep-min-max', lower: 'rep-min-max', index: 70, isBkr: false}; | ||
this.rules[71] = {name: 'rep-max', lower: 'rep-max', index: 71, isBkr: false}; | ||
this.rules[72] = {name: 'rep-num', lower: 'rep-num', index: 72, isBkr: false}; | ||
this.rules[73] = {name: 'dString', lower: 'dstring', index: 73, isBkr: false}; | ||
this.rules[74] = {name: 'xString', lower: 'xstring', index: 74, isBkr: false}; | ||
this.rules[75] = {name: 'bString', lower: 'bstring', index: 75, isBkr: false}; | ||
this.rules[76] = {name: 'Dec', lower: 'dec', index: 76, isBkr: false}; | ||
this.rules[77] = {name: 'Hex', lower: 'hex', index: 77, isBkr: false}; | ||
this.rules[78] = {name: 'Bin', lower: 'bin', index: 78, isBkr: false}; | ||
this.rules[79] = {name: 'dmin', lower: 'dmin', index: 79, isBkr: false}; | ||
this.rules[80] = {name: 'dmax', lower: 'dmax', index: 80, isBkr: false}; | ||
this.rules[81] = {name: 'bmin', lower: 'bmin', index: 81, isBkr: false}; | ||
this.rules[82] = {name: 'bmax', lower: 'bmax', index: 82, isBkr: false}; | ||
this.rules[83] = {name: 'xmin', lower: 'xmin', index: 83, isBkr: false}; | ||
this.rules[84] = {name: 'xmax', lower: 'xmax', index: 84, isBkr: false}; | ||
this.rules[85] = {name: 'dnum', lower: 'dnum', index: 85, isBkr: false}; | ||
this.rules[86] = {name: 'bnum', lower: 'bnum', index: 86, isBkr: false}; | ||
this.rules[87] = {name: 'xnum', lower: 'xnum', index: 87, isBkr: false}; | ||
this.rules[88] = {name: 'alphanum', lower: 'alphanum', index: 88, isBkr: false}; | ||
this.rules[89] = {name: 'owsp', lower: 'owsp', index: 89, isBkr: false}; | ||
this.rules[90] = {name: 'wsp', lower: 'wsp', index: 90, isBkr: false}; | ||
this.rules[91] = {name: 'space', lower: 'space', index: 91, isBkr: false}; | ||
this.rules[92] = {name: 'comment', lower: 'comment', index: 92, isBkr: false}; | ||
this.rules[93] = {name: 'LineEnd', lower: 'lineend', index: 93, isBkr: false}; | ||
this.rules[94] = {name: 'LineContinue', lower: 'linecontinue', index: 94, isBkr: false}; | ||
this.rules[0] = { name: 'File', lower: 'file', index: 0, isBkr: false }; | ||
this.rules[1] = { name: 'BlankLine', lower: 'blankline', index: 1, isBkr: false }; | ||
this.rules[2] = { name: 'Rule', lower: 'rule', index: 2, isBkr: false }; | ||
this.rules[3] = { name: 'RuleLookup', lower: 'rulelookup', index: 3, isBkr: false }; | ||
this.rules[4] = { name: 'RuleNameTest', lower: 'rulenametest', index: 4, isBkr: false }; | ||
this.rules[5] = { name: 'RuleName', lower: 'rulename', index: 5, isBkr: false }; | ||
this.rules[6] = { name: 'RuleNameError', lower: 'rulenameerror', index: 6, isBkr: false }; | ||
this.rules[7] = { name: 'DefinedAsTest', lower: 'definedastest', index: 7, isBkr: false }; | ||
this.rules[8] = { name: 'DefinedAsError', lower: 'definedaserror', index: 8, isBkr: false }; | ||
this.rules[9] = { name: 'DefinedAs', lower: 'definedas', index: 9, isBkr: false }; | ||
this.rules[10] = { name: 'Defined', lower: 'defined', index: 10, isBkr: false }; | ||
this.rules[11] = { name: 'IncAlt', lower: 'incalt', index: 11, isBkr: false }; | ||
this.rules[12] = { name: 'RuleError', lower: 'ruleerror', index: 12, isBkr: false }; | ||
this.rules[13] = { name: 'LineEndError', lower: 'lineenderror', index: 13, isBkr: false }; | ||
this.rules[14] = { name: 'Alternation', lower: 'alternation', index: 14, isBkr: false }; | ||
this.rules[15] = { name: 'Concatenation', lower: 'concatenation', index: 15, isBkr: false }; | ||
this.rules[16] = { name: 'Repetition', lower: 'repetition', index: 16, isBkr: false }; | ||
this.rules[17] = { name: 'Modifier', lower: 'modifier', index: 17, isBkr: false }; | ||
this.rules[18] = { name: 'Predicate', lower: 'predicate', index: 18, isBkr: false }; | ||
this.rules[19] = { name: 'BasicElement', lower: 'basicelement', index: 19, isBkr: false }; | ||
this.rules[20] = { name: 'BasicElementErr', lower: 'basicelementerr', index: 20, isBkr: false }; | ||
this.rules[21] = { name: 'Group', lower: 'group', index: 21, isBkr: false }; | ||
this.rules[22] = { name: 'GroupError', lower: 'grouperror', index: 22, isBkr: false }; | ||
this.rules[23] = { name: 'GroupOpen', lower: 'groupopen', index: 23, isBkr: false }; | ||
this.rules[24] = { name: 'GroupClose', lower: 'groupclose', index: 24, isBkr: false }; | ||
this.rules[25] = { name: 'Option', lower: 'option', index: 25, isBkr: false }; | ||
this.rules[26] = { name: 'OptionError', lower: 'optionerror', index: 26, isBkr: false }; | ||
this.rules[27] = { name: 'OptionOpen', lower: 'optionopen', index: 27, isBkr: false }; | ||
this.rules[28] = { name: 'OptionClose', lower: 'optionclose', index: 28, isBkr: false }; | ||
this.rules[29] = { name: 'RnmOp', lower: 'rnmop', index: 29, isBkr: false }; | ||
this.rules[30] = { name: 'BkrOp', lower: 'bkrop', index: 30, isBkr: false }; | ||
this.rules[31] = { name: 'bkrModifier', lower: 'bkrmodifier', index: 31, isBkr: false }; | ||
this.rules[32] = { name: 'cs', lower: 'cs', index: 32, isBkr: false }; | ||
this.rules[33] = { name: 'ci', lower: 'ci', index: 33, isBkr: false }; | ||
this.rules[34] = { name: 'um', lower: 'um', index: 34, isBkr: false }; | ||
this.rules[35] = { name: 'pm', lower: 'pm', index: 35, isBkr: false }; | ||
this.rules[36] = { name: 'bkr-name', lower: 'bkr-name', index: 36, isBkr: false }; | ||
this.rules[37] = { name: 'rname', lower: 'rname', index: 37, isBkr: false }; | ||
this.rules[38] = { name: 'uname', lower: 'uname', index: 38, isBkr: false }; | ||
this.rules[39] = { name: 'ename', lower: 'ename', index: 39, isBkr: false }; | ||
this.rules[40] = { name: 'UdtOp', lower: 'udtop', index: 40, isBkr: false }; | ||
this.rules[41] = { name: 'udt-non-empty', lower: 'udt-non-empty', index: 41, isBkr: false }; | ||
this.rules[42] = { name: 'udt-empty', lower: 'udt-empty', index: 42, isBkr: false }; | ||
this.rules[43] = { name: 'RepOp', lower: 'repop', index: 43, isBkr: false }; | ||
this.rules[44] = { name: 'AltOp', lower: 'altop', index: 44, isBkr: false }; | ||
this.rules[45] = { name: 'CatOp', lower: 'catop', index: 45, isBkr: false }; | ||
this.rules[46] = { name: 'StarOp', lower: 'starop', index: 46, isBkr: false }; | ||
this.rules[47] = { name: 'AndOp', lower: 'andop', index: 47, isBkr: false }; | ||
this.rules[48] = { name: 'NotOp', lower: 'notop', index: 48, isBkr: false }; | ||
this.rules[49] = { name: 'BkaOp', lower: 'bkaop', index: 49, isBkr: false }; | ||
this.rules[50] = { name: 'BknOp', lower: 'bknop', index: 50, isBkr: false }; | ||
this.rules[51] = { name: 'AbgOp', lower: 'abgop', index: 51, isBkr: false }; | ||
this.rules[52] = { name: 'AenOp', lower: 'aenop', index: 52, isBkr: false }; | ||
this.rules[53] = { name: 'TrgOp', lower: 'trgop', index: 53, isBkr: false }; | ||
this.rules[54] = { name: 'TbsOp', lower: 'tbsop', index: 54, isBkr: false }; | ||
this.rules[55] = { name: 'TlsOp', lower: 'tlsop', index: 55, isBkr: false }; | ||
this.rules[56] = { name: 'TlsCase', lower: 'tlscase', index: 56, isBkr: false }; | ||
this.rules[57] = { name: 'TlsOpen', lower: 'tlsopen', index: 57, isBkr: false }; | ||
this.rules[58] = { name: 'TlsClose', lower: 'tlsclose', index: 58, isBkr: false }; | ||
this.rules[59] = { name: 'TlsString', lower: 'tlsstring', index: 59, isBkr: false }; | ||
this.rules[60] = { name: 'StringTab', lower: 'stringtab', index: 60, isBkr: false }; | ||
this.rules[61] = { name: 'ClsOp', lower: 'clsop', index: 61, isBkr: false }; | ||
this.rules[62] = { name: 'ClsOpen', lower: 'clsopen', index: 62, isBkr: false }; | ||
this.rules[63] = { name: 'ClsClose', lower: 'clsclose', index: 63, isBkr: false }; | ||
this.rules[64] = { name: 'ClsString', lower: 'clsstring', index: 64, isBkr: false }; | ||
this.rules[65] = { name: 'ProsVal', lower: 'prosval', index: 65, isBkr: false }; | ||
this.rules[66] = { name: 'ProsValOpen', lower: 'prosvalopen', index: 66, isBkr: false }; | ||
this.rules[67] = { name: 'ProsValString', lower: 'prosvalstring', index: 67, isBkr: false }; | ||
this.rules[68] = { name: 'ProsValClose', lower: 'prosvalclose', index: 68, isBkr: false }; | ||
this.rules[69] = { name: 'rep-min', lower: 'rep-min', index: 69, isBkr: false }; | ||
this.rules[70] = { name: 'rep-min-max', lower: 'rep-min-max', index: 70, isBkr: false }; | ||
this.rules[71] = { name: 'rep-max', lower: 'rep-max', index: 71, isBkr: false }; | ||
this.rules[72] = { name: 'rep-num', lower: 'rep-num', index: 72, isBkr: false }; | ||
this.rules[73] = { name: 'dString', lower: 'dstring', index: 73, isBkr: false }; | ||
this.rules[74] = { name: 'xString', lower: 'xstring', index: 74, isBkr: false }; | ||
this.rules[75] = { name: 'bString', lower: 'bstring', index: 75, isBkr: false }; | ||
this.rules[76] = { name: 'Dec', lower: 'dec', index: 76, isBkr: false }; | ||
this.rules[77] = { name: 'Hex', lower: 'hex', index: 77, isBkr: false }; | ||
this.rules[78] = { name: 'Bin', lower: 'bin', index: 78, isBkr: false }; | ||
this.rules[79] = { name: 'dmin', lower: 'dmin', index: 79, isBkr: false }; | ||
this.rules[80] = { name: 'dmax', lower: 'dmax', index: 80, isBkr: false }; | ||
this.rules[81] = { name: 'bmin', lower: 'bmin', index: 81, isBkr: false }; | ||
this.rules[82] = { name: 'bmax', lower: 'bmax', index: 82, isBkr: false }; | ||
this.rules[83] = { name: 'xmin', lower: 'xmin', index: 83, isBkr: false }; | ||
this.rules[84] = { name: 'xmax', lower: 'xmax', index: 84, isBkr: false }; | ||
this.rules[85] = { name: 'dnum', lower: 'dnum', index: 85, isBkr: false }; | ||
this.rules[86] = { name: 'bnum', lower: 'bnum', index: 86, isBkr: false }; | ||
this.rules[87] = { name: 'xnum', lower: 'xnum', index: 87, isBkr: false }; | ||
this.rules[88] = { name: 'alphanum', lower: 'alphanum', index: 88, isBkr: false }; | ||
this.rules[89] = { name: 'owsp', lower: 'owsp', index: 89, isBkr: false }; | ||
this.rules[90] = { name: 'wsp', lower: 'wsp', index: 90, isBkr: false }; | ||
this.rules[91] = { name: 'space', lower: 'space', index: 91, isBkr: false }; | ||
this.rules[92] = { name: 'comment', lower: 'comment', index: 92, isBkr: false }; | ||
this.rules[93] = { name: 'LineEnd', lower: 'lineend', index: 93, isBkr: false }; | ||
this.rules[94] = { name: 'LineContinue', lower: 'linecontinue', index: 94, isBkr: false }; | ||
@@ -138,656 +138,656 @@ /* UDTS */ | ||
this.rules[0].opcodes = []; | ||
this.rules[0].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[0].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[0].opcodes[2] = {type: 4, index: 1};// RNM(BlankLine) | ||
this.rules[0].opcodes[3] = {type: 4, index: 2};// RNM(Rule) | ||
this.rules[0].opcodes[4] = {type: 4, index: 12};// RNM(RuleError) | ||
this.rules[0].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[0].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[0].opcodes[2] = { type: 4, index: 1 };// RNM(BlankLine) | ||
this.rules[0].opcodes[3] = { type: 4, index: 2 };// RNM(Rule) | ||
this.rules[0].opcodes[4] = { type: 4, index: 12 };// RNM(RuleError) | ||
/* BlankLine */ | ||
this.rules[1].opcodes = []; | ||
this.rules[1].opcodes[0] = {type: 2, children: [1,5,7]};// CAT | ||
this.rules[1].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[1].opcodes[2] = {type: 1, children: [3,4]};// ALT | ||
this.rules[1].opcodes[3] = {type: 6, string: [32]};// TBS | ||
this.rules[1].opcodes[4] = {type: 6, string: [9]};// TBS | ||
this.rules[1].opcodes[5] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[1].opcodes[6] = {type: 4, index: 92};// RNM(comment) | ||
this.rules[1].opcodes[7] = {type: 4, index: 93};// RNM(LineEnd) | ||
this.rules[1].opcodes[0] = { type: 2, children: [1,5,7] };// CAT | ||
this.rules[1].opcodes[1] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[1].opcodes[2] = { type: 1, children: [3,4] };// ALT | ||
this.rules[1].opcodes[3] = { type: 6, string: [32] };// TBS | ||
this.rules[1].opcodes[4] = { type: 6, string: [9] };// TBS | ||
this.rules[1].opcodes[5] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[1].opcodes[6] = { type: 4, index: 92 };// RNM(comment) | ||
this.rules[1].opcodes[7] = { type: 4, index: 93 };// RNM(LineEnd) | ||
/* Rule */ | ||
this.rules[2].opcodes = []; | ||
this.rules[2].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT | ||
this.rules[2].opcodes[1] = {type: 4, index: 3};// RNM(RuleLookup) | ||
this.rules[2].opcodes[2] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[2].opcodes[3] = {type: 4, index: 14};// RNM(Alternation) | ||
this.rules[2].opcodes[4] = {type: 1, children: [5,8]};// ALT | ||
this.rules[2].opcodes[5] = {type: 2, children: [6,7]};// CAT | ||
this.rules[2].opcodes[6] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[2].opcodes[7] = {type: 4, index: 93};// RNM(LineEnd) | ||
this.rules[2].opcodes[8] = {type: 2, children: [9,10]};// CAT | ||
this.rules[2].opcodes[9] = {type: 4, index: 13};// RNM(LineEndError) | ||
this.rules[2].opcodes[10] = {type: 4, index: 93};// RNM(LineEnd) | ||
this.rules[2].opcodes[0] = { type: 2, children: [1,2,3,4] };// CAT | ||
this.rules[2].opcodes[1] = { type: 4, index: 3 };// RNM(RuleLookup) | ||
this.rules[2].opcodes[2] = { type: 4, index: 89 };// RNM(owsp) | ||
this.rules[2].opcodes[3] = { type: 4, index: 14 };// RNM(Alternation) | ||
this.rules[2].opcodes[4] = { type: 1, children: [5,8] };// ALT | ||
this.rules[2].opcodes[5] = { type: 2, children: [6,7] };// CAT | ||
this.rules[2].opcodes[6] = { type: 4, index: 89 };// RNM(owsp) | ||
this.rules[2].opcodes[7] = { type: 4, index: 93 };// RNM(LineEnd) | ||
this.rules[2].opcodes[8] = { type: 2, children: [9,10] };// CAT | ||
this.rules[2].opcodes[9] = { type: 4, index: 13 };// RNM(LineEndError) | ||
this.rules[2].opcodes[10] = { type: 4, index: 93 };// RNM(LineEnd) | ||
/* RuleLookup */ | ||
this.rules[3].opcodes = []; | ||
this.rules[3].opcodes[0] = {type: 2, children: [1,2,3]};// CAT | ||
this.rules[3].opcodes[1] = {type: 4, index: 4};// RNM(RuleNameTest) | ||
this.rules[3].opcodes[2] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[3].opcodes[3] = {type: 4, index: 7};// RNM(DefinedAsTest) | ||
this.rules[3].opcodes[0] = { type: 2, children: [1,2,3] };// CAT | ||
this.rules[3].opcodes[1] = { type: 4, index: 4 };// RNM(RuleNameTest) | ||
this.rules[3].opcodes[2] = { type: 4, index: 89 };// RNM(owsp) | ||
this.rules[3].opcodes[3] = { type: 4, index: 7 };// RNM(DefinedAsTest) | ||
/* RuleNameTest */ | ||
this.rules[4].opcodes = []; | ||
this.rules[4].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[4].opcodes[1] = {type: 4, index: 5};// RNM(RuleName) | ||
this.rules[4].opcodes[2] = {type: 4, index: 6};// RNM(RuleNameError) | ||
this.rules[4].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[4].opcodes[1] = { type: 4, index: 5 };// RNM(RuleName) | ||
this.rules[4].opcodes[2] = { type: 4, index: 6 };// RNM(RuleNameError) | ||
/* RuleName */ | ||
this.rules[5].opcodes = []; | ||
this.rules[5].opcodes[0] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[5].opcodes[0] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* RuleNameError */ | ||
this.rules[6].opcodes = []; | ||
this.rules[6].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[6].opcodes[1] = {type: 1, children: [2,3]};// ALT | ||
this.rules[6].opcodes[2] = {type: 5, min: 33, max: 60};// TRG | ||
this.rules[6].opcodes[3] = {type: 5, min: 62, max: 126};// TRG | ||
this.rules[6].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[6].opcodes[1] = { type: 1, children: [2,3] };// ALT | ||
this.rules[6].opcodes[2] = { type: 5, min: 33, max: 60 };// TRG | ||
this.rules[6].opcodes[3] = { type: 5, min: 62, max: 126 };// TRG | ||
/* DefinedAsTest */ | ||
this.rules[7].opcodes = []; | ||
this.rules[7].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[7].opcodes[1] = {type: 4, index: 9};// RNM(DefinedAs) | ||
this.rules[7].opcodes[2] = {type: 4, index: 8};// RNM(DefinedAsError) | ||
this.rules[7].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[7].opcodes[1] = { type: 4, index: 9 };// RNM(DefinedAs) | ||
this.rules[7].opcodes[2] = { type: 4, index: 8 };// RNM(DefinedAsError) | ||
/* DefinedAsError */ | ||
this.rules[8].opcodes = []; | ||
this.rules[8].opcodes[0] = {type: 3, min: 1, max: 2};// REP | ||
this.rules[8].opcodes[1] = {type: 5, min: 33, max: 126};// TRG | ||
this.rules[8].opcodes[0] = { type: 3, min: 1, max: 2 };// REP | ||
this.rules[8].opcodes[1] = { type: 5, min: 33, max: 126 };// TRG | ||
/* DefinedAs */ | ||
this.rules[9].opcodes = []; | ||
this.rules[9].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[9].opcodes[1] = {type: 4, index: 11};// RNM(IncAlt) | ||
this.rules[9].opcodes[2] = {type: 4, index: 10};// RNM(Defined) | ||
this.rules[9].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[9].opcodes[1] = { type: 4, index: 11 };// RNM(IncAlt) | ||
this.rules[9].opcodes[2] = { type: 4, index: 10 };// RNM(Defined) | ||
/* Defined */ | ||
this.rules[10].opcodes = []; | ||
this.rules[10].opcodes[0] = {type: 6, string: [61]};// TBS | ||
this.rules[10].opcodes[0] = { type: 6, string: [61] };// TBS | ||
/* IncAlt */ | ||
this.rules[11].opcodes = []; | ||
this.rules[11].opcodes[0] = {type: 6, string: [61,47]};// TBS | ||
this.rules[11].opcodes[0] = { type: 6, string: [61,47] };// TBS | ||
/* RuleError */ | ||
this.rules[12].opcodes = []; | ||
this.rules[12].opcodes[0] = {type: 2, children: [1,6]};// CAT | ||
this.rules[12].opcodes[1] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[12].opcodes[2] = {type: 1, children: [3,4,5]};// ALT | ||
this.rules[12].opcodes[3] = {type: 5, min: 32, max: 126};// TRG | ||
this.rules[12].opcodes[4] = {type: 6, string: [9]};// TBS | ||
this.rules[12].opcodes[5] = {type: 4, index: 94};// RNM(LineContinue) | ||
this.rules[12].opcodes[6] = {type: 4, index: 93};// RNM(LineEnd) | ||
this.rules[12].opcodes[0] = { type: 2, children: [1,6] };// CAT | ||
this.rules[12].opcodes[1] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[12].opcodes[2] = { type: 1, children: [3,4,5] };// ALT | ||
this.rules[12].opcodes[3] = { type: 5, min: 32, max: 126 };// TRG | ||
this.rules[12].opcodes[4] = { type: 6, string: [9] };// TBS | ||
this.rules[12].opcodes[5] = { type: 4, index: 94 };// RNM(LineContinue) | ||
this.rules[12].opcodes[6] = { type: 4, index: 93 };// RNM(LineEnd) | ||
/* LineEndError */ | ||
this.rules[13].opcodes = []; | ||
this.rules[13].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[13].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[13].opcodes[2] = {type: 5, min: 32, max: 126};// TRG | ||
this.rules[13].opcodes[3] = {type: 6, string: [9]};// TBS | ||
this.rules[13].opcodes[4] = {type: 4, index: 94};// RNM(LineContinue) | ||
this.rules[13].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[13].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[13].opcodes[2] = { type: 5, min: 32, max: 126 };// TRG | ||
this.rules[13].opcodes[3] = { type: 6, string: [9] };// TBS | ||
this.rules[13].opcodes[4] = { type: 4, index: 94 };// RNM(LineContinue) | ||
/* Alternation */ | ||
this.rules[14].opcodes = []; | ||
this.rules[14].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[14].opcodes[1] = {type: 4, index: 15};// RNM(Concatenation) | ||
this.rules[14].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[14].opcodes[3] = {type: 2, children: [4,5,6]};// CAT | ||
this.rules[14].opcodes[4] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[14].opcodes[5] = {type: 4, index: 44};// RNM(AltOp) | ||
this.rules[14].opcodes[6] = {type: 4, index: 15};// RNM(Concatenation) | ||
this.rules[14].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[14].opcodes[1] = { type: 4, index: 15 };// RNM(Concatenation) | ||
this.rules[14].opcodes[2] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[14].opcodes[3] = { type: 2, children: [4,5,6] };// CAT | ||
this.rules[14].opcodes[4] = { type: 4, index: 89 };// RNM(owsp) | ||
this.rules[14].opcodes[5] = { type: 4, index: 44 };// RNM(AltOp) | ||
this.rules[14].opcodes[6] = { type: 4, index: 15 };// RNM(Concatenation) | ||
/* Concatenation */ | ||
this.rules[15].opcodes = []; | ||
this.rules[15].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[15].opcodes[1] = {type: 4, index: 16};// RNM(Repetition) | ||
this.rules[15].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[15].opcodes[3] = {type: 2, children: [4,5]};// CAT | ||
this.rules[15].opcodes[4] = {type: 4, index: 45};// RNM(CatOp) | ||
this.rules[15].opcodes[5] = {type: 4, index: 16};// RNM(Repetition) | ||
this.rules[15].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[15].opcodes[1] = { type: 4, index: 16 };// RNM(Repetition) | ||
this.rules[15].opcodes[2] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[15].opcodes[3] = { type: 2, children: [4,5] };// CAT | ||
this.rules[15].opcodes[4] = { type: 4, index: 45 };// RNM(CatOp) | ||
this.rules[15].opcodes[5] = { type: 4, index: 16 };// RNM(Repetition) | ||
/* Repetition */ | ||
this.rules[16].opcodes = []; | ||
this.rules[16].opcodes[0] = {type: 2, children: [1,3]};// CAT | ||
this.rules[16].opcodes[1] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[16].opcodes[2] = {type: 4, index: 17};// RNM(Modifier) | ||
this.rules[16].opcodes[3] = {type: 1, children: [4,5,6,7]};// ALT | ||
this.rules[16].opcodes[4] = {type: 4, index: 21};// RNM(Group) | ||
this.rules[16].opcodes[5] = {type: 4, index: 25};// RNM(Option) | ||
this.rules[16].opcodes[6] = {type: 4, index: 19};// RNM(BasicElement) | ||
this.rules[16].opcodes[7] = {type: 4, index: 20};// RNM(BasicElementErr) | ||
this.rules[16].opcodes[0] = { type: 2, children: [1,3] };// CAT | ||
this.rules[16].opcodes[1] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[16].opcodes[2] = { type: 4, index: 17 };// RNM(Modifier) | ||
this.rules[16].opcodes[3] = { type: 1, children: [4,5,6,7] };// ALT | ||
this.rules[16].opcodes[4] = { type: 4, index: 21 };// RNM(Group) | ||
this.rules[16].opcodes[5] = { type: 4, index: 25 };// RNM(Option) | ||
this.rules[16].opcodes[6] = { type: 4, index: 19 };// RNM(BasicElement) | ||
this.rules[16].opcodes[7] = { type: 4, index: 20 };// RNM(BasicElementErr) | ||
/* Modifier */ | ||
this.rules[17].opcodes = []; | ||
this.rules[17].opcodes[0] = {type: 1, children: [1,5]};// ALT | ||
this.rules[17].opcodes[1] = {type: 2, children: [2,3]};// CAT | ||
this.rules[17].opcodes[2] = {type: 4, index: 18};// RNM(Predicate) | ||
this.rules[17].opcodes[3] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[17].opcodes[4] = {type: 4, index: 43};// RNM(RepOp) | ||
this.rules[17].opcodes[5] = {type: 4, index: 43};// RNM(RepOp) | ||
this.rules[17].opcodes[0] = { type: 1, children: [1,5] };// ALT | ||
this.rules[17].opcodes[1] = { type: 2, children: [2,3] };// CAT | ||
this.rules[17].opcodes[2] = { type: 4, index: 18 };// RNM(Predicate) | ||
this.rules[17].opcodes[3] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[17].opcodes[4] = { type: 4, index: 43 };// RNM(RepOp) | ||
this.rules[17].opcodes[5] = { type: 4, index: 43 };// RNM(RepOp) | ||
/* Predicate */ | ||
this.rules[18].opcodes = []; | ||
this.rules[18].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT | ||
this.rules[18].opcodes[1] = {type: 4, index: 49};// RNM(BkaOp) | ||
this.rules[18].opcodes[2] = {type: 4, index: 50};// RNM(BknOp) | ||
this.rules[18].opcodes[3] = {type: 4, index: 47};// RNM(AndOp) | ||
this.rules[18].opcodes[4] = {type: 4, index: 48};// RNM(NotOp) | ||
this.rules[18].opcodes[0] = { type: 1, children: [1,2,3,4] };// ALT | ||
this.rules[18].opcodes[1] = { type: 4, index: 49 };// RNM(BkaOp) | ||
this.rules[18].opcodes[2] = { type: 4, index: 50 };// RNM(BknOp) | ||
this.rules[18].opcodes[3] = { type: 4, index: 47 };// RNM(AndOp) | ||
this.rules[18].opcodes[4] = { type: 4, index: 48 };// RNM(NotOp) | ||
/* BasicElement */ | ||
this.rules[19].opcodes = []; | ||
this.rules[19].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10]};// ALT | ||
this.rules[19].opcodes[1] = {type: 4, index: 40};// RNM(UdtOp) | ||
this.rules[19].opcodes[2] = {type: 4, index: 29};// RNM(RnmOp) | ||
this.rules[19].opcodes[3] = {type: 4, index: 53};// RNM(TrgOp) | ||
this.rules[19].opcodes[4] = {type: 4, index: 54};// RNM(TbsOp) | ||
this.rules[19].opcodes[5] = {type: 4, index: 55};// RNM(TlsOp) | ||
this.rules[19].opcodes[6] = {type: 4, index: 61};// RNM(ClsOp) | ||
this.rules[19].opcodes[7] = {type: 4, index: 30};// RNM(BkrOp) | ||
this.rules[19].opcodes[8] = {type: 4, index: 51};// RNM(AbgOp) | ||
this.rules[19].opcodes[9] = {type: 4, index: 52};// RNM(AenOp) | ||
this.rules[19].opcodes[10] = {type: 4, index: 65};// RNM(ProsVal) | ||
this.rules[19].opcodes[0] = { type: 1, children: [1,2,3,4,5,6,7,8,9,10] };// ALT | ||
this.rules[19].opcodes[1] = { type: 4, index: 40 };// RNM(UdtOp) | ||
this.rules[19].opcodes[2] = { type: 4, index: 29 };// RNM(RnmOp) | ||
this.rules[19].opcodes[3] = { type: 4, index: 53 };// RNM(TrgOp) | ||
this.rules[19].opcodes[4] = { type: 4, index: 54 };// RNM(TbsOp) | ||
this.rules[19].opcodes[5] = { type: 4, index: 55 };// RNM(TlsOp) | ||
this.rules[19].opcodes[6] = { type: 4, index: 61 };// RNM(ClsOp) | ||
this.rules[19].opcodes[7] = { type: 4, index: 30 };// RNM(BkrOp) | ||
this.rules[19].opcodes[8] = { type: 4, index: 51 };// RNM(AbgOp) | ||
this.rules[19].opcodes[9] = { type: 4, index: 52 };// RNM(AenOp) | ||
this.rules[19].opcodes[10] = { type: 4, index: 65 };// RNM(ProsVal) | ||
/* BasicElementErr */ | ||
this.rules[20].opcodes = []; | ||
this.rules[20].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[20].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT | ||
this.rules[20].opcodes[2] = {type: 5, min: 33, max: 40};// TRG | ||
this.rules[20].opcodes[3] = {type: 5, min: 42, max: 46};// TRG | ||
this.rules[20].opcodes[4] = {type: 5, min: 48, max: 92};// TRG | ||
this.rules[20].opcodes[5] = {type: 5, min: 94, max: 126};// TRG | ||
this.rules[20].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[20].opcodes[1] = { type: 1, children: [2,3,4,5] };// ALT | ||
this.rules[20].opcodes[2] = { type: 5, min: 33, max: 40 };// TRG | ||
this.rules[20].opcodes[3] = { type: 5, min: 42, max: 46 };// TRG | ||
this.rules[20].opcodes[4] = { type: 5, min: 48, max: 92 };// TRG | ||
this.rules[20].opcodes[5] = { type: 5, min: 94, max: 126 };// TRG | ||
/* Group */ | ||
this.rules[21].opcodes = []; | ||
this.rules[21].opcodes[0] = {type: 2, children: [1,2,3]};// CAT | ||
this.rules[21].opcodes[1] = {type: 4, index: 23};// RNM(GroupOpen) | ||
this.rules[21].opcodes[2] = {type: 4, index: 14};// RNM(Alternation) | ||
this.rules[21].opcodes[3] = {type: 1, children: [4,5]};// ALT | ||
this.rules[21].opcodes[4] = {type: 4, index: 24};// RNM(GroupClose) | ||
this.rules[21].opcodes[5] = {type: 4, index: 22};// RNM(GroupError) | ||
this.rules[21].opcodes[0] = { type: 2, children: [1,2,3] };// CAT | ||
this.rules[21].opcodes[1] = { type: 4, index: 23 };// RNM(GroupOpen) | ||
this.rules[21].opcodes[2] = { type: 4, index: 14 };// RNM(Alternation) | ||
this.rules[21].opcodes[3] = { type: 1, children: [4,5] };// ALT | ||
this.rules[21].opcodes[4] = { type: 4, index: 24 };// RNM(GroupClose) | ||
this.rules[21].opcodes[5] = { type: 4, index: 22 };// RNM(GroupError) | ||
/* GroupError */ | ||
this.rules[22].opcodes = []; | ||
this.rules[22].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[22].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT | ||
this.rules[22].opcodes[2] = {type: 5, min: 33, max: 40};// TRG | ||
this.rules[22].opcodes[3] = {type: 5, min: 42, max: 46};// TRG | ||
this.rules[22].opcodes[4] = {type: 5, min: 48, max: 92};// TRG | ||
this.rules[22].opcodes[5] = {type: 5, min: 94, max: 126};// TRG | ||
this.rules[22].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[22].opcodes[1] = { type: 1, children: [2,3,4,5] };// ALT | ||
this.rules[22].opcodes[2] = { type: 5, min: 33, max: 40 };// TRG | ||
this.rules[22].opcodes[3] = { type: 5, min: 42, max: 46 };// TRG | ||
this.rules[22].opcodes[4] = { type: 5, min: 48, max: 92 };// TRG | ||
this.rules[22].opcodes[5] = { type: 5, min: 94, max: 126 };// TRG | ||
/* GroupOpen */ | ||
this.rules[23].opcodes = []; | ||
this.rules[23].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[23].opcodes[1] = {type: 6, string: [40]};// TBS | ||
this.rules[23].opcodes[2] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[23].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[23].opcodes[1] = { type: 6, string: [40] };// TBS | ||
this.rules[23].opcodes[2] = { type: 4, index: 89 };// RNM(owsp) | ||
/* GroupClose */ | ||
this.rules[24].opcodes = []; | ||
this.rules[24].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[24].opcodes[1] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[24].opcodes[2] = {type: 6, string: [41]};// TBS | ||
this.rules[24].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[24].opcodes[1] = { type: 4, index: 89 };// RNM(owsp) | ||
this.rules[24].opcodes[2] = { type: 6, string: [41] };// TBS | ||
/* Option */ | ||
this.rules[25].opcodes = []; | ||
this.rules[25].opcodes[0] = {type: 2, children: [1,2,3]};// CAT | ||
this.rules[25].opcodes[1] = {type: 4, index: 27};// RNM(OptionOpen) | ||
this.rules[25].opcodes[2] = {type: 4, index: 14};// RNM(Alternation) | ||
this.rules[25].opcodes[3] = {type: 1, children: [4,5]};// ALT | ||
this.rules[25].opcodes[4] = {type: 4, index: 28};// RNM(OptionClose) | ||
this.rules[25].opcodes[5] = {type: 4, index: 26};// RNM(OptionError) | ||
this.rules[25].opcodes[0] = { type: 2, children: [1,2,3] };// CAT | ||
this.rules[25].opcodes[1] = { type: 4, index: 27 };// RNM(OptionOpen) | ||
this.rules[25].opcodes[2] = { type: 4, index: 14 };// RNM(Alternation) | ||
this.rules[25].opcodes[3] = { type: 1, children: [4,5] };// ALT | ||
this.rules[25].opcodes[4] = { type: 4, index: 28 };// RNM(OptionClose) | ||
this.rules[25].opcodes[5] = { type: 4, index: 26 };// RNM(OptionError) | ||
/* OptionError */ | ||
this.rules[26].opcodes = []; | ||
this.rules[26].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[26].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT | ||
this.rules[26].opcodes[2] = {type: 5, min: 33, max: 40};// TRG | ||
this.rules[26].opcodes[3] = {type: 5, min: 42, max: 46};// TRG | ||
this.rules[26].opcodes[4] = {type: 5, min: 48, max: 92};// TRG | ||
this.rules[26].opcodes[5] = {type: 5, min: 94, max: 126};// TRG | ||
this.rules[26].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[26].opcodes[1] = { type: 1, children: [2,3,4,5] };// ALT | ||
this.rules[26].opcodes[2] = { type: 5, min: 33, max: 40 };// TRG | ||
this.rules[26].opcodes[3] = { type: 5, min: 42, max: 46 };// TRG | ||
this.rules[26].opcodes[4] = { type: 5, min: 48, max: 92 };// TRG | ||
this.rules[26].opcodes[5] = { type: 5, min: 94, max: 126 };// TRG | ||
/* OptionOpen */ | ||
this.rules[27].opcodes = []; | ||
this.rules[27].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[27].opcodes[1] = {type: 6, string: [91]};// TBS | ||
this.rules[27].opcodes[2] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[27].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[27].opcodes[1] = { type: 6, string: [91] };// TBS | ||
this.rules[27].opcodes[2] = { type: 4, index: 89 };// RNM(owsp) | ||
/* OptionClose */ | ||
this.rules[28].opcodes = []; | ||
this.rules[28].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[28].opcodes[1] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[28].opcodes[2] = {type: 6, string: [93]};// TBS | ||
this.rules[28].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[28].opcodes[1] = { type: 4, index: 89 };// RNM(owsp) | ||
this.rules[28].opcodes[2] = { type: 6, string: [93] };// TBS | ||
/* RnmOp */ | ||
this.rules[29].opcodes = []; | ||
this.rules[29].opcodes[0] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[29].opcodes[0] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* BkrOp */ | ||
this.rules[30].opcodes = []; | ||
this.rules[30].opcodes[0] = {type: 2, children: [1,2,4]};// CAT | ||
this.rules[30].opcodes[1] = {type: 6, string: [92]};// TBS | ||
this.rules[30].opcodes[2] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[30].opcodes[3] = {type: 4, index: 31};// RNM(bkrModifier) | ||
this.rules[30].opcodes[4] = {type: 4, index: 36};// RNM(bkr-name) | ||
this.rules[30].opcodes[0] = { type: 2, children: [1,2,4] };// CAT | ||
this.rules[30].opcodes[1] = { type: 6, string: [92] };// TBS | ||
this.rules[30].opcodes[2] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[30].opcodes[3] = { type: 4, index: 31 };// RNM(bkrModifier) | ||
this.rules[30].opcodes[4] = { type: 4, index: 36 };// RNM(bkr-name) | ||
/* bkrModifier */ | ||
this.rules[31].opcodes = []; | ||
this.rules[31].opcodes[0] = {type: 1, children: [1,7,13,19]};// ALT | ||
this.rules[31].opcodes[1] = {type: 2, children: [2,3]};// CAT | ||
this.rules[31].opcodes[2] = {type: 4, index: 32};// RNM(cs) | ||
this.rules[31].opcodes[3] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[31].opcodes[4] = {type: 1, children: [5,6]};// ALT | ||
this.rules[31].opcodes[5] = {type: 4, index: 34};// RNM(um) | ||
this.rules[31].opcodes[6] = {type: 4, index: 35};// RNM(pm) | ||
this.rules[31].opcodes[7] = {type: 2, children: [8,9]};// CAT | ||
this.rules[31].opcodes[8] = {type: 4, index: 33};// RNM(ci) | ||
this.rules[31].opcodes[9] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[31].opcodes[10] = {type: 1, children: [11,12]};// ALT | ||
this.rules[31].opcodes[11] = {type: 4, index: 34};// RNM(um) | ||
this.rules[31].opcodes[12] = {type: 4, index: 35};// RNM(pm) | ||
this.rules[31].opcodes[13] = {type: 2, children: [14,15]};// CAT | ||
this.rules[31].opcodes[14] = {type: 4, index: 34};// RNM(um) | ||
this.rules[31].opcodes[15] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[31].opcodes[16] = {type: 1, children: [17,18]};// ALT | ||
this.rules[31].opcodes[17] = {type: 4, index: 32};// RNM(cs) | ||
this.rules[31].opcodes[18] = {type: 4, index: 33};// RNM(ci) | ||
this.rules[31].opcodes[19] = {type: 2, children: [20,21]};// CAT | ||
this.rules[31].opcodes[20] = {type: 4, index: 35};// RNM(pm) | ||
this.rules[31].opcodes[21] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[31].opcodes[22] = {type: 1, children: [23,24]};// ALT | ||
this.rules[31].opcodes[23] = {type: 4, index: 32};// RNM(cs) | ||
this.rules[31].opcodes[24] = {type: 4, index: 33};// RNM(ci) | ||
this.rules[31].opcodes[0] = { type: 1, children: [1,7,13,19] };// ALT | ||
this.rules[31].opcodes[1] = { type: 2, children: [2,3] };// CAT | ||
this.rules[31].opcodes[2] = { type: 4, index: 32 };// RNM(cs) | ||
this.rules[31].opcodes[3] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[31].opcodes[4] = { type: 1, children: [5,6] };// ALT | ||
this.rules[31].opcodes[5] = { type: 4, index: 34 };// RNM(um) | ||
this.rules[31].opcodes[6] = { type: 4, index: 35 };// RNM(pm) | ||
this.rules[31].opcodes[7] = { type: 2, children: [8,9] };// CAT | ||
this.rules[31].opcodes[8] = { type: 4, index: 33 };// RNM(ci) | ||
this.rules[31].opcodes[9] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[31].opcodes[10] = { type: 1, children: [11,12] };// ALT | ||
this.rules[31].opcodes[11] = { type: 4, index: 34 };// RNM(um) | ||
this.rules[31].opcodes[12] = { type: 4, index: 35 };// RNM(pm) | ||
this.rules[31].opcodes[13] = { type: 2, children: [14,15] };// CAT | ||
this.rules[31].opcodes[14] = { type: 4, index: 34 };// RNM(um) | ||
this.rules[31].opcodes[15] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[31].opcodes[16] = { type: 1, children: [17,18] };// ALT | ||
this.rules[31].opcodes[17] = { type: 4, index: 32 };// RNM(cs) | ||
this.rules[31].opcodes[18] = { type: 4, index: 33 };// RNM(ci) | ||
this.rules[31].opcodes[19] = { type: 2, children: [20,21] };// CAT | ||
this.rules[31].opcodes[20] = { type: 4, index: 35 };// RNM(pm) | ||
this.rules[31].opcodes[21] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[31].opcodes[22] = { type: 1, children: [23,24] };// ALT | ||
this.rules[31].opcodes[23] = { type: 4, index: 32 };// RNM(cs) | ||
this.rules[31].opcodes[24] = { type: 4, index: 33 };// RNM(ci) | ||
/* cs */ | ||
this.rules[32].opcodes = []; | ||
this.rules[32].opcodes[0] = {type: 6, string: [37,115]};// TBS | ||
this.rules[32].opcodes[0] = { type: 6, string: [37,115] };// TBS | ||
/* ci */ | ||
this.rules[33].opcodes = []; | ||
this.rules[33].opcodes[0] = {type: 6, string: [37,105]};// TBS | ||
this.rules[33].opcodes[0] = { type: 6, string: [37,105] };// TBS | ||
/* um */ | ||
this.rules[34].opcodes = []; | ||
this.rules[34].opcodes[0] = {type: 6, string: [37,117]};// TBS | ||
this.rules[34].opcodes[0] = { type: 6, string: [37,117] };// TBS | ||
/* pm */ | ||
this.rules[35].opcodes = []; | ||
this.rules[35].opcodes[0] = {type: 6, string: [37,112]};// TBS | ||
this.rules[35].opcodes[0] = { type: 6, string: [37,112] };// TBS | ||
/* bkr-name */ | ||
this.rules[36].opcodes = []; | ||
this.rules[36].opcodes[0] = {type: 1, children: [1,2,3]};// ALT | ||
this.rules[36].opcodes[1] = {type: 4, index: 38};// RNM(uname) | ||
this.rules[36].opcodes[2] = {type: 4, index: 39};// RNM(ename) | ||
this.rules[36].opcodes[3] = {type: 4, index: 37};// RNM(rname) | ||
this.rules[36].opcodes[0] = { type: 1, children: [1,2,3] };// ALT | ||
this.rules[36].opcodes[1] = { type: 4, index: 38 };// RNM(uname) | ||
this.rules[36].opcodes[2] = { type: 4, index: 39 };// RNM(ename) | ||
this.rules[36].opcodes[3] = { type: 4, index: 37 };// RNM(rname) | ||
/* rname */ | ||
this.rules[37].opcodes = []; | ||
this.rules[37].opcodes[0] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[37].opcodes[0] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* uname */ | ||
this.rules[38].opcodes = []; | ||
this.rules[38].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[38].opcodes[1] = {type: 6, string: [117,95]};// TBS | ||
this.rules[38].opcodes[2] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[38].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[38].opcodes[1] = { type: 6, string: [117,95] };// TBS | ||
this.rules[38].opcodes[2] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* ename */ | ||
this.rules[39].opcodes = []; | ||
this.rules[39].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[39].opcodes[1] = {type: 6, string: [101,95]};// TBS | ||
this.rules[39].opcodes[2] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[39].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[39].opcodes[1] = { type: 6, string: [101,95] };// TBS | ||
this.rules[39].opcodes[2] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* UdtOp */ | ||
this.rules[40].opcodes = []; | ||
this.rules[40].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[40].opcodes[1] = {type: 4, index: 42};// RNM(udt-empty) | ||
this.rules[40].opcodes[2] = {type: 4, index: 41};// RNM(udt-non-empty) | ||
this.rules[40].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[40].opcodes[1] = { type: 4, index: 42 };// RNM(udt-empty) | ||
this.rules[40].opcodes[2] = { type: 4, index: 41 };// RNM(udt-non-empty) | ||
/* udt-non-empty */ | ||
this.rules[41].opcodes = []; | ||
this.rules[41].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[41].opcodes[1] = {type: 6, string: [117,95]};// TBS | ||
this.rules[41].opcodes[2] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[41].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[41].opcodes[1] = { type: 6, string: [117,95] };// TBS | ||
this.rules[41].opcodes[2] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* udt-empty */ | ||
this.rules[42].opcodes = []; | ||
this.rules[42].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[42].opcodes[1] = {type: 6, string: [101,95]};// TBS | ||
this.rules[42].opcodes[2] = {type: 4, index: 88};// RNM(alphanum) | ||
this.rules[42].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[42].opcodes[1] = { type: 6, string: [101,95] };// TBS | ||
this.rules[42].opcodes[2] = { type: 4, index: 88 };// RNM(alphanum) | ||
/* RepOp */ | ||
this.rules[43].opcodes = []; | ||
this.rules[43].opcodes[0] = {type: 1, children: [1,5,8,11,12]};// ALT | ||
this.rules[43].opcodes[1] = {type: 2, children: [2,3,4]};// CAT | ||
this.rules[43].opcodes[2] = {type: 4, index: 69};// RNM(rep-min) | ||
this.rules[43].opcodes[3] = {type: 4, index: 46};// RNM(StarOp) | ||
this.rules[43].opcodes[4] = {type: 4, index: 71};// RNM(rep-max) | ||
this.rules[43].opcodes[5] = {type: 2, children: [6,7]};// CAT | ||
this.rules[43].opcodes[6] = {type: 4, index: 69};// RNM(rep-min) | ||
this.rules[43].opcodes[7] = {type: 4, index: 46};// RNM(StarOp) | ||
this.rules[43].opcodes[8] = {type: 2, children: [9,10]};// CAT | ||
this.rules[43].opcodes[9] = {type: 4, index: 46};// RNM(StarOp) | ||
this.rules[43].opcodes[10] = {type: 4, index: 71};// RNM(rep-max) | ||
this.rules[43].opcodes[11] = {type: 4, index: 46};// RNM(StarOp) | ||
this.rules[43].opcodes[12] = {type: 4, index: 70};// RNM(rep-min-max) | ||
this.rules[43].opcodes[0] = { type: 1, children: [1,5,8,11,12] };// ALT | ||
this.rules[43].opcodes[1] = { type: 2, children: [2,3,4] };// CAT | ||
this.rules[43].opcodes[2] = { type: 4, index: 69 };// RNM(rep-min) | ||
this.rules[43].opcodes[3] = { type: 4, index: 46 };// RNM(StarOp) | ||
this.rules[43].opcodes[4] = { type: 4, index: 71 };// RNM(rep-max) | ||
this.rules[43].opcodes[5] = { type: 2, children: [6,7] };// CAT | ||
this.rules[43].opcodes[6] = { type: 4, index: 69 };// RNM(rep-min) | ||
this.rules[43].opcodes[7] = { type: 4, index: 46 };// RNM(StarOp) | ||
this.rules[43].opcodes[8] = { type: 2, children: [9,10] };// CAT | ||
this.rules[43].opcodes[9] = { type: 4, index: 46 };// RNM(StarOp) | ||
this.rules[43].opcodes[10] = { type: 4, index: 71 };// RNM(rep-max) | ||
this.rules[43].opcodes[11] = { type: 4, index: 46 };// RNM(StarOp) | ||
this.rules[43].opcodes[12] = { type: 4, index: 70 };// RNM(rep-min-max) | ||
/* AltOp */ | ||
this.rules[44].opcodes = []; | ||
this.rules[44].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[44].opcodes[1] = {type: 6, string: [47]};// TBS | ||
this.rules[44].opcodes[2] = {type: 4, index: 89};// RNM(owsp) | ||
this.rules[44].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[44].opcodes[1] = { type: 6, string: [47] };// TBS | ||
this.rules[44].opcodes[2] = { type: 4, index: 89 };// RNM(owsp) | ||
/* CatOp */ | ||
this.rules[45].opcodes = []; | ||
this.rules[45].opcodes[0] = {type: 4, index: 90};// RNM(wsp) | ||
this.rules[45].opcodes[0] = { type: 4, index: 90 };// RNM(wsp) | ||
/* StarOp */ | ||
this.rules[46].opcodes = []; | ||
this.rules[46].opcodes[0] = {type: 6, string: [42]};// TBS | ||
this.rules[46].opcodes[0] = { type: 6, string: [42] };// TBS | ||
/* AndOp */ | ||
this.rules[47].opcodes = []; | ||
this.rules[47].opcodes[0] = {type: 6, string: [38]};// TBS | ||
this.rules[47].opcodes[0] = { type: 6, string: [38] };// TBS | ||
/* NotOp */ | ||
this.rules[48].opcodes = []; | ||
this.rules[48].opcodes[0] = {type: 6, string: [33]};// TBS | ||
this.rules[48].opcodes[0] = { type: 6, string: [33] };// TBS | ||
/* BkaOp */ | ||
this.rules[49].opcodes = []; | ||
this.rules[49].opcodes[0] = {type: 6, string: [38,38]};// TBS | ||
this.rules[49].opcodes[0] = { type: 6, string: [38,38] };// TBS | ||
/* BknOp */ | ||
this.rules[50].opcodes = []; | ||
this.rules[50].opcodes[0] = {type: 6, string: [33,33]};// TBS | ||
this.rules[50].opcodes[0] = { type: 6, string: [33,33] };// TBS | ||
/* AbgOp */ | ||
this.rules[51].opcodes = []; | ||
this.rules[51].opcodes[0] = {type: 6, string: [37,94]};// TBS | ||
this.rules[51].opcodes[0] = { type: 6, string: [37,94] };// TBS | ||
/* AenOp */ | ||
this.rules[52].opcodes = []; | ||
this.rules[52].opcodes[0] = {type: 6, string: [37,36]};// TBS | ||
this.rules[52].opcodes[0] = { type: 6, string: [37,36] };// TBS | ||
/* TrgOp */ | ||
this.rules[53].opcodes = []; | ||
this.rules[53].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[53].opcodes[1] = {type: 6, string: [37]};// TBS | ||
this.rules[53].opcodes[2] = {type: 1, children: [3,8,13]};// ALT | ||
this.rules[53].opcodes[3] = {type: 2, children: [4,5,6,7]};// CAT | ||
this.rules[53].opcodes[4] = {type: 4, index: 76};// RNM(Dec) | ||
this.rules[53].opcodes[5] = {type: 4, index: 79};// RNM(dmin) | ||
this.rules[53].opcodes[6] = {type: 6, string: [45]};// TBS | ||
this.rules[53].opcodes[7] = {type: 4, index: 80};// RNM(dmax) | ||
this.rules[53].opcodes[8] = {type: 2, children: [9,10,11,12]};// CAT | ||
this.rules[53].opcodes[9] = {type: 4, index: 77};// RNM(Hex) | ||
this.rules[53].opcodes[10] = {type: 4, index: 83};// RNM(xmin) | ||
this.rules[53].opcodes[11] = {type: 6, string: [45]};// TBS | ||
this.rules[53].opcodes[12] = {type: 4, index: 84};// RNM(xmax) | ||
this.rules[53].opcodes[13] = {type: 2, children: [14,15,16,17]};// CAT | ||
this.rules[53].opcodes[14] = {type: 4, index: 78};// RNM(Bin) | ||
this.rules[53].opcodes[15] = {type: 4, index: 81};// RNM(bmin) | ||
this.rules[53].opcodes[16] = {type: 6, string: [45]};// TBS | ||
this.rules[53].opcodes[17] = {type: 4, index: 82};// RNM(bmax) | ||
this.rules[53].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[53].opcodes[1] = { type: 6, string: [37] };// TBS | ||
this.rules[53].opcodes[2] = { type: 1, children: [3,8,13] };// ALT | ||
this.rules[53].opcodes[3] = { type: 2, children: [4,5,6,7] };// CAT | ||
this.rules[53].opcodes[4] = { type: 4, index: 76 };// RNM(Dec) | ||
this.rules[53].opcodes[5] = { type: 4, index: 79 };// RNM(dmin) | ||
this.rules[53].opcodes[6] = { type: 6, string: [45] };// TBS | ||
this.rules[53].opcodes[7] = { type: 4, index: 80 };// RNM(dmax) | ||
this.rules[53].opcodes[8] = { type: 2, children: [9,10,11,12] };// CAT | ||
this.rules[53].opcodes[9] = { type: 4, index: 77 };// RNM(Hex) | ||
this.rules[53].opcodes[10] = { type: 4, index: 83 };// RNM(xmin) | ||
this.rules[53].opcodes[11] = { type: 6, string: [45] };// TBS | ||
this.rules[53].opcodes[12] = { type: 4, index: 84 };// RNM(xmax) | ||
this.rules[53].opcodes[13] = { type: 2, children: [14,15,16,17] };// CAT | ||
this.rules[53].opcodes[14] = { type: 4, index: 78 };// RNM(Bin) | ||
this.rules[53].opcodes[15] = { type: 4, index: 81 };// RNM(bmin) | ||
this.rules[53].opcodes[16] = { type: 6, string: [45] };// TBS | ||
this.rules[53].opcodes[17] = { type: 4, index: 82 };// RNM(bmax) | ||
/* TbsOp */ | ||
this.rules[54].opcodes = []; | ||
this.rules[54].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[54].opcodes[1] = {type: 6, string: [37]};// TBS | ||
this.rules[54].opcodes[2] = {type: 1, children: [3,10,17]};// ALT | ||
this.rules[54].opcodes[3] = {type: 2, children: [4,5,6]};// CAT | ||
this.rules[54].opcodes[4] = {type: 4, index: 76};// RNM(Dec) | ||
this.rules[54].opcodes[5] = {type: 4, index: 73};// RNM(dString) | ||
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: 6, string: [46]};// TBS | ||
this.rules[54].opcodes[9] = {type: 4, index: 73};// RNM(dString) | ||
this.rules[54].opcodes[10] = {type: 2, children: [11,12,13]};// CAT | ||
this.rules[54].opcodes[11] = {type: 4, index: 77};// RNM(Hex) | ||
this.rules[54].opcodes[12] = {type: 4, index: 74};// RNM(xString) | ||
this.rules[54].opcodes[13] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[54].opcodes[14] = {type: 2, children: [15,16]};// CAT | ||
this.rules[54].opcodes[15] = {type: 6, string: [46]};// TBS | ||
this.rules[54].opcodes[16] = {type: 4, index: 74};// RNM(xString) | ||
this.rules[54].opcodes[17] = {type: 2, children: [18,19,20]};// CAT | ||
this.rules[54].opcodes[18] = {type: 4, index: 78};// RNM(Bin) | ||
this.rules[54].opcodes[19] = {type: 4, index: 75};// RNM(bString) | ||
this.rules[54].opcodes[20] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[54].opcodes[21] = {type: 2, children: [22,23]};// CAT | ||
this.rules[54].opcodes[22] = {type: 6, string: [46]};// TBS | ||
this.rules[54].opcodes[23] = {type: 4, index: 75};// RNM(bString) | ||
this.rules[54].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[54].opcodes[1] = { type: 6, string: [37] };// TBS | ||
this.rules[54].opcodes[2] = { type: 1, children: [3,10,17] };// ALT | ||
this.rules[54].opcodes[3] = { type: 2, children: [4,5,6] };// CAT | ||
this.rules[54].opcodes[4] = { type: 4, index: 76 };// RNM(Dec) | ||
this.rules[54].opcodes[5] = { type: 4, index: 73 };// RNM(dString) | ||
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: 6, string: [46] };// TBS | ||
this.rules[54].opcodes[9] = { type: 4, index: 73 };// RNM(dString) | ||
this.rules[54].opcodes[10] = { type: 2, children: [11,12,13] };// CAT | ||
this.rules[54].opcodes[11] = { type: 4, index: 77 };// RNM(Hex) | ||
this.rules[54].opcodes[12] = { type: 4, index: 74 };// RNM(xString) | ||
this.rules[54].opcodes[13] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[54].opcodes[14] = { type: 2, children: [15,16] };// CAT | ||
this.rules[54].opcodes[15] = { type: 6, string: [46] };// TBS | ||
this.rules[54].opcodes[16] = { type: 4, index: 74 };// RNM(xString) | ||
this.rules[54].opcodes[17] = { type: 2, children: [18,19,20] };// CAT | ||
this.rules[54].opcodes[18] = { type: 4, index: 78 };// RNM(Bin) | ||
this.rules[54].opcodes[19] = { type: 4, index: 75 };// RNM(bString) | ||
this.rules[54].opcodes[20] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[54].opcodes[21] = { type: 2, children: [22,23] };// CAT | ||
this.rules[54].opcodes[22] = { type: 6, string: [46] };// TBS | ||
this.rules[54].opcodes[23] = { type: 4, index: 75 };// RNM(bString) | ||
/* TlsOp */ | ||
this.rules[55].opcodes = []; | ||
this.rules[55].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT | ||
this.rules[55].opcodes[1] = {type: 4, index: 56};// RNM(TlsCase) | ||
this.rules[55].opcodes[2] = {type: 4, index: 57};// RNM(TlsOpen) | ||
this.rules[55].opcodes[3] = {type: 4, index: 59};// RNM(TlsString) | ||
this.rules[55].opcodes[4] = {type: 4, index: 58};// RNM(TlsClose) | ||
this.rules[55].opcodes[0] = { type: 2, children: [1,2,3,4] };// CAT | ||
this.rules[55].opcodes[1] = { type: 4, index: 56 };// RNM(TlsCase) | ||
this.rules[55].opcodes[2] = { type: 4, index: 57 };// RNM(TlsOpen) | ||
this.rules[55].opcodes[3] = { type: 4, index: 59 };// RNM(TlsString) | ||
this.rules[55].opcodes[4] = { type: 4, index: 58 };// RNM(TlsClose) | ||
/* TlsCase */ | ||
this.rules[56].opcodes = []; | ||
this.rules[56].opcodes[0] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[56].opcodes[1] = {type: 1, children: [2,3]};// ALT | ||
this.rules[56].opcodes[2] = {type: 7, string: [37,105]};// TLS | ||
this.rules[56].opcodes[3] = {type: 7, string: [37,115]};// TLS | ||
this.rules[56].opcodes[0] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[56].opcodes[1] = { type: 1, children: [2,3] };// ALT | ||
this.rules[56].opcodes[2] = { type: 7, string: [37,105] };// TLS | ||
this.rules[56].opcodes[3] = { type: 7, string: [37,115] };// TLS | ||
/* TlsOpen */ | ||
this.rules[57].opcodes = []; | ||
this.rules[57].opcodes[0] = {type: 6, string: [34]};// TBS | ||
this.rules[57].opcodes[0] = { type: 6, string: [34] };// TBS | ||
/* TlsClose */ | ||
this.rules[58].opcodes = []; | ||
this.rules[58].opcodes[0] = {type: 6, string: [34]};// TBS | ||
this.rules[58].opcodes[0] = { type: 6, string: [34] };// TBS | ||
/* TlsString */ | ||
this.rules[59].opcodes = []; | ||
this.rules[59].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[59].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[59].opcodes[2] = {type: 5, min: 32, max: 33};// TRG | ||
this.rules[59].opcodes[3] = {type: 5, min: 35, max: 126};// TRG | ||
this.rules[59].opcodes[4] = {type: 4, index: 60};// RNM(StringTab) | ||
this.rules[59].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[59].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[59].opcodes[2] = { type: 5, min: 32, max: 33 };// TRG | ||
this.rules[59].opcodes[3] = { type: 5, min: 35, max: 126 };// TRG | ||
this.rules[59].opcodes[4] = { type: 4, index: 60 };// RNM(StringTab) | ||
/* StringTab */ | ||
this.rules[60].opcodes = []; | ||
this.rules[60].opcodes[0] = {type: 6, string: [9]};// TBS | ||
this.rules[60].opcodes[0] = { type: 6, string: [9] };// TBS | ||
/* ClsOp */ | ||
this.rules[61].opcodes = []; | ||
this.rules[61].opcodes[0] = {type: 2, children: [1,2,3]};// CAT | ||
this.rules[61].opcodes[1] = {type: 4, index: 62};// RNM(ClsOpen) | ||
this.rules[61].opcodes[2] = {type: 4, index: 64};// RNM(ClsString) | ||
this.rules[61].opcodes[3] = {type: 4, index: 63};// RNM(ClsClose) | ||
this.rules[61].opcodes[0] = { type: 2, children: [1,2,3] };// CAT | ||
this.rules[61].opcodes[1] = { type: 4, index: 62 };// RNM(ClsOpen) | ||
this.rules[61].opcodes[2] = { type: 4, index: 64 };// RNM(ClsString) | ||
this.rules[61].opcodes[3] = { type: 4, index: 63 };// RNM(ClsClose) | ||
/* ClsOpen */ | ||
this.rules[62].opcodes = []; | ||
this.rules[62].opcodes[0] = {type: 6, string: [39]};// TBS | ||
this.rules[62].opcodes[0] = { type: 6, string: [39] };// TBS | ||
/* ClsClose */ | ||
this.rules[63].opcodes = []; | ||
this.rules[63].opcodes[0] = {type: 6, string: [39]};// TBS | ||
this.rules[63].opcodes[0] = { type: 6, string: [39] };// TBS | ||
/* ClsString */ | ||
this.rules[64].opcodes = []; | ||
this.rules[64].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[64].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[64].opcodes[2] = {type: 5, min: 32, max: 38};// TRG | ||
this.rules[64].opcodes[3] = {type: 5, min: 40, max: 126};// TRG | ||
this.rules[64].opcodes[4] = {type: 4, index: 60};// RNM(StringTab) | ||
this.rules[64].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[64].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[64].opcodes[2] = { type: 5, min: 32, max: 38 };// TRG | ||
this.rules[64].opcodes[3] = { type: 5, min: 40, max: 126 };// TRG | ||
this.rules[64].opcodes[4] = { type: 4, index: 60 };// RNM(StringTab) | ||
/* ProsVal */ | ||
this.rules[65].opcodes = []; | ||
this.rules[65].opcodes[0] = {type: 2, children: [1,2,3]};// CAT | ||
this.rules[65].opcodes[1] = {type: 4, index: 66};// RNM(ProsValOpen) | ||
this.rules[65].opcodes[2] = {type: 4, index: 67};// RNM(ProsValString) | ||
this.rules[65].opcodes[3] = {type: 4, index: 68};// RNM(ProsValClose) | ||
this.rules[65].opcodes[0] = { type: 2, children: [1,2,3] };// CAT | ||
this.rules[65].opcodes[1] = { type: 4, index: 66 };// RNM(ProsValOpen) | ||
this.rules[65].opcodes[2] = { type: 4, index: 67 };// RNM(ProsValString) | ||
this.rules[65].opcodes[3] = { type: 4, index: 68 };// RNM(ProsValClose) | ||
/* ProsValOpen */ | ||
this.rules[66].opcodes = []; | ||
this.rules[66].opcodes[0] = {type: 6, string: [60]};// TBS | ||
this.rules[66].opcodes[0] = { type: 6, string: [60] };// TBS | ||
/* ProsValString */ | ||
this.rules[67].opcodes = []; | ||
this.rules[67].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[67].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[67].opcodes[2] = {type: 5, min: 32, max: 61};// TRG | ||
this.rules[67].opcodes[3] = {type: 5, min: 63, max: 126};// TRG | ||
this.rules[67].opcodes[4] = {type: 4, index: 60};// RNM(StringTab) | ||
this.rules[67].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[67].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[67].opcodes[2] = { type: 5, min: 32, max: 61 };// TRG | ||
this.rules[67].opcodes[3] = { type: 5, min: 63, max: 126 };// TRG | ||
this.rules[67].opcodes[4] = { type: 4, index: 60 };// RNM(StringTab) | ||
/* ProsValClose */ | ||
this.rules[68].opcodes = []; | ||
this.rules[68].opcodes[0] = {type: 6, string: [62]};// TBS | ||
this.rules[68].opcodes[0] = { type: 6, string: [62] };// TBS | ||
/* rep-min */ | ||
this.rules[69].opcodes = []; | ||
this.rules[69].opcodes[0] = {type: 4, index: 72};// RNM(rep-num) | ||
this.rules[69].opcodes[0] = { type: 4, index: 72 };// RNM(rep-num) | ||
/* rep-min-max */ | ||
this.rules[70].opcodes = []; | ||
this.rules[70].opcodes[0] = {type: 4, index: 72};// RNM(rep-num) | ||
this.rules[70].opcodes[0] = { type: 4, index: 72 };// RNM(rep-num) | ||
/* rep-max */ | ||
this.rules[71].opcodes = []; | ||
this.rules[71].opcodes[0] = {type: 4, index: 72};// RNM(rep-num) | ||
this.rules[71].opcodes[0] = { type: 4, index: 72 };// RNM(rep-num) | ||
/* rep-num */ | ||
this.rules[72].opcodes = []; | ||
this.rules[72].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[72].opcodes[1] = {type: 5, min: 48, max: 57};// TRG | ||
this.rules[72].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[72].opcodes[1] = { type: 5, min: 48, max: 57 };// TRG | ||
/* dString */ | ||
this.rules[73].opcodes = []; | ||
this.rules[73].opcodes[0] = {type: 4, index: 85};// RNM(dnum) | ||
this.rules[73].opcodes[0] = { type: 4, index: 85 };// RNM(dnum) | ||
/* xString */ | ||
this.rules[74].opcodes = []; | ||
this.rules[74].opcodes[0] = {type: 4, index: 87};// RNM(xnum) | ||
this.rules[74].opcodes[0] = { type: 4, index: 87 };// RNM(xnum) | ||
/* bString */ | ||
this.rules[75].opcodes = []; | ||
this.rules[75].opcodes[0] = {type: 4, index: 86};// RNM(bnum) | ||
this.rules[75].opcodes[0] = { type: 4, index: 86 };// RNM(bnum) | ||
/* Dec */ | ||
this.rules[76].opcodes = []; | ||
this.rules[76].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[76].opcodes[1] = {type: 6, string: [68]};// TBS | ||
this.rules[76].opcodes[2] = {type: 6, string: [100]};// TBS | ||
this.rules[76].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[76].opcodes[1] = { type: 6, string: [68] };// TBS | ||
this.rules[76].opcodes[2] = { type: 6, string: [100] };// TBS | ||
/* Hex */ | ||
this.rules[77].opcodes = []; | ||
this.rules[77].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[77].opcodes[1] = {type: 6, string: [88]};// TBS | ||
this.rules[77].opcodes[2] = {type: 6, string: [120]};// TBS | ||
this.rules[77].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[77].opcodes[1] = { type: 6, string: [88] };// TBS | ||
this.rules[77].opcodes[2] = { type: 6, string: [120] };// TBS | ||
/* Bin */ | ||
this.rules[78].opcodes = []; | ||
this.rules[78].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[78].opcodes[1] = {type: 6, string: [66]};// TBS | ||
this.rules[78].opcodes[2] = {type: 6, string: [98]};// TBS | ||
this.rules[78].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[78].opcodes[1] = { type: 6, string: [66] };// TBS | ||
this.rules[78].opcodes[2] = { type: 6, string: [98] };// TBS | ||
/* dmin */ | ||
this.rules[79].opcodes = []; | ||
this.rules[79].opcodes[0] = {type: 4, index: 85};// RNM(dnum) | ||
this.rules[79].opcodes[0] = { type: 4, index: 85 };// RNM(dnum) | ||
/* dmax */ | ||
this.rules[80].opcodes = []; | ||
this.rules[80].opcodes[0] = {type: 4, index: 85};// RNM(dnum) | ||
this.rules[80].opcodes[0] = { type: 4, index: 85 };// RNM(dnum) | ||
/* bmin */ | ||
this.rules[81].opcodes = []; | ||
this.rules[81].opcodes[0] = {type: 4, index: 86};// RNM(bnum) | ||
this.rules[81].opcodes[0] = { type: 4, index: 86 };// RNM(bnum) | ||
/* bmax */ | ||
this.rules[82].opcodes = []; | ||
this.rules[82].opcodes[0] = {type: 4, index: 86};// RNM(bnum) | ||
this.rules[82].opcodes[0] = { type: 4, index: 86 };// RNM(bnum) | ||
/* xmin */ | ||
this.rules[83].opcodes = []; | ||
this.rules[83].opcodes[0] = {type: 4, index: 87};// RNM(xnum) | ||
this.rules[83].opcodes[0] = { type: 4, index: 87 };// RNM(xnum) | ||
/* xmax */ | ||
this.rules[84].opcodes = []; | ||
this.rules[84].opcodes[0] = {type: 4, index: 87};// RNM(xnum) | ||
this.rules[84].opcodes[0] = { type: 4, index: 87 };// RNM(xnum) | ||
/* dnum */ | ||
this.rules[85].opcodes = []; | ||
this.rules[85].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[85].opcodes[1] = {type: 5, min: 48, max: 57};// TRG | ||
this.rules[85].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[85].opcodes[1] = { type: 5, min: 48, max: 57 };// TRG | ||
/* bnum */ | ||
this.rules[86].opcodes = []; | ||
this.rules[86].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[86].opcodes[1] = {type: 5, min: 48, max: 49};// TRG | ||
this.rules[86].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[86].opcodes[1] = { type: 5, min: 48, max: 49 };// TRG | ||
/* xnum */ | ||
this.rules[87].opcodes = []; | ||
this.rules[87].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[87].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[87].opcodes[2] = {type: 5, min: 48, max: 57};// TRG | ||
this.rules[87].opcodes[3] = {type: 5, min: 65, max: 70};// TRG | ||
this.rules[87].opcodes[4] = {type: 5, min: 97, max: 102};// TRG | ||
this.rules[87].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[87].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[87].opcodes[2] = { type: 5, min: 48, max: 57 };// TRG | ||
this.rules[87].opcodes[3] = { type: 5, min: 65, max: 70 };// TRG | ||
this.rules[87].opcodes[4] = { type: 5, min: 97, max: 102 };// TRG | ||
/* alphanum */ | ||
this.rules[88].opcodes = []; | ||
this.rules[88].opcodes[0] = {type: 2, children: [1,4]};// CAT | ||
this.rules[88].opcodes[1] = {type: 1, children: [2,3]};// ALT | ||
this.rules[88].opcodes[2] = {type: 5, min: 97, max: 122};// TRG | ||
this.rules[88].opcodes[3] = {type: 5, min: 65, max: 90};// TRG | ||
this.rules[88].opcodes[4] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[88].opcodes[5] = {type: 1, children: [6,7,8,9]};// ALT | ||
this.rules[88].opcodes[6] = {type: 5, min: 97, max: 122};// TRG | ||
this.rules[88].opcodes[7] = {type: 5, min: 65, max: 90};// TRG | ||
this.rules[88].opcodes[8] = {type: 5, min: 48, max: 57};// TRG | ||
this.rules[88].opcodes[9] = {type: 6, string: [45]};// TBS | ||
this.rules[88].opcodes[0] = { type: 2, children: [1,4] };// CAT | ||
this.rules[88].opcodes[1] = { type: 1, children: [2,3] };// ALT | ||
this.rules[88].opcodes[2] = { type: 5, min: 97, max: 122 };// TRG | ||
this.rules[88].opcodes[3] = { type: 5, min: 65, max: 90 };// TRG | ||
this.rules[88].opcodes[4] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[88].opcodes[5] = { type: 1, children: [6,7,8,9] };// ALT | ||
this.rules[88].opcodes[6] = { type: 5, min: 97, max: 122 };// TRG | ||
this.rules[88].opcodes[7] = { type: 5, min: 65, max: 90 };// TRG | ||
this.rules[88].opcodes[8] = { type: 5, min: 48, max: 57 };// TRG | ||
this.rules[88].opcodes[9] = { type: 6, string: [45] };// TBS | ||
/* owsp */ | ||
this.rules[89].opcodes = []; | ||
this.rules[89].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[89].opcodes[1] = {type: 4, index: 91};// RNM(space) | ||
this.rules[89].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[89].opcodes[1] = { type: 4, index: 91 };// RNM(space) | ||
/* wsp */ | ||
this.rules[90].opcodes = []; | ||
this.rules[90].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[90].opcodes[1] = {type: 4, index: 91};// RNM(space) | ||
this.rules[90].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[90].opcodes[1] = { type: 4, index: 91 };// RNM(space) | ||
/* space */ | ||
this.rules[91].opcodes = []; | ||
this.rules[91].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT | ||
this.rules[91].opcodes[1] = {type: 6, string: [32]};// TBS | ||
this.rules[91].opcodes[2] = {type: 6, string: [9]};// TBS | ||
this.rules[91].opcodes[3] = {type: 4, index: 92};// RNM(comment) | ||
this.rules[91].opcodes[4] = {type: 4, index: 94};// RNM(LineContinue) | ||
this.rules[91].opcodes[0] = { type: 1, children: [1,2,3,4] };// ALT | ||
this.rules[91].opcodes[1] = { type: 6, string: [32] };// TBS | ||
this.rules[91].opcodes[2] = { type: 6, string: [9] };// TBS | ||
this.rules[91].opcodes[3] = { type: 4, index: 92 };// RNM(comment) | ||
this.rules[91].opcodes[4] = { type: 4, index: 94 };// RNM(LineContinue) | ||
/* comment */ | ||
this.rules[92].opcodes = []; | ||
this.rules[92].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[92].opcodes[1] = {type: 6, string: [59]};// TBS | ||
this.rules[92].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[92].opcodes[3] = {type: 1, children: [4,5]};// ALT | ||
this.rules[92].opcodes[4] = {type: 5, min: 32, max: 126};// TRG | ||
this.rules[92].opcodes[5] = {type: 6, string: [9]};// TBS | ||
this.rules[92].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[92].opcodes[1] = { type: 6, string: [59] };// TBS | ||
this.rules[92].opcodes[2] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[92].opcodes[3] = { type: 1, children: [4,5] };// ALT | ||
this.rules[92].opcodes[4] = { type: 5, min: 32, max: 126 };// TRG | ||
this.rules[92].opcodes[5] = { type: 6, string: [9] };// TBS | ||
/* LineEnd */ | ||
this.rules[93].opcodes = []; | ||
this.rules[93].opcodes[0] = {type: 1, children: [1,2,3]};// ALT | ||
this.rules[93].opcodes[1] = {type: 6, string: [13,10]};// TBS | ||
this.rules[93].opcodes[2] = {type: 6, string: [10]};// TBS | ||
this.rules[93].opcodes[3] = {type: 6, string: [13]};// TBS | ||
this.rules[93].opcodes[0] = { type: 1, children: [1,2,3] };// ALT | ||
this.rules[93].opcodes[1] = { type: 6, string: [13,10] };// TBS | ||
this.rules[93].opcodes[2] = { type: 6, string: [10] };// TBS | ||
this.rules[93].opcodes[3] = { type: 6, string: [13] };// TBS | ||
/* LineContinue */ | ||
this.rules[94].opcodes = []; | ||
this.rules[94].opcodes[0] = {type: 2, children: [1,5]};// CAT | ||
this.rules[94].opcodes[1] = {type: 1, children: [2,3,4]};// ALT | ||
this.rules[94].opcodes[2] = {type: 6, string: [13,10]};// TBS | ||
this.rules[94].opcodes[3] = {type: 6, string: [10]};// TBS | ||
this.rules[94].opcodes[4] = {type: 6, string: [13]};// TBS | ||
this.rules[94].opcodes[5] = {type: 1, children: [6,7]};// ALT | ||
this.rules[94].opcodes[6] = {type: 6, string: [32]};// TBS | ||
this.rules[94].opcodes[7] = {type: 6, string: [9]};// TBS | ||
this.rules[94].opcodes[0] = { type: 2, children: [1,5] };// CAT | ||
this.rules[94].opcodes[1] = { type: 1, children: [2,3,4] };// ALT | ||
this.rules[94].opcodes[2] = { type: 6, string: [13,10] };// TBS | ||
this.rules[94].opcodes[3] = { type: 6, string: [10] };// TBS | ||
this.rules[94].opcodes[4] = { type: 6, string: [13] };// TBS | ||
this.rules[94].opcodes[5] = { type: 1, children: [6,7] };// ALT | ||
this.rules[94].opcodes[6] = { type: 6, string: [32] };// TBS | ||
this.rules[94].opcodes[7] = { type: 6, string: [9] };// TBS | ||
@@ -794,0 +794,0 @@ // The `toString()` function will display the original grammar file(s) that produced these opcodes. |
@@ -1,5 +0,5 @@ | ||
// copyright: Copyright (c) 2023 Lowell D. Thomas, all rights reserved<br> | ||
// copyright: Copyright (c) 2024 Lowell D. Thomas, all rights reserved<br> | ||
// license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)<br> | ||
// | ||
// Generated by apg-js, Version 4.2.1 [apg-js](https://github.com/ldthomas/apg-js) | ||
// Generated by apg-js, Version 4.4.0 [apg-js](https://github.com/ldthomas/apg-js) | ||
module.exports = function grammar(){ | ||
@@ -35,12 +35,12 @@ // ``` | ||
this.rules = []; | ||
this.rules[0] = {name: 'file', lower: 'file', index: 0, isBkr: false}; | ||
this.rules[1] = {name: 'line', lower: 'line', index: 1, isBkr: false}; | ||
this.rules[2] = {name: 'line-text', lower: 'line-text', index: 2, isBkr: false}; | ||
this.rules[3] = {name: 'last-line', lower: 'last-line', index: 3, isBkr: false}; | ||
this.rules[4] = {name: 'valid', lower: 'valid', index: 4, isBkr: false}; | ||
this.rules[5] = {name: 'invalid', lower: 'invalid', index: 5, isBkr: false}; | ||
this.rules[6] = {name: 'end', lower: 'end', index: 6, isBkr: false}; | ||
this.rules[7] = {name: 'CRLF', lower: 'crlf', index: 7, isBkr: false}; | ||
this.rules[8] = {name: 'LF', lower: 'lf', index: 8, isBkr: false}; | ||
this.rules[9] = {name: 'CR', lower: 'cr', index: 9, isBkr: false}; | ||
this.rules[0] = { name: 'file', lower: 'file', index: 0, isBkr: false }; | ||
this.rules[1] = { name: 'line', lower: 'line', index: 1, isBkr: false }; | ||
this.rules[2] = { name: 'line-text', lower: 'line-text', index: 2, isBkr: false }; | ||
this.rules[3] = { name: 'last-line', lower: 'last-line', index: 3, isBkr: false }; | ||
this.rules[4] = { name: 'valid', lower: 'valid', index: 4, isBkr: false }; | ||
this.rules[5] = { name: 'invalid', lower: 'invalid', index: 5, isBkr: false }; | ||
this.rules[6] = { name: 'end', lower: 'end', index: 6, isBkr: false }; | ||
this.rules[7] = { name: 'CRLF', lower: 'crlf', index: 7, isBkr: false }; | ||
this.rules[8] = { name: 'LF', lower: 'lf', index: 8, isBkr: false }; | ||
this.rules[9] = { name: 'CR', lower: 'cr', index: 9, isBkr: false }; | ||
@@ -53,60 +53,60 @@ /* UDTS */ | ||
this.rules[0].opcodes = []; | ||
this.rules[0].opcodes[0] = {type: 2, children: [1,3]};// CAT | ||
this.rules[0].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[0].opcodes[2] = {type: 4, index: 1};// RNM(line) | ||
this.rules[0].opcodes[3] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[0].opcodes[4] = {type: 4, index: 3};// RNM(last-line) | ||
this.rules[0].opcodes[0] = { type: 2, children: [1,3] };// CAT | ||
this.rules[0].opcodes[1] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[0].opcodes[2] = { type: 4, index: 1 };// RNM(line) | ||
this.rules[0].opcodes[3] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[0].opcodes[4] = { type: 4, index: 3 };// RNM(last-line) | ||
/* line */ | ||
this.rules[1].opcodes = []; | ||
this.rules[1].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[1].opcodes[1] = {type: 4, index: 2};// RNM(line-text) | ||
this.rules[1].opcodes[2] = {type: 4, index: 6};// RNM(end) | ||
this.rules[1].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[1].opcodes[1] = { type: 4, index: 2 };// RNM(line-text) | ||
this.rules[1].opcodes[2] = { type: 4, index: 6 };// RNM(end) | ||
/* line-text */ | ||
this.rules[2].opcodes = []; | ||
this.rules[2].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[2].opcodes[1] = {type: 1, children: [2,3]};// ALT | ||
this.rules[2].opcodes[2] = {type: 4, index: 4};// RNM(valid) | ||
this.rules[2].opcodes[3] = {type: 4, index: 5};// RNM(invalid) | ||
this.rules[2].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[2].opcodes[1] = { type: 1, children: [2,3] };// ALT | ||
this.rules[2].opcodes[2] = { type: 4, index: 4 };// RNM(valid) | ||
this.rules[2].opcodes[3] = { type: 4, index: 5 };// RNM(invalid) | ||
/* last-line */ | ||
this.rules[3].opcodes = []; | ||
this.rules[3].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP | ||
this.rules[3].opcodes[1] = {type: 1, children: [2,3]};// ALT | ||
this.rules[3].opcodes[2] = {type: 4, index: 4};// RNM(valid) | ||
this.rules[3].opcodes[3] = {type: 4, index: 5};// RNM(invalid) | ||
this.rules[3].opcodes[0] = { type: 3, min: 1, max: Infinity };// REP | ||
this.rules[3].opcodes[1] = { type: 1, children: [2,3] };// ALT | ||
this.rules[3].opcodes[2] = { type: 4, index: 4 };// RNM(valid) | ||
this.rules[3].opcodes[3] = { type: 4, index: 5 };// RNM(invalid) | ||
/* valid */ | ||
this.rules[4].opcodes = []; | ||
this.rules[4].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[4].opcodes[1] = {type: 5, min: 32, max: 126};// TRG | ||
this.rules[4].opcodes[2] = {type: 6, string: [9]};// TBS | ||
this.rules[4].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[4].opcodes[1] = { type: 5, min: 32, max: 126 };// TRG | ||
this.rules[4].opcodes[2] = { type: 6, string: [9] };// TBS | ||
/* invalid */ | ||
this.rules[5].opcodes = []; | ||
this.rules[5].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT | ||
this.rules[5].opcodes[1] = {type: 5, min: 0, max: 8};// TRG | ||
this.rules[5].opcodes[2] = {type: 5, min: 11, max: 12};// TRG | ||
this.rules[5].opcodes[3] = {type: 5, min: 14, max: 31};// TRG | ||
this.rules[5].opcodes[4] = {type: 5, min: 127, max: 4294967295};// TRG | ||
this.rules[5].opcodes[0] = { type: 1, children: [1,2,3,4] };// ALT | ||
this.rules[5].opcodes[1] = { type: 5, min: 0, max: 8 };// TRG | ||
this.rules[5].opcodes[2] = { type: 5, min: 11, max: 12 };// TRG | ||
this.rules[5].opcodes[3] = { type: 5, min: 14, max: 31 };// TRG | ||
this.rules[5].opcodes[4] = { type: 5, min: 127, max: 4294967295 };// TRG | ||
/* end */ | ||
this.rules[6].opcodes = []; | ||
this.rules[6].opcodes[0] = {type: 1, children: [1,2,3]};// ALT | ||
this.rules[6].opcodes[1] = {type: 4, index: 7};// RNM(CRLF) | ||
this.rules[6].opcodes[2] = {type: 4, index: 8};// RNM(LF) | ||
this.rules[6].opcodes[3] = {type: 4, index: 9};// RNM(CR) | ||
this.rules[6].opcodes[0] = { type: 1, children: [1,2,3] };// ALT | ||
this.rules[6].opcodes[1] = { type: 4, index: 7 };// RNM(CRLF) | ||
this.rules[6].opcodes[2] = { type: 4, index: 8 };// RNM(LF) | ||
this.rules[6].opcodes[3] = { type: 4, index: 9 };// RNM(CR) | ||
/* CRLF */ | ||
this.rules[7].opcodes = []; | ||
this.rules[7].opcodes[0] = {type: 6, string: [13,10]};// TBS | ||
this.rules[7].opcodes[0] = { type: 6, string: [13,10] };// TBS | ||
/* LF */ | ||
this.rules[8].opcodes = []; | ||
this.rules[8].opcodes[0] = {type: 6, string: [10]};// TBS | ||
this.rules[8].opcodes[0] = { type: 6, string: [10] };// TBS | ||
/* CR */ | ||
this.rules[9].opcodes = []; | ||
this.rules[9].opcodes[0] = {type: 6, string: [13]};// TBS | ||
this.rules[9].opcodes[0] = { type: 6, string: [13] };// TBS | ||
@@ -113,0 +113,0 @@ // The `toString()` function will display the original grammar file(s) that produced these opcodes. |
@@ -1,5 +0,5 @@ | ||
// copyright: Copyright (c) 2023 Lowell D. Thomas, all rights reserved<br> | ||
// copyright: Copyright (c) 2024 Lowell D. Thomas, all rights reserved<br> | ||
// license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)<br> | ||
// | ||
// Generated by apg-js, Version 4.2.1 [apg-js](https://github.com/ldthomas/apg-js) | ||
// Generated by apg-js, Version 4.4.0 [apg-js](https://github.com/ldthomas/apg-js) | ||
module.exports = function grammar(){ | ||
@@ -35,13 +35,13 @@ // ``` | ||
this.rules = []; | ||
this.rules[0] = {name: 'rule', lower: 'rule', index: 0, isBkr: false}; | ||
this.rules[1] = {name: 'error', lower: 'error', index: 1, isBkr: false}; | ||
this.rules[2] = {name: 'escape', lower: 'escape', index: 2, isBkr: false}; | ||
this.rules[3] = {name: 'match', lower: 'match', index: 3, isBkr: false}; | ||
this.rules[4] = {name: 'prefix', lower: 'prefix', index: 4, isBkr: false}; | ||
this.rules[5] = {name: 'suffix', lower: 'suffix', index: 5, isBkr: false}; | ||
this.rules[6] = {name: 'xname', lower: 'xname', index: 6, isBkr: false}; | ||
this.rules[7] = {name: 'name', lower: 'name', index: 7, isBkr: false}; | ||
this.rules[8] = {name: 'alpha', lower: 'alpha', index: 8, isBkr: false}; | ||
this.rules[9] = {name: 'digit', lower: 'digit', index: 9, isBkr: false}; | ||
this.rules[10] = {name: 'any-other', lower: 'any-other', index: 10, isBkr: false}; | ||
this.rules[0] = { name: 'rule', lower: 'rule', index: 0, isBkr: false }; | ||
this.rules[1] = { name: 'error', lower: 'error', index: 1, isBkr: false }; | ||
this.rules[2] = { name: 'escape', lower: 'escape', index: 2, isBkr: false }; | ||
this.rules[3] = { name: 'match', lower: 'match', index: 3, isBkr: false }; | ||
this.rules[4] = { name: 'prefix', lower: 'prefix', index: 4, isBkr: false }; | ||
this.rules[5] = { name: 'suffix', lower: 'suffix', index: 5, isBkr: false }; | ||
this.rules[6] = { name: 'xname', lower: 'xname', index: 6, isBkr: false }; | ||
this.rules[7] = { name: 'name', lower: 'name', index: 7, isBkr: false }; | ||
this.rules[8] = { name: 'alpha', lower: 'alpha', index: 8, isBkr: false }; | ||
this.rules[9] = { name: 'digit', lower: 'digit', index: 9, isBkr: false }; | ||
this.rules[10] = { name: 'any-other', lower: 'any-other', index: 10, isBkr: false }; | ||
@@ -54,71 +54,71 @@ /* UDTS */ | ||
this.rules[0].opcodes = []; | ||
this.rules[0].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[0].opcodes[1] = {type: 2, children: [2,4]};// CAT | ||
this.rules[0].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[0].opcodes[3] = {type: 4, index: 10};// RNM(any-other) | ||
this.rules[0].opcodes[4] = {type: 3, min: 0, max: 1};// REP | ||
this.rules[0].opcodes[5] = {type: 1, children: [6,7,8,9,10,11]};// ALT | ||
this.rules[0].opcodes[6] = {type: 4, index: 2};// RNM(escape) | ||
this.rules[0].opcodes[7] = {type: 4, index: 3};// RNM(match) | ||
this.rules[0].opcodes[8] = {type: 4, index: 4};// RNM(prefix) | ||
this.rules[0].opcodes[9] = {type: 4, index: 5};// RNM(suffix) | ||
this.rules[0].opcodes[10] = {type: 4, index: 6};// RNM(xname) | ||
this.rules[0].opcodes[11] = {type: 4, index: 1};// RNM(error) | ||
this.rules[0].opcodes[0] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[0].opcodes[1] = { type: 2, children: [2,4] };// CAT | ||
this.rules[0].opcodes[2] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[0].opcodes[3] = { type: 4, index: 10 };// RNM(any-other) | ||
this.rules[0].opcodes[4] = { type: 3, min: 0, max: 1 };// REP | ||
this.rules[0].opcodes[5] = { type: 1, children: [6,7,8,9,10,11] };// ALT | ||
this.rules[0].opcodes[6] = { type: 4, index: 2 };// RNM(escape) | ||
this.rules[0].opcodes[7] = { type: 4, index: 3 };// RNM(match) | ||
this.rules[0].opcodes[8] = { type: 4, index: 4 };// RNM(prefix) | ||
this.rules[0].opcodes[9] = { type: 4, index: 5 };// RNM(suffix) | ||
this.rules[0].opcodes[10] = { type: 4, index: 6 };// RNM(xname) | ||
this.rules[0].opcodes[11] = { type: 4, index: 1 };// RNM(error) | ||
/* error */ | ||
this.rules[1].opcodes = []; | ||
this.rules[1].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[1].opcodes[1] = {type: 7, string: [36]};// TLS | ||
this.rules[1].opcodes[2] = {type: 4, index: 10};// RNM(any-other) | ||
this.rules[1].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[1].opcodes[1] = { type: 7, string: [36] };// TLS | ||
this.rules[1].opcodes[2] = { type: 4, index: 10 };// RNM(any-other) | ||
/* escape */ | ||
this.rules[2].opcodes = []; | ||
this.rules[2].opcodes[0] = {type: 7, string: [36,36]};// TLS | ||
this.rules[2].opcodes[0] = { type: 7, string: [36,36] };// TLS | ||
/* match */ | ||
this.rules[3].opcodes = []; | ||
this.rules[3].opcodes[0] = {type: 7, string: [36,38]};// TLS | ||
this.rules[3].opcodes[0] = { type: 7, string: [36,38] };// TLS | ||
/* prefix */ | ||
this.rules[4].opcodes = []; | ||
this.rules[4].opcodes[0] = {type: 7, string: [36,96]};// TLS | ||
this.rules[4].opcodes[0] = { type: 7, string: [36,96] };// TLS | ||
/* suffix */ | ||
this.rules[5].opcodes = []; | ||
this.rules[5].opcodes[0] = {type: 7, string: [36,39]};// TLS | ||
this.rules[5].opcodes[0] = { type: 7, string: [36,39] };// TLS | ||
/* xname */ | ||
this.rules[6].opcodes = []; | ||
this.rules[6].opcodes[0] = {type: 2, children: [1,2,3]};// CAT | ||
this.rules[6].opcodes[1] = {type: 7, string: [36,123]};// TLS | ||
this.rules[6].opcodes[2] = {type: 4, index: 7};// RNM(name) | ||
this.rules[6].opcodes[3] = {type: 7, string: [125]};// TLS | ||
this.rules[6].opcodes[0] = { type: 2, children: [1,2,3] };// CAT | ||
this.rules[6].opcodes[1] = { type: 7, string: [36,123] };// TLS | ||
this.rules[6].opcodes[2] = { type: 4, index: 7 };// RNM(name) | ||
this.rules[6].opcodes[3] = { type: 7, string: [125] };// TLS | ||
/* name */ | ||
this.rules[7].opcodes = []; | ||
this.rules[7].opcodes[0] = {type: 2, children: [1,2]};// CAT | ||
this.rules[7].opcodes[1] = {type: 4, index: 8};// RNM(alpha) | ||
this.rules[7].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP | ||
this.rules[7].opcodes[3] = {type: 1, children: [4,5,6,7]};// ALT | ||
this.rules[7].opcodes[4] = {type: 4, index: 8};// RNM(alpha) | ||
this.rules[7].opcodes[5] = {type: 4, index: 9};// RNM(digit) | ||
this.rules[7].opcodes[6] = {type: 6, string: [45]};// TBS | ||
this.rules[7].opcodes[7] = {type: 6, string: [95]};// TBS | ||
this.rules[7].opcodes[0] = { type: 2, children: [1,2] };// CAT | ||
this.rules[7].opcodes[1] = { type: 4, index: 8 };// RNM(alpha) | ||
this.rules[7].opcodes[2] = { type: 3, min: 0, max: Infinity };// REP | ||
this.rules[7].opcodes[3] = { type: 1, children: [4,5,6,7] };// ALT | ||
this.rules[7].opcodes[4] = { type: 4, index: 8 };// RNM(alpha) | ||
this.rules[7].opcodes[5] = { type: 4, index: 9 };// RNM(digit) | ||
this.rules[7].opcodes[6] = { type: 6, string: [45] };// TBS | ||
this.rules[7].opcodes[7] = { type: 6, string: [95] };// TBS | ||
/* alpha */ | ||
this.rules[8].opcodes = []; | ||
this.rules[8].opcodes[0] = {type: 1, children: [1,2]};// ALT | ||
this.rules[8].opcodes[1] = {type: 5, min: 97, max: 122};// TRG | ||
this.rules[8].opcodes[2] = {type: 5, min: 65, max: 90};// TRG | ||
this.rules[8].opcodes[0] = { type: 1, children: [1,2] };// ALT | ||
this.rules[8].opcodes[1] = { type: 5, min: 97, max: 122 };// TRG | ||
this.rules[8].opcodes[2] = { type: 5, min: 65, max: 90 };// TRG | ||
/* digit */ | ||
this.rules[9].opcodes = []; | ||
this.rules[9].opcodes[0] = {type: 5, min: 48, max: 57};// TRG | ||
this.rules[9].opcodes[0] = { type: 5, min: 48, max: 57 };// TRG | ||
/* any-other */ | ||
this.rules[10].opcodes = []; | ||
this.rules[10].opcodes[0] = {type: 1, children: [1,2,3]};// ALT | ||
this.rules[10].opcodes[1] = {type: 5, min: 32, max: 35};// TRG | ||
this.rules[10].opcodes[2] = {type: 5, min: 37, max: 65535};// TRG | ||
this.rules[10].opcodes[3] = {type: 5, min: 10, max: 13};// TRG | ||
this.rules[10].opcodes[0] = { type: 1, children: [1,2,3] };// ALT | ||
this.rules[10].opcodes[1] = { type: 5, min: 32, max: 35 };// TRG | ||
this.rules[10].opcodes[2] = { type: 5, min: 37, max: 65535 };// TRG | ||
this.rules[10].opcodes[3] = { type: 5, min: 10, max: 13 };// TRG | ||
@@ -125,0 +125,0 @@ // The `toString()` function will display the original grammar file(s) that produced these opcodes. |
@@ -109,3 +109,3 @@ /* ************************************************************************************* | ||
if (config.outfd) { | ||
fs.writeSync(config.outfd, api.toSource(config.lite, config.funcName)); | ||
fs.writeSync(config.outfd, api.toSource(config)); | ||
if (config.lite) { | ||
@@ -112,0 +112,0 @@ console.log(`\napg-lite grammar object generated: ${config.outFilename}`); |
@@ -30,9 +30,10 @@ /* ************************************************************************************* | ||
help += '-s, --strict : only ABNF grammar (RFC 5234 & 7405) allowed, no Superset features\n'; | ||
help += '-l, --lite : generate an apg-lite ESM grammar object\n'; | ||
help += '-i <path>[,<path>[,...]] : input file(s)*\n'; | ||
help += '--in=<path>[,<path>[,...]] : input file(s)*\n'; | ||
help += '-o <path> : output filename**\n'; | ||
help += '--out=<path> : output filename**\n'; | ||
help += '-n <function name> : the grammar function name***\n'; | ||
help += '--name=<function name> : the grammar function name***\n'; | ||
help += '-l, --lite : generate an apg-lite ES Modules grammar object*\n'; | ||
help += '-t, --typescript : generate a typescript grammar object*\n'; | ||
help += '-i <path>[,<path>[,...]] : input file(s)**\n'; | ||
help += '--in=<path>[,<path>[,...]] : input file(s)**\n'; | ||
help += '-o <path> : output filename***\n'; | ||
help += '--out=<path> : output filename***\n'; | ||
help += '-n <function name> : the grammar function name****\n'; | ||
help += '--name=<function name> : the grammar function name****\n'; | ||
help += '--display-rules : display the rule names\n'; | ||
@@ -43,18 +44,27 @@ help += '--display-rule-dependencies: display => rules referenced <= rules referring to this rule\n'; | ||
help += 'Options are case insensitive.\n'; | ||
help += '* Multiple input files allowed.\n'; | ||
help += '* --typescript - a typescript grammar object is exported with\n'; | ||
help += ' export function grammar(){}\n'; | ||
help += '* --lite - an apg-lite ES Modules grammar object is exported with\n'; | ||
help += ' export default function grammar(){}\n'; | ||
help += ' --typescript and --lite are mutually exclusive and\n'; | ||
help += ' --typescript superceeds --lite if both are specified.\n'; | ||
help += ' If neither are specified a CommonJS object is exported with.\n'; | ||
help += ' module.exports = function grammar(){}\n'; | ||
help += '** Multiple input files allowed.\n'; | ||
help += ' Multiple file names must be comma separated with no spaces.\n'; | ||
help += ' File names from multiple input options are concatenated.\n'; | ||
help += ' Content of all resulting input files is concatenated.\n'; | ||
help += '** Output file name is optional.\n'; | ||
help += '*** Output file name is optional.\n'; | ||
help += ' If no output file name is given, no parser is generated.\n'; | ||
help += ' If the output file name does not have a ".js" extension,\n'; | ||
help += ' the existing extension, if any, is stripped and ".js" is added.\n'; | ||
help += '*** Grammar function name is optional.\n'; | ||
help += ' If present, must be a valid JavaScript function name\n'; | ||
help += ' If absent, uses "module.exports" for apg-js application\n'; | ||
help += ' or "export default" for apg-lite application.\n'; | ||
help += ' If the output file name is specified, the existing extension,\n'; | ||
help += ' if any, is stripped and ".js" is added unless the --typescript option\n'; | ||
help += ' is present in which case ".ts" is added.\n'; | ||
help += '****If --name=fname is present, a named function is created\n'; | ||
help += ' const fname = function grammar(){}\n'; | ||
help += ' typically for scripting directly into a web page.\n'; | ||
help += ' \n'; | ||
return help; | ||
}; | ||
const version = function version() { | ||
return 'JavaScript APG, version 4.3.0\nCopyright (C) 2023 Lowell D. Thomas, all rights reserved\n'; | ||
return 'JavaScript APG, version 4.4.0\nCopyright (C) 2024 Lowell D. Thomas, all rights reserved\n'; | ||
}; | ||
@@ -65,2 +75,4 @@ const STRICTL = '--strict'; | ||
const LITES = '-l'; | ||
const TYPEL = '--typescript'; | ||
const TYPES = '-t'; | ||
const HELPL = '--help'; | ||
@@ -86,2 +98,3 @@ const HELPS = '-h'; | ||
lite: false, | ||
typescript: false, | ||
noAttrs: false, | ||
@@ -143,2 +156,7 @@ displayRules: false, | ||
break; | ||
case TYPEL: | ||
case TYPES: | ||
config.typescript = true; | ||
i += 1; | ||
break; | ||
case INL: | ||
@@ -188,9 +206,7 @@ case INS: | ||
const info = path.parse(config.outFilename); | ||
if (info.ext !== 'js') { | ||
/* strip the extension and add .js */ | ||
if (info.dir) { | ||
config.outFilename = `${info.dir}/${info.name}.js`; | ||
} else { | ||
config.outFilename = `${info.name}.js`; | ||
} | ||
const ext = config.typescript ? 'ts' : 'js'; | ||
if (info.dir) { | ||
config.outFilename = `${info.dir}/${info.name}.${ext}`; | ||
} else { | ||
config.outFilename = `${info.name}.${ext}`; | ||
} | ||
@@ -197,0 +213,0 @@ config.outfd = fs.openSync(config.outFilename, 'w'); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1459469
116
15826
129