public override object VisitEtiqueta([NotNull] StdAssemblerParser.EtiquetaContext 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.etiqueta"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitEtiqueta([NotNull] StdAssemblerParser.EtiquetaContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="StdAssemblerParser.etiqueta"/>. /// <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 VisitEtiqueta([NotNull] StdAssemblerParser.EtiquetaContext context) { return(VisitChildren(context)); }