public List <Stmt> ConvertProgram(StannumParser.ProgramContext context) { var definitions = new List <Stmt>(); for (var i = 0; i < context._Defs.Count; i += 1) { if (!(Visit(context._Defs[i]) is DefStmt definition)) { throw new Exception("Unrecognized definition!"); } definitions.Add(definition); } return(definitions); }
/// <summary> /// Visit a parse tree produced by <see cref="StannumParser.program"/>. /// <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 VisitProgram([NotNull] StannumParser.ProgramContext context) { return(VisitChildren(context)); }