public override Node VisitTypeDecls([NotNull] TigerParser.TypeDeclsContext context) { var node = new TypeDeclListNode(context); for (int i = 0; i < context.type().Length; i++) { ITerminalNode id = context.ID(i); TigerParser.TypeContext type = context.type(i); var decl = new TypeDeclNode(id.Symbol.Line, id.Symbol.Column); decl.Children.Add( new IdNode(id.Symbol.Line, id.Symbol.Column, id.GetText())); decl.Children.Add( Visit(type)); node.Children.Add(decl); } return(node); }
/// <summary> /// Visit a parse tree produced by the <c>TypeDecls</c> /// labeled alternative in <see cref="TigerParser.decls"/>. /// <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 VisitTypeDecls([NotNull] TigerParser.TypeDeclsContext context) { return(VisitChildren(context)); }