示例#1
0
    public override object VisitBodyArrayDeclaration(FaParser.BodyArrayDeclarationContext context)
    {
        string id   = context.ID().GetText();
        object size = VisitExpression(context.expression());

        if (size is int)
        {
            MyArray var      = new MyArray(id, (int)size);
            object  varExist = ExistInLast(id);
            if (varExist != null)
            {
                if (!(varExist is MyFunction))
                {
                    queue.Last()[id] = var;
                }
                else
                {
                    Debug.LogError("Este identificador ya ha sido asignado a una funcion");
                    // Console.WriteLine("Este identificador ya ha sido asignado a una funcion");
                    MyConsole.main.AppendText("Este identificador ya ha sido asignado a una funcion");
                }
            }
            else
            {
                queue.Last().Add(id, var);
            }
        }
        else
        {
            Debug.LogError("El tamaño de la lista de be ser un entero");
            // Console.WriteLine("El tamaño de la lista de be ser un entero");
            MyConsole.main.AppendText("El tamaño de la lista de be ser un entero");
        }
        return(null);
    }
示例#2
0
 /// <summary>
 /// Visit a parse tree produced by the <c>bodyArrayDeclaration</c>
 /// labeled alternative in <see cref="FaParser.body"/>.
 /// <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 VisitBodyArrayDeclaration([NotNull] FaParser.BodyArrayDeclarationContext context)
 {
     return(VisitChildren(context));
 }