public override int VisitExpr_PLUSMINUS(MINICParser.Expr_PLUSMINUSContext context) { ASTComposite m_parent = m_parents.Peek(); if (context.op.Type == MINICParser.MINUS) { CASTExpressionSubtraction newnode = new CASTExpressionSubtraction(context.GetText(), m_parents.Peek(), 2); m_parent.AddChild(newnode, m_parentContext.Peek()); m_parents.Push(newnode); this.VisitElementInContext(context.expression(0), m_parentContext, contextType.CT_EXPRESSION_SUBTRACTION_LEFT); this.VisitElementInContext(context.expression(1), m_parentContext, contextType.CT_EXPRESSION_SUBTRACTION_RIGHT); } else if (context.op.Type == MINICParser.PLUS) { CASTExpressionAddition newnode = new CASTExpressionAddition(context.GetText(), m_parents.Peek(), 2); m_parent.AddChild(newnode, m_parentContext.Peek()); m_parents.Push(newnode); this.VisitElementInContext(context.expression(0), m_parentContext, contextType.CT_EXPRESSION_ADDITION_LEFT); this.VisitElementInContext(context.expression(1), m_parentContext, contextType.CT_EXPRESSION_ADDITION_RIGHT); } m_parents.Pop(); return(0); }
public override int VisitAddition(CASTExpressionAddition node, object param) { ExtractSubgraphs(node, contextType.CT_EXPRESSION_ADDITION_LEFT); ExtractSubgraphs(node, contextType.CT_EXPRESSION_ADDITION_RIGHT); base.VisitAddition(node); m_ostream.WriteLine("{0}->{1}", node.MParent.MNodeName, node.MNodeName); return(0); }
public virtual Result VisitAddition(CASTExpressionAddition node, VParam param = default(VParam)) { VisitChildren(node, param); return(default(Result)); }