bitmark-grammar
Version:
1,195 lines (1,194 loc) • 419 kB
JavaScript
// Generated from ./Cloze/clozeParser.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 clozeParser extends Parser {
constructor(input) {
super(input);
this._interp = new ParserATNSimulator(clozeParser._ATN, this);
}
// @Override
// @NotNull
get vocabulary() {
return clozeParser.VOCABULARY;
}
// tslint:enable:no-trailing-whitespace
// @Override
get grammarFileName() { return "clozeParser.g4"; }
// @Override
get ruleNames() { return clozeParser.ruleNames; }
// @Override
get serializedATN() { return clozeParser._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, clozeParser.RULE_bitmark);
let _la;
try {
this.enterOuterAlt(_localctx, 1);
{
this.state = 205;
this._errHandler.sync(this);
_la = this._input.LA(1);
do {
{
{
this.state = 192;
this.bitmark_();
this.state = 202;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.S || _la === clozeParser.NL) {
{
{
this.state = 196;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.S) {
{
{
this.state = 193;
this.match(clozeParser.S);
}
}
this.state = 198;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
this.state = 199;
this.nl();
}
}
this.state = 204;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
}
}
this.state = 207;
this._errHandler.sync(this);
_la = this._input.LA(1);
} while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << clozeParser.BitCloze) | (1 << clozeParser.BitClozeinstgrp) | (1 << clozeParser.BitClozesolgrp) | (1 << clozeParser.BitClozeandmulti))) !== 0));
this.state = 209;
this.match(clozeParser.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, clozeParser.RULE_bitmark_);
try {
this.enterOuterAlt(_localctx, 1);
{
this.state = 211;
this.clozes();
}
}
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)
clozes() {
let _localctx = new ClozesContext(this._ctx, this.state);
this.enterRule(_localctx, 4, clozeParser.RULE_clozes);
try {
this.state = 217;
this._errHandler.sync(this);
switch (this._input.LA(1)) {
case clozeParser.BitCloze:
this.enterOuterAlt(_localctx, 1);
{
this.state = 213;
this.cloze();
}
break;
case clozeParser.BitClozeinstgrp:
this.enterOuterAlt(_localctx, 2);
{
this.state = 214;
this.cloze_instruction_grouped();
}
break;
case clozeParser.BitClozesolgrp:
this.enterOuterAlt(_localctx, 3);
{
this.state = 215;
this.cloze_solution_grouped();
}
break;
case clozeParser.BitClozeandmulti:
this.enterOuterAlt(_localctx, 4);
{
this.state = 216;
this.cloze_and_multiple_choice_text();
}
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)
bitElem() {
let _localctx = new BitElemContext(this._ctx, this.state);
this.enterRule(_localctx, 6, clozeParser.RULE_bitElem);
try {
let _alt;
this.state = 260;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 7, this._ctx)) {
case 1:
this.enterOuterAlt(_localctx, 1);
{
this.state = 219;
this.match(clozeParser.LIST_LINE);
}
break;
case 2:
this.enterOuterAlt(_localctx, 2);
{
this.state = 220;
this.match(clozeParser.NOTBITMARK);
}
break;
case 3:
this.enterOuterAlt(_localctx, 3);
{
this.state = 221;
this.dclines();
}
break;
case 4:
this.enterOuterAlt(_localctx, 4);
{
this.state = 222;
this.gap();
}
break;
case 5:
this.enterOuterAlt(_localctx, 5);
{
this.state = 223;
this.atdef();
}
break;
case 6:
this.enterOuterAlt(_localctx, 6);
{
this.state = 224;
this.reference();
}
break;
case 7:
this.enterOuterAlt(_localctx, 7);
{
this.state = 225;
this.item();
}
break;
case 8:
this.enterOuterAlt(_localctx, 8);
{
this.state = 226;
this.instruction();
}
break;
case 9:
this.enterOuterAlt(_localctx, 9);
{
this.state = 227;
this.hint();
}
break;
case 10:
this.enterOuterAlt(_localctx, 10);
{
this.state = 228;
this.s_and_w();
}
break;
case 11:
this.enterOuterAlt(_localctx, 11);
{
this.state = 229;
this.example();
}
break;
case 12:
this.enterOuterAlt(_localctx, 12);
{
this.state = 230;
this.bool_label();
}
break;
case 13:
this.enterOuterAlt(_localctx, 13);
{
this.state = 231;
this.imagebit();
this.state = 235;
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 = 232;
this.nl();
}
}
}
this.state = 237;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 4, this._ctx);
}
}
break;
case 14:
this.enterOuterAlt(_localctx, 14);
{
this.state = 238;
this.audiobit();
this.state = 242;
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 = 239;
this.nl();
}
}
}
this.state = 244;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx);
}
}
break;
case 15:
this.enterOuterAlt(_localctx, 15);
{
this.state = 245;
this.videobit();
this.state = 249;
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 = 246;
this.nl();
}
}
}
this.state = 251;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx);
}
}
break;
case 16:
this.enterOuterAlt(_localctx, 16);
{
this.state = 252;
this.articlebit();
}
break;
case 17:
this.enterOuterAlt(_localctx, 17);
{
this.state = 253;
this.documentbit();
}
break;
case 18:
this.enterOuterAlt(_localctx, 18);
{
this.state = 254;
this.appbit();
}
break;
case 19:
this.enterOuterAlt(_localctx, 19);
{
this.state = 255;
this.websitebit();
}
break;
case 20:
this.enterOuterAlt(_localctx, 20);
{
this.state = 256;
this.stillimagefilmbit();
}
break;
case 21:
this.enterOuterAlt(_localctx, 21);
{
this.state = 257;
this.angleref();
}
break;
case 22:
this.enterOuterAlt(_localctx, 22);
{
this.state = 258;
this.anchor();
}
break;
case 23:
this.enterOuterAlt(_localctx, 23);
{
this.state = 259;
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)
resource() {
let _localctx = new ResourceContext(this._ctx, this.state);
this.enterRule(_localctx, 8, clozeParser.RULE_resource);
try {
this.enterOuterAlt(_localctx, 1);
{
this.state = 262;
this.bitElem();
}
}
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)
cloze() {
let _localctx = new ClozeContext(this._ctx, this.state);
this.enterRule(_localctx, 10, clozeParser.RULE_cloze);
let _la;
try {
let _alt;
this.enterOuterAlt(_localctx, 1);
{
this.state = 264;
this.match(clozeParser.BitCloze);
this.state = 265;
this.format();
this.state = 266;
this.match(clozeParser.CL);
this.state = 270;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.NL) {
{
{
this.state = 267;
this.nl();
}
}
this.state = 272;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
this.state = 280;
this._errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
this.state = 273;
this.bitElem();
this.state = 277;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 274;
this.nl();
}
}
}
this.state = 279;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
this.state = 282;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 10, this._ctx);
} while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER);
this.state = 287;
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 = 284;
this.match(clozeParser.NL);
}
}
}
this.state = 289;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx);
}
this.state = 303;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 14, this._ctx)) {
case 1:
{
this.state = 290;
this.resource();
this.state = 300;
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 = 294;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.NL) {
{
{
this.state = 291;
this.match(clozeParser.NL);
}
}
this.state = 296;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
this.state = 297;
this.resource();
}
}
}
this.state = 302;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 13, 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)
cloze_instruction_grouped() {
let _localctx = new Cloze_instruction_groupedContext(this._ctx, this.state);
this.enterRule(_localctx, 12, clozeParser.RULE_cloze_instruction_grouped);
let _la;
try {
let _alt;
this.enterOuterAlt(_localctx, 1);
{
this.state = 305;
this.match(clozeParser.BitClozeinstgrp);
this.state = 306;
this.format();
this.state = 307;
this.match(clozeParser.CL);
this.state = 309;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 15, this._ctx)) {
case 1:
{
this.state = 308;
this.nl();
}
break;
}
this.state = 314;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 16, this._ctx)) {
case 1:
{
this.state = 311;
this.item();
this.state = 312;
this.nl();
}
break;
}
this.state = 317;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 17, this._ctx)) {
case 1:
{
this.state = 316;
this.instruction();
}
break;
}
this.state = 322;
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 = 319;
this.nl();
}
}
}
this.state = 324;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 18, this._ctx);
}
this.state = 334;
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 = 325;
this.bitElem();
this.state = 329;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 19, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 326;
this.nl();
}
}
}
this.state = 331;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 19, this._ctx);
}
}
}
}
}
this.state = 336;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 20, this._ctx);
}
this.state = 340;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 21, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 337;
this.match(clozeParser.NL);
}
}
}
this.state = 342;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 21, this._ctx);
}
this.state = 356;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 24, this._ctx)) {
case 1:
{
this.state = 343;
this.resource();
this.state = 353;
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 = 347;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.NL) {
{
{
this.state = 344;
this.match(clozeParser.NL);
}
}
this.state = 349;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
this.state = 350;
this.resource();
}
}
}
this.state = 355;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 23, 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)
cloze_solution_grouped() {
let _localctx = new Cloze_solution_groupedContext(this._ctx, this.state);
this.enterRule(_localctx, 14, clozeParser.RULE_cloze_solution_grouped);
let _la;
try {
let _alt;
this.enterOuterAlt(_localctx, 1);
{
this.state = 358;
this.match(clozeParser.BitClozesolgrp);
this.state = 359;
this.format();
this.state = 360;
this.match(clozeParser.CL);
this.state = 362;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 25, this._ctx)) {
case 1:
{
this.state = 361;
this.nl();
}
break;
}
this.state = 367;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 26, this._ctx)) {
case 1:
{
this.state = 364;
this.item();
this.state = 365;
this.nl();
}
break;
}
this.state = 370;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 27, this._ctx)) {
case 1:
{
this.state = 369;
this.instruction();
}
break;
}
this.state = 375;
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 = 372;
this.nl();
}
}
}
this.state = 377;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 28, this._ctx);
}
this.state = 387;
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 = 378;
this.bitElem();
this.state = 382;
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 = 379;
this.nl();
}
}
}
this.state = 384;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 29, this._ctx);
}
}
}
}
}
this.state = 389;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx);
}
this.state = 393;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 31, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 390;
this.match(clozeParser.NL);
}
}
}
this.state = 395;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 31, this._ctx);
}
this.state = 409;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 34, this._ctx)) {
case 1:
{
this.state = 396;
this.resource();
this.state = 406;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 33, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 400;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.NL) {
{
{
this.state = 397;
this.match(clozeParser.NL);
}
}
this.state = 402;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
this.state = 403;
this.resource();
}
}
}
this.state = 408;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 33, 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)
gap() {
let _localctx = new GapContext(this._ctx, this.state);
this.enterRule(_localctx, 16, clozeParser.RULE_gap);
try {
let _alt;
this.enterOuterAlt(_localctx, 1);
{
this.state = 411;
this.single_gap();
this.state = 419;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 36, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
this.state = 417;
this._errHandler.sync(this);
switch (this._input.LA(1)) {
case clozeParser.OPU:
{
this.state = 412;
this.single_gap();
}
break;
case clozeParser.OPB:
{
this.state = 413;
this.instruction();
}
break;
case clozeParser.OPQ:
{
this.state = 414;
this.hint();
}
break;
case clozeParser.OPC:
{
this.state = 415;
this.item();
}
break;
case clozeParser.AtExampleWithStr:
case clozeParser.AtExamplecol:
case clozeParser.AtExamplecl:
{
this.state = 416;
this.example();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
this.state = 421;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 36, 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, 18, clozeParser.RULE_single_gap);
try {
let _alt;
this.enterOuterAlt(_localctx, 1);
{
this.state = 422;
this.match(clozeParser.OPU);
this.state = 426;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 37, this._ctx)) {
case 1:
{
this.state = 423;
this.numeric();
}
break;
case 2:
{
this.state = 424;
this.string();
}
break;
case 3:
// tslint:disable-next-line:no-empty
{
}
break;
}
this.state = 431;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 38, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 428;
this.s_and_w();
}
}
}
this.state = 433;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 38, this._ctx);
}
this.state = 434;
this.clnsp();
}
}
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)
cloze_and_multiple_choice_text() {
let _localctx = new Cloze_and_multiple_choice_textContext(this._ctx, this.state);
this.enterRule(_localctx, 20, clozeParser.RULE_cloze_and_multiple_choice_text);
let _la;
try {
let _alt;
this.enterOuterAlt(_localctx, 1);
{
this.state = 436;
this.match(clozeParser.BitClozeandmulti);
this.state = 437;
this.format();
this.state = 438;
this.match(clozeParser.CL);
this.state = 442;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.NL) {
{
{
this.state = 439;
this.nl();
}
}
this.state = 444;
this._errHandler.sync(this);
_la = this._input.LA(1);
}
this.state = 459;
this._errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
this.state = 459;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 42, this._ctx)) {
case 1:
{
this.state = 445;
this.bitElem();
this.state = 449;
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 = 446;
this.nl();
}
}
}
this.state = 451;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 40, this._ctx);
}
}
break;
case 2:
{
this.state = 452;
this.headed_inline_choices();
this.state = 456;
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 = 453;
this.nl();
}
}
}
this.state = 458;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 41, this._ctx);
}
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
this.state = 461;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 43, this._ctx);
} while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER);
this.state = 466;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 44, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 463;
this.match(clozeParser.NL);
}
}
}
this.state = 468;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 44, this._ctx);
}
this.state = 482;
this._errHandler.sync(this);
switch (this.interpreter.adaptivePredict(this._input, 47, this._ctx)) {
case 1:
{
this.state = 469;
this.resource();
this.state = 479;
this._errHandler.sync(this);
_alt = this.interpreter.adaptivePredict(this._input, 46, this._ctx);
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
if (_alt === 1) {
{
{
this.state = 473;
this._errHandler.sync(this);
_la = this._input.LA(1);
while (_la === clozeParser.NL) {
{
{
this.state = 470;