public override ASTNode VisitPostExpr([NotNull] p4Parser.PostExprContext context) { if (context.primExpr() != null) { return(Visit(context.primExpr())); } else if (context.Lbrace() != null) { return(Visit(context.exprList())); } else if (context.Lbracket() != null) { ASTNode ArrayId = new IdAstNode(context.Id().Symbol, SALTypeEnum.undefined); return(new ArrayAccessAstNode(ArrayId, Visit(context.expr()), null)); } throw new Exception("VisitPostExpr Exception"); }
/// <summary> /// Visit a parse tree produced by <see cref="p4Parser.postExpr"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitPostExpr([NotNull] p4Parser.PostExprContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="p4Parser.postExpr"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitPostExpr([NotNull] p4Parser.PostExprContext context) { }