//###################### // ARRAYS //###################### public override object VisitArrayPosition(FaParser.ArrayPositionContext context) { object result = null; string id = context.ID().GetText(); object position = VisitExpression(context.expression()); object arr = ExistInLast(id); if (arr is MyArray) { if (position is int) { result = ((MyArray)arr).getValue((int)position); } else { // Debug.LogError("Debe consultarse con un tipo de dato entero"); Console.WriteLine("Debe consultarse con un tipo de dato entero"); // MyConsole.main("Debe consultarse con un tipo de dato entero"); } } else { // Debug.LogError("Este identificador no es de un Array o no está declarado"); Console.WriteLine("Este identificador no es de un Array o no está declarado"); // MyConsole.main("Este identificador no es de un Array o no está declarado"); } return(result); }
/// <summary> /// Visit a parse tree produced by <see cref="FaParser.arrayPosition"/>. /// <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 VisitArrayPosition([NotNull] FaParser.ArrayPositionContext context) { return(VisitChildren(context)); }