public override int VisitIfstatement(MINICParser.IfstatementContext context) { int serial = ms_serialCounter++; string s = "IfStatement_" + serial; outFile.WriteLine("\"{0}\"->\"{1}\";", m_labels.Peek(), s); m_labels.Push(s); base.VisitChildren(context); m_labels.Pop(); return(0); }
public override int VisitIfstatement(MINICParser.IfstatementContext context) { ASTComposite m_parent = m_parents.Peek(); CASTIfStatement newnode = new CASTIfStatement(context.GetText(), m_parents.Peek(), 3); m_parent.AddChild(newnode, m_parentContext.Peek()); m_parents.Push(newnode); this.VisitElementInContext(context.expression(), m_parentContext, contextType.CT_IFSTATEMENT_CONDITION); this.VisitElementInContext(context.statement(0), m_parentContext, contextType.CT_IFSTATEMENT_IFCLAUSE); if (context.statement(1) != null) { this.VisitElementInContext(context.statement(1), m_parentContext, contextType.CT_IFSTATEMENT_ELSECLAUSE); } m_parents.Pop(); return(0); }