Пример #1
0
        /// <summary>
        /// Visita el nodo correspondiente a una variable
        /// </summary>
        /// <param name="context">Variable de contexto</param>
        /// <returns>Se devuelve el valor de la variable</returns>
        public override double VisitVariable(CalculatorParser.VariableContext context)
        {
            string id  = context.ID().GetText();
            double val = 0;

            if (memory.FirstOrDefault(m => m.Key == id).Key == null)
            {
                memory.Add(id, val);
            }
            else
            {
                val = memory[id];
            }
            return(val);
        }
    public override Double VisitVariable(CalculatorParser.VariableContext ctx)
    {
        //return variablesctx.ID().GetText());

        return(variables[ctx.ID().GetText()]);
    }
 /// <summary>
 /// Visit a parse tree produced by <see cref="CalculatorParser.variable"/>.
 /// <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 VisitVariable([NotNull] CalculatorParser.VariableContext context)
 {
     return(VisitChildren(context));
 }