Ejemplo n.º 1
0
 void PrintVariable(SubscriptVariable v, int d)
 {
     SayLn("SubscriptVariable(");
     PrintVariable(v.Var, d + 1);
     SayLn(",");
     PrintExpression(v.Index, d + 1);
     Say(")");
 }
Ejemplo n.º 2
0
 void PrintVariable(SubscriptVariable v, int d)
 {
     SayLn("SubscriptVariable(");
     PrintVariable(v.Var, d + 1);
     SayLn(",");
     PrintExpression(v.Index, d + 1);
     Say(")");
 }
Ejemplo n.º 3
0
            ExpressionType TranslateVariable(SubscriptVariable sub)
            {
                ExpressionType var = TranslateVariable(sub.Var);

                if (var.Type.Actual is Types.ARRAY)
                {
                    ExpressionType index = TranslateExpression(sub.Index);
                    CheckInteger(sub.Index.Pos, index);
                    return(new ExpressionType(Translate.TranslateSubscriptVar(var.Exp, index.Exp), (var.Type.Actual as Types.ARRAY).Element.Actual));
                }
                else
                {
                    Error.Report(sub.Pos, "Array type required");
                    return(new ExpressionType(null, Types.Type._unknown));
                }
            }