public override ValueNode VisitGridPoint(CoronaParser.GridPointContext context) { BuildExpressionAst exprVisitor = new BuildExpressionAst(); // Extract the two expressions CoronaParser.ExprContext[] exprs = context.expr(); ExpressionNode first = exprVisitor.Visit(exprs[0]); ExpressionNode second = exprVisitor.Visit(exprs[1]); // Extract member if present IdentifierValueNode member = null; if (context.member() != null) { member = (IdentifierValueNode)Visit(context.member()); } return(new GridValueNode(first, second, member)); }
/// <summary> /// Visit a parse tree produced by <see cref="CoronaParser.gridPoint"/>. /// <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 VisitGridPoint([NotNull] CoronaParser.GridPointContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="CoronaParser.gridPoint"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitGridPoint([NotNull] CoronaParser.GridPointContext context) { }