private AstNode ExtractStmtTypeNode(ALangParser.StmtsContext context) { if (context.dcl() != null) { return(context.dcl().Accept(this)); } if (context.ifstmt() != null) { return(context.ifstmt().Accept(this)); } if (context.functioncall() != null) { return(context.functioncall().Accept(this)); } if (context.outputstmt() != null) { return(context.outputstmt().Accept(this)); } if (context.whilestmt() != null) { return(context.whilestmt().Accept(this)); } if (context.assignstmt() != null) { return(context.assignstmt().Accept(this)); } if (context.returnstmt() != null) { return(context.returnstmt().Accept(this)); } return(null); }
public override AstNode VisitStmts(ALangParser.StmtsContext context) { var node = ExtractStmtTypeNode(context); var stmt = context.stmts(); if (context.stmts() != null) { if (context.stmts().children != null) { node.MakeSiblings(context.stmts().Accept(this)); } } return(node); }
/// <summary> /// Exit a parse tree produced by <see cref="ALangParser.stmts"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitStmts([NotNull] ALangParser.StmtsContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="ALangParser.stmts"/>. /// <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 VisitStmts([NotNull] ALangParser.StmtsContext context) { return(VisitChildren(context)); }