//Metodos que sobreescriben los metodos de la clase ParserPrograBaseVisitor, llaman a la funcion printTab para imprimir los contadores de indexacion, //seguido de el texto respectivo de la etiqueta a la que se esta visitando, llama a los respectivos metodo para visitar las etiquetas que se requiera segun las reglas del parser //y a su vez aumenta y disminuye la variable cont conforme se visitan hijos y se devuelve de manera recursiva public override object VisitProgramAuxLabelAST([NotNull] ParserProgra.ProgramAuxLabelASTContext context) { if (context.constDecl() != null) { cont++; Visit(context.constDecl()); cont--; } else if (context.varDecl() != null) { cont++; Visit(context.varDecl()); cont--; } else if (context.classDecl() != null) { cont++; Visit(context.classDecl()); cont--; } return(null); }
/// <summary> /// Exit a parse tree produced by <see cref="ParserProgra.programAuxLabelAST"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitProgramAuxLabelAST([NotNull] ParserProgra.ProgramAuxLabelASTContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="ParserProgra.programAuxLabelAST"/>. /// <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 VisitProgramAuxLabelAST([NotNull] ParserProgra.ProgramAuxLabelASTContext context) { return(VisitChildren(context)); }