| 7918 | } |
| 7919 | |
| 7920 | func (p *CommandsParser) ExprList() (localctx IExprListContext) { |
| 7921 | localctx = NewExprListContext(p, p.GetParserRuleContext(), p.GetState()) |
| 7922 | p.EnterRule(localctx, 58, CommandsParserRULE_exprList) |
| 7923 | var _la int |
| 7924 | |
| 7925 | p.EnterOuterAlt(localctx, 1) |
| 7926 | { |
| 7927 | p.SetState(366) |
| 7928 | |
| 7929 | var _x = p.Expr() |
| 7930 | |
| 7931 | localctx.(*ExprListContext)._expr = _x |
| 7932 | } |
| 7933 | localctx.(*ExprListContext).e = append(localctx.(*ExprListContext).e, localctx.(*ExprListContext)._expr) |
| 7934 | p.SetState(371) |
| 7935 | p.GetErrorHandler().Sync(p) |
| 7936 | if p.HasError() { |
| 7937 | goto errorExit |
| 7938 | } |
| 7939 | _la = p.GetTokenStream().LA(1) |
| 7940 | |
| 7941 | for _la == CommandsParserCOMMA { |
| 7942 | { |
| 7943 | p.SetState(367) |
| 7944 | p.Match(CommandsParserCOMMA) |
| 7945 | if p.HasError() { |
| 7946 | // Recognition error - abort rule |
| 7947 | goto errorExit |
| 7948 | } |
| 7949 | } |
| 7950 | { |
| 7951 | p.SetState(368) |
| 7952 | |
| 7953 | var _x = p.Expr() |
| 7954 | |
| 7955 | localctx.(*ExprListContext)._expr = _x |
| 7956 | } |
| 7957 | localctx.(*ExprListContext).e = append(localctx.(*ExprListContext).e, localctx.(*ExprListContext)._expr) |
| 7958 | |
| 7959 | p.SetState(373) |
| 7960 | p.GetErrorHandler().Sync(p) |
| 7961 | if p.HasError() { |
| 7962 | goto errorExit |
| 7963 | } |
| 7964 | _la = p.GetTokenStream().LA(1) |
| 7965 | } |
| 7966 | |
| 7967 | errorExit: |
| 7968 | if p.HasError() { |
| 7969 | v := p.GetError() |
| 7970 | localctx.SetException(v) |
| 7971 | p.GetErrorHandler().ReportError(p, v) |
| 7972 | p.GetErrorHandler().Recover(p, v) |
| 7973 | p.SetError(nil) |
| 7974 | } |
| 7975 | p.ExitRule() |
| 7976 | return localctx |
| 7977 | goto errorExit // Trick to prevent compiler error if the label is not used |