UNPKG

bitmark-grammar

Version:
1,296 lines (1,280 loc) 539 kB
// Generated from ./antlr/matchParser.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 { NotNull } from "antlr4ts/Decorators"; import { NoViableAltException } from "antlr4ts/NoViableAltException"; import { Override } from "antlr4ts/Decorators"; import { Parser } from "antlr4ts/Parser"; import { ParserRuleContext } from "antlr4ts/ParserRuleContext"; import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator"; import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener"; import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor"; import { RecognitionException } from "antlr4ts/RecognitionException"; import { RuleContext } from "antlr4ts/RuleContext"; //import { RuleVersion } from "antlr4ts/RuleVersion"; import { TerminalNode } from "antlr4ts/tree/TerminalNode"; import { Token } from "antlr4ts/Token"; import { TokenStream } from "antlr4ts/TokenStream"; import { Vocabulary } from "antlr4ts/Vocabulary"; import { VocabularyImpl } from "antlr4ts/VocabularyImpl"; import * as Utils from "antlr4ts/misc/Utils"; import { matchParserListener } from "./matchParserListener"; export class matchParser extends Parser { public static readonly OPDOT = 1; public static readonly S = 2; public static readonly OP = 3; public static readonly BitMatch = 4; public static readonly BitMatchmatrix = 5; public static readonly BitMatchall = 6; public static readonly BitMatchrev = 7; public static readonly BitMatchallrev = 8; public static readonly BitMatchpic = 9; public static readonly BitMatchaudio = 10; public static readonly BitMatchsolgrp = 11; public static readonly OPDOLL = 12; public static readonly OPBUL = 13; public static readonly OPRANGLES = 14; public static readonly OPRANGLEL = 15; public static readonly OPDANGLE = 16; public static readonly OPU = 17; public static readonly OPB = 18; public static readonly OPQ = 19; public static readonly OPA = 20; public static readonly OPP = 21; public static readonly OPM = 22; public static readonly OPS = 23; public static readonly OPR = 24; public static readonly OPC = 25; public static readonly OPITEM = 26; public static readonly OPLEAD = 27; public static readonly OPPAGENUMBER = 28; public static readonly OPMARGINNUMBER = 29; public static readonly OPHASH = 30; public static readonly CL = 31; public static readonly COLON = 32; public static readonly AMP = 33; public static readonly DBLCOLON = 34; public static readonly PLUS = 35; public static readonly DotAt = 36; public static readonly Greater = 37; public static readonly Less = 38; public static readonly DOT = 39; public static readonly RightAngle = 40; public static readonly RightArrow = 41; public static readonly EQ = 42; public static readonly HSPL = 43; public static readonly OR = 44; public static readonly TENSE = 45; public static readonly COMMENT = 46; public static readonly DCANY = 47; public static readonly Image_type = 48; public static readonly Audio_type = 49; public static readonly Video_type = 50; public static readonly ArticleText = 51; public static readonly NOTCL = 52; public static readonly NUMERIC = 53; public static readonly STRING = 54; public static readonly NL = 55; public static readonly NOTBITMARK = 56; public static readonly ELIPSIS = 57; public static readonly SENTENCE = 58; public static readonly BARSTRING = 59; public static readonly OPAT = 60; public static readonly AtProgress = 61; public static readonly AtReference = 62; public static readonly AtWidth = 63; public static readonly AtHeight = 64; public static readonly AtProgressPoints = 65; public static readonly AtShortanswer = 66; public static readonly AtLonganswer = 67; public static readonly AtExampleWithStr = 68; public static readonly AtExamplecol = 69; public static readonly AtExamplecl = 70; public static readonly AtSampleSolution = 71; public static readonly AtPartialAnswerS = 72; public static readonly AtPartialAnswer = 73; public static readonly AtLabeltrue = 74; public static readonly AtLabelfalse = 75; public static readonly AtPoints = 76; public static readonly AtSrc = 77; public static readonly AtPartner = 78; public static readonly OPATALT = 79; public static readonly OPAMARK = 80; public static readonly ShowInIndex = 81; public static readonly OpAtCaption = 82; public static readonly OpAtLicense = 83; public static readonly OpAtCopyright = 84; public static readonly OpAtSearch = 85; public static readonly OpAtIsTracked = 86; public static readonly OpAtIsInfoOnly = 87; public static readonly AtDate = 88; public static readonly Http = 89; public static readonly Https = 90; public static readonly AmpAudio = 91; public static readonly AmpImage = 92; public static readonly AmpImageZoom = 93; public static readonly AmpVideo = 94; public static readonly AmpArticle = 95; public static readonly AmpDocument = 96; public static readonly AmpApp = 97; public static readonly AmpWebsite = 98; public static readonly AmpStillImageFilm = 99; public static readonly AmpPdf = 100; public static readonly OpAmpAudio = 101; public static readonly OpAmpImage = 102; public static readonly OpAmpImageZoom = 103; public static readonly OpAmpVideo = 104; public static readonly OpAmpArticle = 105; public static readonly OpAmpArticleAtt = 106; public static readonly OpAmpDocument = 107; public static readonly OpAmpApp = 108; public static readonly OpAmpWebsite = 109; public static readonly OpAmpStillImageFilm = 110; public static readonly BracEnclose = 111; public static readonly AmpAudioLink = 112; public static readonly AmpImageLink = 113; public static readonly AmpVideoLink = 114; public static readonly AmpArticleLink = 115; public static readonly AmpDocumentLink = 116; public static readonly AmpDocumentDownload = 117; public static readonly AmpAppLink = 118; public static readonly AmpWebsiteLink = 119; public static readonly AmpStillImageFilmLink = 120; public static readonly OpAmpAudioLink = 121; public static readonly OpAmpImageLink = 122; public static readonly OpAmpVideoLink = 123; public static readonly OpAmpArticleLink = 124; public static readonly OpAmpDocumentLink = 125; public static readonly OpAmpDocumentDownload = 126; public static readonly OpAmpAppLink = 127; public static readonly OpAmpWebsiteLink = 128; public static readonly OpAmpStillImageFilmLink = 129; public static readonly AmpImageEmbed = 130; public static readonly AmpVideoEmbed = 131; public static readonly AmpAudioEmbed = 132; public static readonly AmpDocumentEmbed = 133; public static readonly AmpStillImageFilmEmbed = 134; public static readonly OpAmpImageEmbed = 135; public static readonly OpAmpVideoEmbed = 136; public static readonly OpAmpAudioEmbed = 137; public static readonly OpAmpDocumentEmbed = 138; public static readonly OpAmpStillImageFilmEmbed = 139; public static readonly BitmarkMinus = 140; public static readonly BitmarkPlus = 141; public static readonly ColonText = 142; public static readonly ColonJson = 143; public static readonly Prosemirror = 144; public static readonly Placeholder = 145; public static readonly BASIC = 146; public static readonly JPG = 147; public static readonly PNG = 148; public static readonly GIF = 149; public static readonly SVG = 150; public static readonly MP2 = 151; public static readonly MP3 = 152; public static readonly MP4 = 153; public static readonly FLV = 154; public static readonly WMV = 155; public static readonly MPEG = 156; public static readonly MPG = 157; public static readonly TEL = 158; public static readonly DotArticleAtt = 159; public static readonly STAR = 160; public static readonly URL = 161; public static readonly LIST_LINE = 162; public static readonly ENCLBARS = 163; public static readonly RULE_bitmark = 0; public static readonly RULE_bitmark_ = 1; public static readonly RULE_matches = 2; public static readonly RULE_match_ = 3; public static readonly RULE_match_matrix = 4; public static readonly RULE_match_solution_grouped = 5; public static readonly RULE_match_reverse = 6; public static readonly RULE_match_all_reverse = 7; public static readonly RULE_match_picture = 8; public static readonly RULE_match_audio = 9; public static readonly RULE_match_all = 10; public static readonly RULE_bitElem = 11; public static readonly RULE_gap = 12; public static readonly RULE_single_gap = 13; public static readonly RULE_ml_example = 14; public static readonly RULE_longans = 15; public static readonly RULE_shortans = 16; public static readonly RULE_resource = 17; public static readonly RULE_pair_heading = 18; public static readonly RULE_pair_heading_multi = 19; public static readonly RULE_key_title = 20; public static readonly RULE_value_title = 21; public static readonly RULE_value_title_multi = 22; public static readonly RULE_pairs = 23; public static readonly RULE_pqpair = 24; public static readonly RULE_pquery = 25; public static readonly RULE_pquery__ = 26; public static readonly RULE_tense = 27; public static readonly RULE_panswer = 28; public static readonly RULE_panswer__ = 29; public static readonly RULE_pair_images = 30; public static readonly RULE_pair_image = 31; public static readonly RULE_pair_audios = 32; public static readonly RULE_pair_audio = 33; public static readonly RULE_pair_multivals = 34; public static readonly RULE_pair_multival = 35; public static readonly RULE_pairmultival_image = 36; public static readonly RULE_pairmultival_audio = 37; public static readonly RULE_mpquery = 38; public static readonly RULE_mpquery__ = 39; public static readonly RULE_mpanswer = 40; public static readonly RULE_mpanswer__ = 41; public static readonly RULE_pimagebit = 42; public static readonly RULE_pimage_one = 43; public static readonly RULE_paudiobit = 44; public static readonly RULE_bullet_item = 45; public static readonly RULE_atpoint = 46; public static readonly RULE_format = 47; public static readonly RULE_resource_format = 48; public static readonly RULE_resource_format_extra = 49; public static readonly RULE_format2 = 50; public static readonly RULE_image_format = 51; public static readonly RULE_video_format = 52; public static readonly RULE_article_format = 53; public static readonly RULE_document_format = 54; public static readonly RULE_app_format = 55; public static readonly RULE_website_format = 56; public static readonly RULE_stillimagefilm_format = 57; public static readonly RULE_op_article_format = 58; public static readonly RULE_op_document_format = 59; public static readonly RULE_op_app_format = 60; public static readonly RULE_op_website_format = 61; public static readonly RULE_op_video_format = 62; public static readonly RULE_op_stillimagefilm_format = 63; public static readonly RULE_articlebit = 64; public static readonly RULE_documentbit = 65; public static readonly RULE_websitebit = 66; public static readonly RULE_appbit = 67; public static readonly RULE_stillimagefilmbit = 68; public static readonly RULE_stillimg_one = 69; public static readonly RULE_videobit = 70; public static readonly RULE_video_one = 71; public static readonly RULE_imagebit = 72; public static readonly RULE_image_one = 73; public static readonly RULE_op_image_format = 74; public static readonly RULE_image_chained = 75; public static readonly RULE_image_chained4match = 76; public static readonly RULE_audiobit = 77; public static readonly RULE_audio_one = 78; public static readonly RULE_audio_format = 79; public static readonly RULE_op_audio_format = 80; public static readonly RULE_resource_chained = 81; public static readonly RULE_telephone = 82; public static readonly RULE_url = 83; public static readonly RULE_item = 84; public static readonly RULE_lead = 85; public static readonly RULE_angleref = 86; public static readonly RULE_example = 87; public static readonly RULE_bracketed_text = 88; public static readonly RULE_reference = 89; public static readonly RULE_progress = 90; public static readonly RULE_dateprop = 91; public static readonly RULE_dateprop_chained = 92; public static readonly RULE_instruction = 93; public static readonly RULE_hint = 94; public static readonly RULE_title = 95; public static readonly RULE_bool_label = 96; public static readonly RULE_progress_points = 97; public static readonly RULE_istracked = 98; public static readonly RULE_isinfoonly = 99; public static readonly RULE_atdef = 100; public static readonly RULE_atdef_ = 101; public static readonly RULE_dollarans = 102; public static readonly RULE_anchor = 103; public static readonly RULE_dcolon = 104; public static readonly RULE_colcoltext = 105; public static readonly RULE_lines = 106; public static readonly RULE_list_line = 107; public static readonly RULE_s_and_w = 108; public static readonly RULE_dclines = 109; public static readonly RULE_opdoll = 110; public static readonly RULE_opu = 111; public static readonly RULE_opb = 112; public static readonly RULE_opq = 113; public static readonly RULE_opa = 114; public static readonly RULE_opp = 115; public static readonly RULE_opm = 116; public static readonly RULE_ops = 117; public static readonly RULE_opr = 118; public static readonly RULE_opc = 119; public static readonly RULE_clnsp = 120; public static readonly RULE_or_ = 121; public static readonly RULE_words = 122; public static readonly RULE_sp = 123; // tslint:disable:no-trailing-whitespace public static readonly ruleNames: string[] = [ "bitmark", "bitmark_", "matches", "match_", "match_matrix", "match_solution_grouped", "match_reverse", "match_all_reverse", "match_picture", "match_audio", "match_all", "bitElem", "gap", "single_gap", "ml_example", "longans", "shortans", "resource", "pair_heading", "pair_heading_multi", "key_title", "value_title", "value_title_multi", "pairs", "pqpair", "pquery", "pquery__", "tense", "panswer", "panswer__", "pair_images", "pair_image", "pair_audios", "pair_audio", "pair_multivals", "pair_multival", "pairmultival_image", "pairmultival_audio", "mpquery", "mpquery__", "mpanswer", "mpanswer__", "pimagebit", "pimage_one", "paudiobit", "bullet_item", "atpoint", "format", "resource_format", "resource_format_extra", "format2", "image_format", "video_format", "article_format", "document_format", "app_format", "website_format", "stillimagefilm_format", "op_article_format", "op_document_format", "op_app_format", "op_website_format", "op_video_format", "op_stillimagefilm_format", "articlebit", "documentbit", "websitebit", "appbit", "stillimagefilmbit", "stillimg_one", "videobit", "video_one", "imagebit", "image_one", "op_image_format", "image_chained", "image_chained4match", "audiobit", "audio_one", "audio_format", "op_audio_format", "resource_chained", "telephone", "url", "item", "lead", "angleref", "example", "bracketed_text", "reference", "progress", "dateprop", "dateprop_chained", "instruction", "hint", "title", "bool_label", "progress_points", "istracked", "isinfoonly", "atdef", "atdef_", "dollarans", "anchor", "dcolon", "colcoltext", "lines", "list_line", "s_and_w", "dclines", "opdoll", "opu", "opb", "opq", "opa", "opp", "opm", "ops", "opr", "opc", "clnsp", "or_", "words", "sp", ]; private static readonly _LITERAL_NAMES: Array<string | undefined> = [ undefined, "'[.'", undefined, "'['", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'[#'", "']'", "':'", "'&'", "'::'", "'+'", "'.@'", "'>'", "'<'", "'.'", "'\u25BA'", "'\u2192'", "'=='", "'==='", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'[@'", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'http://'", "'https://'", "'&audio'", "'&image'", "'&image-zoom'", "'&video'", "'&article'", "'&document'", "'&app'", "'&website'", "'&still-image-film'", "'&pdf'", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'&audio-link'", "'&image-link'", "'&video-link'", "'&article-link'", "'&document-link'", "'&document-download'", "'&app-link'", "'&website-link'", "'&still-image-film-link'", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'&image-embed'", "'&video-embed'", "'&daudio-embed'", "'&document-embed'", "'&still-image-film-embed'", undefined, undefined, undefined, undefined, undefined, "':bitmark--'", "':bitmark++'", "':text'", "':json'", "':prosemirror'", "':placeholder'", "':basic'", "':jpg'", "':png'", "':gif'", "':svg'", "':mp2'", "':mp3'", "':mp4'", "':flv'", "':wmv'", "':mpeg'", "':mpg'", "'tel:'", "'.article-attachment'", "'*'", ]; private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [ undefined, "OPDOT", "S", "OP", "BitMatch", "BitMatchmatrix", "BitMatchall", "BitMatchrev", "BitMatchallrev", "BitMatchpic", "BitMatchaudio", "BitMatchsolgrp", "OPDOLL", "OPBUL", "OPRANGLES", "OPRANGLEL", "OPDANGLE", "OPU", "OPB", "OPQ", "OPA", "OPP", "OPM", "OPS", "OPR", "OPC", "OPITEM", "OPLEAD", "OPPAGENUMBER", "OPMARGINNUMBER", "OPHASH", "CL", "COLON", "AMP", "DBLCOLON", "PLUS", "DotAt", "Greater", "Less", "DOT", "RightAngle", "RightArrow", "EQ", "HSPL", "OR", "TENSE", "COMMENT", "DCANY", "Image_type", "Audio_type", "Video_type", "ArticleText", "NOTCL", "NUMERIC", "STRING", "NL", "NOTBITMARK", "ELIPSIS", "SENTENCE", "BARSTRING", "OPAT", "AtProgress", "AtReference", "AtWidth", "AtHeight", "AtProgressPoints", "AtShortanswer", "AtLonganswer", "AtExampleWithStr", "AtExamplecol", "AtExamplecl", "AtSampleSolution", "AtPartialAnswerS", "AtPartialAnswer", "AtLabeltrue", "AtLabelfalse", "AtPoints", "AtSrc", "AtPartner", "OPATALT", "OPAMARK", "ShowInIndex", "OpAtCaption", "OpAtLicense", "OpAtCopyright", "OpAtSearch", "OpAtIsTracked", "OpAtIsInfoOnly", "AtDate", "Http", "Https", "AmpAudio", "AmpImage", "AmpImageZoom", "AmpVideo", "AmpArticle", "AmpDocument", "AmpApp", "AmpWebsite", "AmpStillImageFilm", "AmpPdf", "OpAmpAudio", "OpAmpImage", "OpAmpImageZoom", "OpAmpVideo", "OpAmpArticle", "OpAmpArticleAtt", "OpAmpDocument", "OpAmpApp", "OpAmpWebsite", "OpAmpStillImageFilm", "BracEnclose", "AmpAudioLink", "AmpImageLink", "AmpVideoLink", "AmpArticleLink", "AmpDocumentLink", "AmpDocumentDownload", "AmpAppLink", "AmpWebsiteLink", "AmpStillImageFilmLink", "OpAmpAudioLink", "OpAmpImageLink", "OpAmpVideoLink", "OpAmpArticleLink", "OpAmpDocumentLink", "OpAmpDocumentDownload", "OpAmpAppLink", "OpAmpWebsiteLink", "OpAmpStillImageFilmLink", "AmpImageEmbed", "AmpVideoEmbed", "AmpAudioEmbed", "AmpDocumentEmbed", "AmpStillImageFilmEmbed", "OpAmpImageEmbed", "OpAmpVideoEmbed", "OpAmpAudioEmbed", "OpAmpDocumentEmbed", "OpAmpStillImageFilmEmbed", "BitmarkMinus", "BitmarkPlus", "ColonText", "ColonJson", "Prosemirror", "Placeholder", "BASIC", "JPG", "PNG", "GIF", "SVG", "MP2", "MP3", "MP4", "FLV", "WMV", "MPEG", "MPG", "TEL", "DotArticleAtt", "STAR", "URL", "LIST_LINE", "ENCLBARS", ]; public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(matchParser._LITERAL_NAMES, matchParser._SYMBOLIC_NAMES, []); // @Override // @NotNull public get vocabulary(): Vocabulary { return matchParser.VOCABULARY; } // tslint:enable:no-trailing-whitespace // @Override public get grammarFileName(): string { return "matchParser.g4"; } // @Override public get ruleNames(): string[] { return matchParser.ruleNames; } // @Override public get serializedATN(): string { return matchParser._serializedATN; } protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException { return new FailedPredicateException(this, predicate, message); } constructor(input: TokenStream) { super(input); this._interp = new ParserATNSimulator(matchParser._ATN, this); } // @RuleVersion(0) public bitmark(): BitmarkContext { let _localctx: BitmarkContext = new BitmarkContext(this._ctx, this.state); this.enterRule(_localctx, 0, matchParser.RULE_bitmark); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 261; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 248; this.bitmark_(); this.state = 258; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.S || _la === matchParser.NL) { { { this.state = 252; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.S) { { { this.state = 249; this.match(matchParser.S); } } this.state = 254; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 255; this.match(matchParser.NL); } } this.state = 260; this._errHandler.sync(this); _la = this._input.LA(1); } } } this.state = 263; this._errHandler.sync(this); _la = this._input.LA(1); } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << matchParser.BitMatch) | (1 << matchParser.BitMatchmatrix) | (1 << matchParser.BitMatchall) | (1 << matchParser.BitMatchrev) | (1 << matchParser.BitMatchallrev) | (1 << matchParser.BitMatchpic) | (1 << matchParser.BitMatchaudio) | (1 << matchParser.BitMatchsolgrp))) !== 0)); this.state = 265; this.match(matchParser.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) public bitmark_(): Bitmark_Context { let _localctx: Bitmark_Context = new Bitmark_Context(this._ctx, this.state); this.enterRule(_localctx, 2, matchParser.RULE_bitmark_); try { this.enterOuterAlt(_localctx, 1); { this.state = 267; this.matches(); } } 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) public matches(): MatchesContext { let _localctx: MatchesContext = new MatchesContext(this._ctx, this.state); this.enterRule(_localctx, 4, matchParser.RULE_matches); try { this.state = 277; this._errHandler.sync(this); switch (this._input.LA(1)) { case matchParser.BitMatch: this.enterOuterAlt(_localctx, 1); { this.state = 269; this.match_(); } break; case matchParser.BitMatchmatrix: this.enterOuterAlt(_localctx, 2); { this.state = 270; this.match_matrix(); } break; case matchParser.BitMatchall: this.enterOuterAlt(_localctx, 3); { this.state = 271; this.match_all(); } break; case matchParser.BitMatchallrev: this.enterOuterAlt(_localctx, 4); { this.state = 272; this.match_all_reverse(); } break; case matchParser.BitMatchrev: this.enterOuterAlt(_localctx, 5); { this.state = 273; this.match_reverse(); } break; case matchParser.BitMatchpic: this.enterOuterAlt(_localctx, 6); { this.state = 274; this.match_picture(); } break; case matchParser.BitMatchaudio: this.enterOuterAlt(_localctx, 7); { this.state = 275; this.match_audio(); } break; case matchParser.BitMatchsolgrp: this.enterOuterAlt(_localctx, 8); { this.state = 276; this.match_solution_grouped(); } 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) public match_(): Match_Context { let _localctx: Match_Context = new Match_Context(this._ctx, this.state); this.enterRule(_localctx, 6, matchParser.RULE_match_); let _la: number; try { let _alt: number; this.state = 348; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 15, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 279; this.match(matchParser.BitMatch); this.state = 280; this.format(); this.state = 281; this.match(matchParser.CL); this.state = 285; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 4, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 282; this.match(matchParser.NL); } } } this.state = 287; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 4, this._ctx); } this.state = 297; 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 = 288; this.bitElem(); this.state = 292; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 289; this.match(matchParser.NL); } } } this.state = 294; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); } } } } this.state = 299; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 300; this.match(matchParser.BitMatch); this.state = 301; this.format(); this.state = 302; this.match(matchParser.CL); this.state = 304; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 303; this.match(matchParser.NL); } } this.state = 306; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === matchParser.NL); this.state = 317; this._errHandler.sync(this); _la = this._input.LA(1); while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << matchParser.S) | (1 << matchParser.OPDOLL) | (1 << matchParser.OPRANGLES) | (1 << matchParser.OPRANGLEL) | (1 << matchParser.OPDANGLE) | (1 << matchParser.OPU) | (1 << matchParser.OPB) | (1 << matchParser.OPQ) | (1 << matchParser.OPA) | (1 << matchParser.OPS) | (1 << matchParser.OPC) | (1 << matchParser.OPITEM) | (1 << matchParser.CL))) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & ((1 << (matchParser.COLON - 32)) | (1 << (matchParser.AMP - 32)) | (1 << (matchParser.DBLCOLON - 32)) | (1 << (matchParser.Greater - 32)) | (1 << (matchParser.Less - 32)) | (1 << (matchParser.RightAngle - 32)) | (1 << (matchParser.RightArrow - 32)) | (1 << (matchParser.DCANY - 32)) | (1 << (matchParser.ArticleText - 32)) | (1 << (matchParser.NUMERIC - 32)) | (1 << (matchParser.STRING - 32)) | (1 << (matchParser.NOTBITMARK - 32)) | (1 << (matchParser.ELIPSIS - 32)) | (1 << (matchParser.SENTENCE - 32)) | (1 << (matchParser.BARSTRING - 32)) | (1 << (matchParser.AtReference - 32)))) !== 0) || ((((_la - 68)) & ~0x1F) === 0 && ((1 << (_la - 68)) & ((1 << (matchParser.AtExampleWithStr - 68)) | (1 << (matchParser.AtExamplecol - 68)) | (1 << (matchParser.AtExamplecl - 68)) | (1 << (matchParser.AtSampleSolution - 68)) | (1 << (matchParser.AtLabeltrue - 68)) | (1 << (matchParser.AtLabelfalse - 68)) | (1 << (matchParser.OpAtCopyright - 68)))) !== 0) || ((((_la - 101)) & ~0x1F) === 0 && ((1 << (_la - 101)) & ((1 << (matchParser.OpAmpAudio - 101)) | (1 << (matchParser.OpAmpImage - 101)) | (1 << (matchParser.OpAmpImageZoom - 101)) | (1 << (matchParser.OpAmpVideo - 101)) | (1 << (matchParser.OpAmpArticle - 101)) | (1 << (matchParser.OpAmpDocument - 101)) | (1 << (matchParser.OpAmpApp - 101)) | (1 << (matchParser.OpAmpWebsite - 101)) | (1 << (matchParser.OpAmpStillImageFilm - 101)) | (1 << (matchParser.BracEnclose - 101)) | (1 << (matchParser.OpAmpAudioLink - 101)) | (1 << (matchParser.OpAmpImageLink - 101)) | (1 << (matchParser.OpAmpVideoLink - 101)) | (1 << (matchParser.OpAmpArticleLink - 101)) | (1 << (matchParser.OpAmpDocumentLink - 101)) | (1 << (matchParser.OpAmpDocumentDownload - 101)) | (1 << (matchParser.OpAmpAppLink - 101)) | (1 << (matchParser.OpAmpWebsiteLink - 101)) | (1 << (matchParser.OpAmpStillImageFilmLink - 101)))) !== 0) || ((((_la - 136)) & ~0x1F) === 0 && ((1 << (_la - 136)) & ((1 << (matchParser.OpAmpVideoEmbed - 136)) | (1 << (matchParser.OpAmpAudioEmbed - 136)) | (1 << (matchParser.OpAmpDocumentEmbed - 136)) | (1 << (matchParser.OpAmpStillImageFilmEmbed - 136)) | (1 << (matchParser.LIST_LINE - 136)))) !== 0)) { { { this.state = 308; this.bitElem(); this.state = 312; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.NL) { { { this.state = 309; this.match(matchParser.NL); } } this.state = 314; this._errHandler.sync(this); _la = this._input.LA(1); } } } this.state = 319; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 324; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 10, this._ctx) ) { case 1: { { this.state = 320; this.match(matchParser.HSPL); this.state = 321; this.match(matchParser.NL); } this.state = 323; this.pair_heading(); } break; } this.state = 326; this.pairs(); this.state = 330; 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 = 327; this.match(matchParser.NL); } } } this.state = 332; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); } this.state = 346; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 14, this._ctx) ) { case 1: { this.state = 333; this.resource(); this.state = 343; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 13, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 337; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.NL) { { { this.state = 334; this.match(matchParser.NL); } } this.state = 339; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 340; this.resource(); } } } this.state = 345; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 13, this._ctx); } } break; } } 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) public match_matrix(): Match_matrixContext { let _localctx: Match_matrixContext = new Match_matrixContext(this._ctx, this.state); this.enterRule(_localctx, 8, matchParser.RULE_match_matrix); let _la: number; try { let _alt: number; this.state = 419; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 27, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 350; this.match(matchParser.BitMatchmatrix); this.state = 351; this.format(); this.state = 352; this.match(matchParser.CL); this.state = 356; 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 = 353; this.match(matchParser.NL); } } } this.state = 358; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 16, this._ctx); } this.state = 368; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 18, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 359; this.bitElem(); this.state = 363; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 17, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 360; this.match(matchParser.NL); } } } this.state = 365; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 17, this._ctx); } } } } this.state = 370; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 18, this._ctx); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 371; this.match(matchParser.BitMatchmatrix); this.state = 372; this.format(); this.state = 373; this.match(matchParser.CL); this.state = 375; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 374; this.match(matchParser.NL); } } this.state = 377; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === matchParser.NL); this.state = 388; this._errHandler.sync(this); _la = this._input.LA(1); while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << matchParser.S) | (1 << matchParser.OPDOLL) | (1 << matchParser.OPRANGLES) | (1 << matchParser.OPRANGLEL) | (1 << matchParser.OPDANGLE) | (1 << matchParser.OPU) | (1 << matchParser.OPB) | (1 << matchParser.OPQ) | (1 << matchParser.OPA) | (1 << matchParser.OPS) | (1 << matchParser.OPC) | (1 << matchParser.OPITEM) | (1 << matchParser.CL))) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & ((1 << (matchParser.COLON - 32)) | (1 << (matchParser.AMP - 32)) | (1 << (matchParser.DBLCOLON - 32)) | (1 << (matchParser.Greater - 32)) | (1 << (matchParser.Less - 32)) | (1 << (matchParser.RightAngle - 32)) | (1 << (matchParser.RightArrow - 32)) | (1 << (matchParser.DCANY - 32)) | (1 << (matchParser.ArticleText - 32)) | (1 << (matchParser.NUMERIC - 32)) | (1 << (matchParser.STRING - 32)) | (1 << (matchParser.NOTBITMARK - 32)) | (1 << (matchParser.ELIPSIS - 32)) | (1 << (matchParser.SENTENCE - 32)) | (1 << (matchParser.BARSTRING - 32)) | (1 << (matchParser.AtReference - 32)))) !== 0) || ((((_la - 68)) & ~0x1F) === 0 && ((1 << (_la - 68)) & ((1 << (matchParser.AtExampleWithStr - 68)) | (1 << (matchParser.AtExamplecol - 68)) | (1 << (matchParser.AtExamplecl - 68)) | (1 << (matchParser.AtSampleSolution - 68)) | (1 << (matchParser.AtLabeltrue - 68)) | (1 << (matchParser.AtLabelfalse - 68)) | (1 << (matchParser.OpAtCopyright - 68)))) !== 0) || ((((_la - 101)) & ~0x1F) === 0 && ((1 << (_la - 101)) & ((1 << (matchParser.OpAmpAudio - 101)) | (1 << (matchParser.OpAmpImage - 101)) | (1 << (matchParser.OpAmpImageZoom - 101)) | (1 << (matchParser.OpAmpVideo - 101)) | (1 << (matchParser.OpAmpArticle - 101)) | (1 << (matchParser.OpAmpDocument - 101)) | (1 << (matchParser.OpAmpApp - 101)) | (1 << (matchParser.OpAmpWebsite - 101)) | (1 << (matchParser.OpAmpStillImageFilm - 101)) | (1 << (matchParser.BracEnclose - 101)) | (1 << (matchParser.OpAmpAudioLink - 101)) | (1 << (matchParser.OpAmpImageLink - 101)) | (1 << (matchParser.OpAmpVideoLink - 101)) | (1 << (matchParser.OpAmpArticleLink - 101)) | (1 << (matchParser.OpAmpDocumentLink - 101)) | (1 << (matchParser.OpAmpDocumentDownload - 101)) | (1 << (matchParser.OpAmpAppLink - 101)) | (1 << (matchParser.OpAmpWebsiteLink - 101)) | (1 << (matchParser.OpAmpStillImageFilmLink - 101)))) !== 0) || ((((_la - 136)) & ~0x1F) === 0 && ((1 << (_la - 136)) & ((1 << (matchParser.OpAmpVideoEmbed - 136)) | (1 << (matchParser.OpAmpAudioEmbed - 136)) | (1 << (matchParser.OpAmpDocumentEmbed - 136)) | (1 << (matchParser.OpAmpStillImageFilmEmbed - 136)) | (1 << (matchParser.LIST_LINE - 136)))) !== 0)) { { { this.state = 379; this.bitElem(); this.state = 383; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.NL) { { { this.state = 380; this.match(matchParser.NL); } } this.state = 385; this._errHandler.sync(this); _la = this._input.LA(1); } } } this.state = 390; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 395; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 22, this._ctx) ) { case 1: { { this.state = 391; this.match(matchParser.HSPL); this.state = 392; this.match(matchParser.NL); } this.state = 394; this.pair_heading_multi(); } break; } this.state = 397; this.pair_multivals(); this.state = 401; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 23, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 398; this.match(matchParser.NL); } } } this.state = 403; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 23, this._ctx); } this.state = 417; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 26, this._ctx) ) { case 1: { this.state = 404; this.resource(); this.state = 414; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 25, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 408; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.NL) { { { this.state = 405; this.match(matchParser.NL); } } this.state = 410; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 411; this.resource(); } } } this.state = 416; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 25, this._ctx); } } break; } } 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) public match_solution_grouped(): Match_solution_groupedContext { let _localctx: Match_solution_groupedContext = new Match_solution_groupedContext(this._ctx, this.state); this.enterRule(_localctx, 10, matchParser.RULE_match_solution_grouped); let _la: number; try { let _alt: number; this.state = 490; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 39, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 421; this.match(matchParser.BitMatchsolgrp); this.state = 422; this.format(); this.state = 423; this.match(matchParser.CL); this.state = 427; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 28, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 424; this.match(matchParser.NL); } } } this.state = 429; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 28, this._ctx); } this.state = 439; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 430; this.bitElem(); this.state = 434; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 29, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 431; this.match(matchParser.NL); } } } this.state = 436; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 29, this._ctx); } } } } this.state = 441; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 442; this.match(matchParser.BitMatchsolgrp); this.state = 443; this.format(); this.state = 444; this.match(matchParser.CL); this.state = 446; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 445; this.match(matchParser.NL); } } this.state = 448; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === matchParser.NL); this.state = 459; this._errHandler.sync(this); _la = this._input.LA(1); while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << matchParser.S) | (1 << matchParser.OPDOLL) | (1 << matchParser.OPRANGLES) | (1 << matchParser.OPRANGLEL) | (1 << matchParser.OPDANGLE) | (1 << matchParser.OPU) | (1 << matchParser.OPB) | (1 << matchParser.OPQ) | (1 << matchParser.OPA) | (1 << matchParser.OPS) | (1 << matchParser.OPC) | (1 << matchParser.OPITEM) | (1 << matchParser.CL))) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & ((1 << (matchParser.COLON - 32)) | (1 << (matchParser.AMP - 32)) | (1 << (matchParser.DBLCOLON - 32)) | (1 << (matchParser.Greater - 32)) | (1 << (matchParser.Less - 32)) | (1 << (matchParser.RightAngle - 32)) | (1 << (matchParser.RightArrow - 32)) | (1 << (matchParser.DCANY - 32)) | (1 << (matchParser.ArticleText - 32)) | (1 << (matchParser.NUMERIC - 32)) | (1 << (matchParser.STRING - 32)) | (1 << (matchParser.NOTBITMARK - 32)) | (1 << (matchParser.ELIPSIS - 32)) | (1 << (matchParser.SENTENCE - 32)) | (1 << (matchParser.BARSTRING - 32)) | (1 << (matchParser.AtReference - 32)))) !== 0) || ((((_la - 68)) & ~0x1F) === 0 && ((1 << (_la - 68)) & ((1 << (matchParser.AtExampleWithStr - 68)) | (1 << (matchParser.AtExamplecol - 68)) | (1 << (matchParser.AtExamplecl - 68)) | (1 << (matchParser.AtSampleSolution - 68)) | (1 << (matchParser.AtLabeltrue - 68)) | (1 << (matchParser.AtLabelfalse - 68)) | (1 << (matchParser.OpAtCopyright - 68)))) !== 0) || ((((_la - 101)) & ~0x1F) === 0 && ((1 << (_la - 101)) & ((1 << (matchParser.OpAmpAudio - 101)) | (1 << (matchParser.OpAmpImage - 101)) | (1 << (matchParser.OpAmpImageZoom - 101)) | (1 << (matchParser.OpAmpVideo - 101)) | (1 << (matchParser.OpAmpArticle - 101)) | (1 << (matchParser.OpAmpDocument - 101)) | (1 << (matchParser.OpAmpApp - 101)) | (1 << (matchParser.OpAmpWebsite - 101)) | (1 << (matchParser.OpAmpStillImageFilm - 101)) | (1 << (matchParser.BracEnclose - 101)) | (1 << (matchParser.OpAmpAudioLink - 101)) | (1 << (matchParser.OpAmpImageLink - 101)) | (1 << (matchParser.OpAmpVideoLink - 101)) | (1 << (matchParser.OpAmpArticleLink - 101)) | (1 << (matchParser.OpAmpDocumentLink - 101)) | (1 << (matchParser.OpAmpDocumentDownload - 101)) | (1 << (matchParser.OpAmpAppLink - 101)) | (1 << (matchParser.OpAmpWebsiteLink - 101)) | (1 << (matchParser.OpAmpStillImageFilmLink - 101)))) !== 0) || ((((_la - 136)) & ~0x1F) === 0 && ((1 << (_la - 136)) & ((1 << (matchParser.OpAmpVideoEmbed - 136)) | (1 << (matchParser.OpAmpAudioEmbed - 136)) | (1 << (matchParser.OpAmpDocumentEmbed - 136)) | (1 << (matchParser.OpAmpStillImageFilmEmbed - 136)) | (1 << (matchParser.LIST_LINE - 136)))) !== 0)) { { { this.state = 450; this.bitElem(); this.state = 454; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.NL) { { { this.state = 451; this.match(matchParser.NL); } } this.state = 456; this._errHandler.sync(this); _la = this._input.LA(1); } } } this.state = 461; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 466; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 34, this._ctx) ) { case 1: { { this.state = 462; this.match(matchParser.HSPL); this.state = 463; this.match(matchParser.NL); } this.state = 465; this.pair_heading(); } break; } this.state = 468; this.pairs(); this.state = 472; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 35, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 469; this.match(matchParser.NL); } } } this.state = 474; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 35, this._ctx); } this.state = 488; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 38, this._ctx) ) { case 1: { this.state = 475; this.resource(); this.state = 485; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 37, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 479; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === matchParser.NL) { { { this.state = 476; this.match(matchParser.NL); } } this.state = 481; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 482; this.resource(); } } } this.state = 487; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 37, this._ctx); } } break; } } 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) public match_reverse(): Match_reverseContext { let _localctx: Match_reverseContext = new Match_reverseContext(this._ctx, this.state); this.enterRule(_localctx, 12, matchParser.RULE_match_reverse); let _la: number; try { let _alt: number; this.state = 561; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 51, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 492; this.match(matchParser.BitMatchrev); this.state = 493; this.format(); this.state = 494; this.match(matchParser.CL); this.state = 498; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 40, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 495; this.match(matchParser.NL); } } } this.state = 500; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 40, this._ctx); } this.state = 510; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 42, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 501; this.bitElem(); this.state = 505; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 41, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 502; this.match(matchParser.NL); } }