(e,t)
| 86 | constructor(){ |
| 87 | this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} |
| 88 | addRule(e,t){ |
| 89 | t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), |
| 90 | this.matchAt+=(e=>RegExp(e.toString()+"|").exec("").length-1)(e)+1}compile(){ |
| 91 | 0===this.regexes.length&&(this.exec=()=>null) |
| 92 | ;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(((e,t="|")=>{ |
| 93 | const n=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;let s=0,r="" |