public override object VisitLinea(StdAssemblerParser.LineaContext context) { StdToken token; try { if (context.exception != null) { throw new Exception("Error de sintáxis: Instrucción no válida"); } if (context.inicio() != null) { return(Visit(context.inicio())); } else if (context.proposiciones() != null) { return(Visit(context.proposiciones())); } else if (context.fin() != null) { return(Visit(context.fin())); } else if (context.NL() != null) { token = new StdToken() { IsEmpty = true }; TokenList.Add(token); return(token); } else { token = new StdToken() { Address = count, StepOneError = "Error de sintáxis: Instrucción no válida" }; TokenList.Add(token); return(token); } } catch (NullReferenceException) { token = new StdToken() { Address = count, StepOneError = "Error de sintáxis: Instrucción no válida", }; TokenList.Add(token); return(token); } catch (Exception ex) { token = new StdToken() { Address = count, StepOneError = ex.Message }; TokenList.Add(token); return(token); } }
/// <summary> /// Exit a parse tree produced by <see cref="StdAssemblerParser.linea"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitLinea([NotNull] StdAssemblerParser.LineaContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="StdAssemblerParser.linea"/>. /// <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 VisitLinea([NotNull] StdAssemblerParser.LineaContext context) { return(VisitChildren(context)); }