public override object VisitEtiquetaFin(StdAssemblerParser.EtiquetaFinContext context) { if (context.children.FirstOrDefault(c => Regex.IsMatch(c.GetText(), @"^(ADD|AND|COMP|DIV|J|JEQ|JGT|JLT|JSUB|LDA|LDCH|LDL|LDX|MUL|OR|RD|STA|STCH|STL|STSW|STX|SUB|TD|TIX|WD|START|END|RSUB|BYTE|WORD|RESB|RESW)$")) != null) { throw new Exception("Error de sintáxis: Etiqueta no válida"); } else { return(context.VAL().GetText()); } }
/// <summary> /// Exit a parse tree produced by <see cref="StdAssemblerParser.etiquetaFin"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitEtiquetaFin([NotNull] StdAssemblerParser.EtiquetaFinContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="StdAssemblerParser.etiquetaFin"/>. /// <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 VisitEtiquetaFin([NotNull] StdAssemblerParser.EtiquetaFinContext context) { return(VisitChildren(context)); }