in backend/src/tools/AgtypeParser.js [401:453]
floatLiteral() {
let localctx = new FloatLiteralContext(this, this._ctx, this.state);
this.enterRule(localctx, 14, AgtypeParser.RULE_floatLiteral);
var _la = 0; // Token type
try {
this.state = 77;
this._errHandler.sync(this);
switch (this._input.LA(1)) {
case AgtypeParser.RegularFloat:
this.enterOuterAlt(localctx, 1);
this.state = 70;
this.match(AgtypeParser.RegularFloat);
break;
case AgtypeParser.ExponentFloat:
this.enterOuterAlt(localctx, 2);
this.state = 71;
this.match(AgtypeParser.ExponentFloat);
break;
case AgtypeParser.T__10:
case AgtypeParser.T__11:
this.enterOuterAlt(localctx, 3);
this.state = 73;
this._errHandler.sync(this);
_la = this._input.LA(1);
if (_la === AgtypeParser.T__10) {
this.state = 72;
this.match(AgtypeParser.T__10);
}
this.state = 75;
this.match(AgtypeParser.T__11);
break;
case AgtypeParser.T__12:
this.enterOuterAlt(localctx, 4);
this.state = 76;
this.match(AgtypeParser.T__12);
break;
default:
throw new antlr4.error.NoViableAltException(this);
}
} catch (re) {
if (re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
}