UNPKG

bitmark-grammar

Version:
1,255 lines (1,254 loc) 426 kB
// Generated from ./Sequence/sequenceParser.g4 by ANTLR 4.9.0-SNAPSHOT import { ATN } from "antlr4ts/atn/ATN"; import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer"; import { FailedPredicateException } from "antlr4ts/FailedPredicateException"; import { NoViableAltException } from "antlr4ts/NoViableAltException"; import { Parser } from "antlr4ts/Parser"; import { ParserRuleContext } from "antlr4ts/ParserRuleContext"; import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator"; import { RecognitionException } from "antlr4ts/RecognitionException"; import { Token } from "antlr4ts/Token"; import { VocabularyImpl } from "antlr4ts/VocabularyImpl"; import * as Utils from "antlr4ts/misc/Utils"; export class sequenceParser extends Parser { constructor(input) { super(input); this._interp = new ParserATNSimulator(sequenceParser._ATN, this); } // @Override // @NotNull get vocabulary() { return sequenceParser.VOCABULARY; } // tslint:enable:no-trailing-whitespace // @Override get grammarFileName() { return "sequenceParser.g4"; } // @Override get ruleNames() { return sequenceParser.ruleNames; } // @Override get serializedATN() { return sequenceParser._serializedATN; } createFailedPredicateException(predicate, message) { return new FailedPredicateException(this, predicate, message); } // @RuleVersion(0) bitmark() { let _localctx = new BitmarkContext(this._ctx, this.state); this.enterRule(_localctx, 0, sequenceParser.RULE_bitmark); let _la; try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 185; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 172; this.bitmark_(); this.state = 182; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 176; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.S) { { { this.state = 173; this.match(sequenceParser.S); } } this.state = 178; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 179; this.match(sequenceParser.NL); } } } this.state = 184; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1, this._ctx); } } } this.state = 187; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === sequenceParser.BitSequence || _la === sequenceParser.BitMenu3Course); this.state = 192; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 189; this.match(sequenceParser.NL); } } this.state = 194; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 195; this.match(sequenceParser.EOF); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) bitmark_() { let _localctx = new Bitmark_Context(this._ctx, this.state); this.enterRule(_localctx, 2, sequenceParser.RULE_bitmark_); try { this.enterOuterAlt(_localctx, 1); { this.state = 197; this.bit(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) bit() { let _localctx = new BitContext(this._ctx, this.state); this.enterRule(_localctx, 4, sequenceParser.RULE_bit); try { this.state = 201; this._errHandler.sync(this); switch (this._input.LA(1)) { case sequenceParser.BitSequence: this.enterOuterAlt(_localctx, 1); { this.state = 199; this.sequence(); } break; case sequenceParser.BitMenu3Course: this.enterOuterAlt(_localctx, 2); { this.state = 200; this.menu_3_course(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) sequence() { let _localctx = new SequenceContext(this._ctx, this.state); this.enterRule(_localctx, 6, sequenceParser.RULE_sequence); let _la; try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 203; this.match(sequenceParser.BitSequence); this.state = 204; this.format(); this.state = 205; this.match(sequenceParser.CL); this.state = 215; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 209; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 206; this.match(sequenceParser.NL); } } this.state = 211; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 212; this.bitElem(); } } } this.state = 217; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx); } this.state = 221; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 218; this.match(sequenceParser.NL); } } this.state = 223; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 224; this.match(sequenceParser.HSPL); this.state = 230; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 225; this.seqstr(); this.state = 226; this.minusminus(); } } } this.state = 232; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx); } this.state = 233; this.seqstr(); this.state = 234; this.match(sequenceParser.HSPL); this.state = 236; this._errHandler.sync(this); switch (this.interpreter.adaptivePredict(this._input, 9, this._ctx)) { case 1: { this.state = 235; this.footer(); } break; } this.state = 251; this._errHandler.sync(this); switch (this.interpreter.adaptivePredict(this._input, 12, this._ctx)) { case 1: { this.state = 238; this.resource(); this.state = 248; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 242; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 239; this.match(sequenceParser.NL); } } this.state = 244; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 245; this.resource(); } } } this.state = 250; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) seqstr() { let _localctx = new SeqstrContext(this._ctx, this.state); this.enterRule(_localctx, 8, sequenceParser.RULE_seqstr); let _la; try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 259; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 253; this.bitElem(); this.state = 255; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === sequenceParser.NL) { { this.state = 254; this.match(sequenceParser.NL); } } } } } this.state = 261; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx); } this.state = 262; this.s_and_w(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) minusminus() { let _localctx = new MinusminusContext(this._ctx, this.state); this.enterRule(_localctx, 10, sequenceParser.RULE_minusminus); try { this.enterOuterAlt(_localctx, 1); { this.state = 264; this.match(sequenceParser.DMM); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) menu_3_course() { let _localctx = new Menu_3_courseContext(this._ctx, this.state); this.enterRule(_localctx, 12, sequenceParser.RULE_menu_3_course); let _la; try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 266; this.match(sequenceParser.BitMenu3Course); this.state = 267; this.format(); this.state = 268; this.match(sequenceParser.CL); this.state = 278; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 16, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 272; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 269; this.match(sequenceParser.NL); } } this.state = 274; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 275; this.bitElem(); } } } this.state = 280; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 16, this._ctx); } this.state = 284; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 281; this.match(sequenceParser.NL); } } this.state = 286; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 287; this.menu_list(); this.state = 289; this._errHandler.sync(this); switch (this.interpreter.adaptivePredict(this._input, 18, this._ctx)) { case 1: { this.state = 288; this.footer(); } break; } this.state = 304; this._errHandler.sync(this); switch (this.interpreter.adaptivePredict(this._input, 21, this._ctx)) { case 1: { this.state = 291; this.resource(); this.state = 301; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 20, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 295; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 292; this.match(sequenceParser.NL); } } this.state = 297; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 298; this.resource(); } } } this.state = 303; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 20, this._ctx); } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) menu_list() { let _localctx = new Menu_listContext(this._ctx, this.state); this.enterRule(_localctx, 14, sequenceParser.RULE_menu_list); try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 306; this.hspl_slot(); this.state = 307; this.menu_text(); this.state = 312; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 22, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 308; this.match(sequenceParser.HSPL); this.state = 309; this.menu_text(); } } } this.state = 314; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 22, this._ctx); } this.state = 315; this.match(sequenceParser.HSPL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) hspl_slot() { let _localctx = new Hspl_slotContext(this._ctx, this.state); this.enterRule(_localctx, 16, sequenceParser.RULE_hspl_slot); try { this.enterOuterAlt(_localctx, 1); { this.state = 317; this.match(sequenceParser.HSPL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) menu_text() { let _localctx = new Menu_textContext(this._ctx, this.state); this.enterRule(_localctx, 18, sequenceParser.RULE_menu_text); try { this.state = 321; this._errHandler.sync(this); switch (this._input.LA(1)) { case sequenceParser.S: case sequenceParser.OPB: case sequenceParser.OPQ: case sequenceParser.OPA: case sequenceParser.OPS: case sequenceParser.COLON: case sequenceParser.AMP: case sequenceParser.Greater: case sequenceParser.Less: case sequenceParser.RightAngle: case sequenceParser.RightArrow: case sequenceParser.DBLEQ: case sequenceParser.NUMERIC: case sequenceParser.STRING: case sequenceParser.NOTBITMARK: case sequenceParser.SENTENCE: case sequenceParser.BARSTRING: case sequenceParser.AtExampleWithStr: case sequenceParser.AtExamplecol: case sequenceParser.AtExamplecl: case sequenceParser.OpAtCopyright: case sequenceParser.AmpAudio: case sequenceParser.AmpImage: case sequenceParser.AmpVideo: case sequenceParser.AmpArticle: case sequenceParser.AmpDocument: case sequenceParser.AmpApp: case sequenceParser.AmpWebsite: case sequenceParser.AmpAudioLink: case sequenceParser.AmpImageLink: case sequenceParser.AmpArticleLink: case sequenceParser.AmpDocumentLink: case sequenceParser.BitmarkMinus: case sequenceParser.BitmarkPlus: case sequenceParser.URL: case sequenceParser.LIST_LINE: this.enterOuterAlt(_localctx, 1); { this.state = 319; this.melem(); } break; case sequenceParser.HSPL: this.enterOuterAlt(_localctx, 2); // tslint:disable-next-line:no-empty { } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) melem() { let _localctx = new MelemContext(this._ctx, this.state); this.enterRule(_localctx, 20, sequenceParser.RULE_melem); let _la; try { this.enterOuterAlt(_localctx, 1); { this.state = 323; this.mtex(); this.state = 327; this._errHandler.sync(this); _la = this._input.LA(1); while (((((_la - 2)) & ~0x1F) === 0 && ((1 << (_la - 2)) & ((1 << (sequenceParser.S - 2)) | (1 << (sequenceParser.OPB - 2)) | (1 << (sequenceParser.OPQ - 2)) | (1 << (sequenceParser.OPA - 2)) | (1 << (sequenceParser.OPS - 2)) | (1 << (sequenceParser.COLON - 2)) | (1 << (sequenceParser.AMP - 2)) | (1 << (sequenceParser.Greater - 2)) | (1 << (sequenceParser.Less - 2)) | (1 << (sequenceParser.RightAngle - 2)) | (1 << (sequenceParser.RightArrow - 2)) | (1 << (sequenceParser.DBLEQ - 2)))) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & ((1 << (sequenceParser.NUMERIC - 44)) | (1 << (sequenceParser.STRING - 44)) | (1 << (sequenceParser.NOTBITMARK - 44)) | (1 << (sequenceParser.SENTENCE - 44)) | (1 << (sequenceParser.BARSTRING - 44)) | (1 << (sequenceParser.AtExampleWithStr - 44)) | (1 << (sequenceParser.AtExamplecol - 44)) | (1 << (sequenceParser.AtExamplecl - 44)) | (1 << (sequenceParser.OpAtCopyright - 44)))) !== 0) || ((((_la - 81)) & ~0x1F) === 0 && ((1 << (_la - 81)) & ((1 << (sequenceParser.AmpAudio - 81)) | (1 << (sequenceParser.AmpImage - 81)) | (1 << (sequenceParser.AmpVideo - 81)) | (1 << (sequenceParser.AmpArticle - 81)) | (1 << (sequenceParser.AmpDocument - 81)) | (1 << (sequenceParser.AmpApp - 81)) | (1 << (sequenceParser.AmpWebsite - 81)) | (1 << (sequenceParser.AmpAudioLink - 81)) | (1 << (sequenceParser.AmpImageLink - 81)) | (1 << (sequenceParser.AmpArticleLink - 81)) | (1 << (sequenceParser.AmpDocumentLink - 81)))) !== 0) || ((((_la - 132)) & ~0x1F) === 0 && ((1 << (_la - 132)) & ((1 << (sequenceParser.BitmarkMinus - 132)) | (1 << (sequenceParser.BitmarkPlus - 132)) | (1 << (sequenceParser.URL - 132)) | (1 << (sequenceParser.LIST_LINE - 132)))) !== 0)) { { { this.state = 324; this.mtex(); } } this.state = 329; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) mtex() { let _localctx = new MtexContext(this._ctx, this.state); this.enterRule(_localctx, 22, sequenceParser.RULE_mtex); let _la; try { this.state = 349; this._errHandler.sync(this); switch (this._input.LA(1)) { case sequenceParser.S: case sequenceParser.OPS: case sequenceParser.COLON: case sequenceParser.AMP: case sequenceParser.Greater: case sequenceParser.Less: case sequenceParser.RightAngle: case sequenceParser.RightArrow: case sequenceParser.DBLEQ: case sequenceParser.NUMERIC: case sequenceParser.STRING: case sequenceParser.NOTBITMARK: case sequenceParser.SENTENCE: case sequenceParser.BARSTRING: case sequenceParser.AmpAudio: case sequenceParser.AmpImage: case sequenceParser.AmpVideo: case sequenceParser.AmpArticle: case sequenceParser.AmpDocument: case sequenceParser.AmpApp: case sequenceParser.AmpWebsite: case sequenceParser.AmpAudioLink: case sequenceParser.AmpImageLink: case sequenceParser.AmpArticleLink: case sequenceParser.AmpDocumentLink: case sequenceParser.BitmarkMinus: case sequenceParser.BitmarkPlus: case sequenceParser.URL: case sequenceParser.LIST_LINE: this.enterOuterAlt(_localctx, 1); { this.state = 330; this.s_and_w(); this.state = 334; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 331; this.match(sequenceParser.NL); } } this.state = 336; this._errHandler.sync(this); _la = this._input.LA(1); } } break; case sequenceParser.OPB: case sequenceParser.OPQ: case sequenceParser.OPA: case sequenceParser.AtExampleWithStr: case sequenceParser.AtExamplecol: case sequenceParser.AtExamplecl: case sequenceParser.OpAtCopyright: this.enterOuterAlt(_localctx, 2); { this.state = 341; this._errHandler.sync(this); switch (this._input.LA(1)) { case sequenceParser.OPB: { this.state = 337; this.instruction(); } break; case sequenceParser.OPA: case sequenceParser.OpAtCopyright: { this.state = 338; this.atdef(); } break; case sequenceParser.OPQ: { this.state = 339; this.hint(); } break; case sequenceParser.AtExampleWithStr: case sequenceParser.AtExamplecol: case sequenceParser.AtExamplecl: { this.state = 340; this.example(); } break; default: throw new NoViableAltException(this); } this.state = 346; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 343; this.match(sequenceParser.NL); } } this.state = 348; this._errHandler.sync(this); _la = this._input.LA(1); } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) footer() { let _localctx = new FooterContext(this._ctx, this.state); this.enterRule(_localctx, 24, sequenceParser.RULE_footer); let _la; try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 358; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 354; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === sequenceParser.NL) { { { this.state = 351; this.match(sequenceParser.NL); } } this.state = 356; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 357; this.s_and_w(); } } break; default: throw new NoViableAltException(this); } this.state = 360; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); this.state = 363; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 362; this.match(sequenceParser.NL); } } break; default: throw new NoViableAltException(this); } this.state = 365; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 31, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) bitElem() { let _localctx = new BitElemContext(this._ctx, this.state); this.enterRule(_localctx, 26, sequenceParser.RULE_bitElem); try { this.state = 393; this._errHandler.sync(this); switch (this.interpreter.adaptivePredict(this._input, 32, this._ctx)) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 367; this.match(sequenceParser.LIST_LINE); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 368; this.match(sequenceParser.NOTBITMARK); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 369; this.dclines(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 370; this.gap(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 371; this.atdef(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 372; this.reference(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 373; this.dollarans(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 374; this.item(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 375; this.title(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 376; this.instruction(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 377; this.hint(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 378; this.s_and_w(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 379; this.example(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 380; this.bool_label(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 381; this.imagebit(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 382; this.audiobit(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 383; this.videobit(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 384; this.articlebit(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 385; this.documentbit(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 386; this.appbit(); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 387; this.websitebit(); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 388; this.stillimagefilmbit(); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 389; this.angleref(); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 390; this.anchor(); } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 391; this.bracketed_text(); } break; case 26: this.enterOuterAlt(_localctx, 26); { this.state = 392; this.sp(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) gap() { let _localctx = new GapContext(this._ctx, this.state); this.enterRule(_localctx, 28, sequenceParser.RULE_gap); try { let _alt; this.enterOuterAlt(_localctx, 1); { this.state = 395; this.single_gap(); this.state = 403; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 34, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { this.state = 401; this._errHandler.sync(this); switch (this._input.LA(1)) { case sequenceParser.OPU: { this.state = 396; this.single_gap(); } break; case sequenceParser.OPB: { this.state = 397; this.instruction(); } break; case sequenceParser.OPQ: { this.state = 398; this.hint(); } break; case sequenceParser.OPC: { this.state = 399; this.item(); } break; case sequenceParser.AtExampleWithStr: case sequenceParser.AtExamplecol: case sequenceParser.AtExamplecl: { this.state = 400; this.example(); } break; default: throw new NoViableAltException(this); } } } this.state = 405; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 34, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) single_gap() { let _localctx = new Single_gapContext(this._ctx, this.state); this.enterRule(_localctx, 30, sequenceParser.RULE_single_gap); let _la; try { this.enterOuterAlt(_localctx, 1); { this.state = 406; this.match(sequenceParser.OPU); this.state = 410; this._errHandler.sync(this); switch (this.interpreter.adaptivePredict(this._input, 35, this._ctx)) { case 1: { this.state = 407; this.match(sequenceParser.NUMERIC); } break; case 2: { this.state = 408;