code: // Generated from edu/utexas/cs/utopia/cortado/expression/parser/Expr.g4 by ANTLR 4.9
  package edu.utexas.cs.utopia.cortado.expression.parser;
  
  import org.antlr.v4.runtime.ParserRuleContext;
  import org.antlr.v4.runtime.tree.ErrorNode;
  import org.antlr.v4.runtime.tree.TerminalNode;
  
  /**
   * This class provides an empty implementation of {@link ExprListener},
   * which can be extended to create a listener which only needs to handle a subset
   * of the available methods.
   */
  public class ExprBaseListener implements ExprListener {
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterExpr(ExprParser.ExprContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitExpr(ExprParser.ExprContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterType(ExprParser.TypeContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitType(ExprParser.TypeContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterIntTy(ExprParser.IntTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitIntTy(ExprParser.IntTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterBoolTy(ExprParser.BoolTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitBoolTy(ExprParser.BoolTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterStringTy(ExprParser.StringTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitStringTy(ExprParser.StringTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterNullFuncTy(ExprParser.NullFuncTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitNullFuncTy(ExprParser.NullFuncTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterNaryFuncTy(ExprParser.NaryFuncTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitNaryFuncTy(ExprParser.NaryFuncTyContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterArray_type(ExprParser.Array_typeContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitArray_type(ExprParser.Array_typeContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterConstant_decl(ExprParser.Constant_declContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitConstant_decl(ExprParser.Constant_declContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterSexpr(ExprParser.SexprContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitSexpr(ExprParser.SexprContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterSexpr_types(ExprParser.Sexpr_typesContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitSexpr_types(ExprParser.Sexpr_typesContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterBuildinUnOp(ExprParser.BuildinUnOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitBuildinUnOp(ExprParser.BuildinUnOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterUninterpUnOp(ExprParser.UninterpUnOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitUninterpUnOp(ExprParser.UninterpUnOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterBuildinBinOp(ExprParser.BuildinBinOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitBuildinBinOp(ExprParser.BuildinBinOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterUninterpBinOp(ExprParser.UninterpBinOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitUninterpBinOp(ExprParser.UninterpBinOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterBuildinNOp(ExprParser.BuildinNOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitBuildinNOp(ExprParser.BuildinNOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterUninterpNOp(ExprParser.UninterpNOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitUninterpNOp(ExprParser.UninterpNOpContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterQuant_expr(ExprParser.Quant_exprContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitQuant_expr(ExprParser.Quant_exprContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterSexpr_arg(ExprParser.Sexpr_argContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitSexpr_arg(ExprParser.Sexpr_argContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterNullaryApp(ExprParser.NullaryAppContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitNullaryApp(ExprParser.NullaryAppContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterPrimConst(ExprParser.PrimConstContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitPrimConst(ExprParser.PrimConstContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterIntConst(ExprParser.IntConstContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitIntConst(ExprParser.IntConstContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterBoolConst(ExprParser.BoolConstContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitBoolConst(ExprParser.BoolConstContext ctx) { }
  
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void enterEveryRule(ParserRuleContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void exitEveryRule(ParserRuleContext ctx) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void visitTerminal(TerminalNode node) { }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation does nothing.</p>
  	 */
  	@Override public void visitErrorNode(ErrorNode node) { }
  }