array()

in backend/src/tools/AgtypeParser.js [322:374]


    array() {
        let localctx = new ArrayContext(this, this._ctx, this.state);
        this.enterRule(localctx, 10, AgtypeParser.RULE_array);
        var _la = 0; // Token type
        try {
            this.state = 65;
            this._errHandler.sync(this);
            var la_ = this._interp.adaptivePredict(this._input, 5, this._ctx);
            switch (la_) {
                case 1:
                    this.enterOuterAlt(localctx, 1);
                    this.state = 52;
                    this.match(AgtypeParser.T__7);
                    this.state = 53;
                    this.agValue();
                    this.state = 58;
                    this._errHandler.sync(this);
                    _la = this._input.LA(1);
                    while (_la === AgtypeParser.T__4) {
                        this.state = 54;
                        this.match(AgtypeParser.T__4);
                        this.state = 55;
                        this.agValue();
                        this.state = 60;
                        this._errHandler.sync(this);
                        _la = this._input.LA(1);
                    }
                    this.state = 61;
                    this.match(AgtypeParser.T__8);
                    break;

                case 2:
                    this.enterOuterAlt(localctx, 2);
                    this.state = 63;
                    this.match(AgtypeParser.T__7);
                    this.state = 64;
                    this.match(AgtypeParser.T__8);
                    break;

            }
        } 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;
    }