Показать сообщение отдельно
Старый 25.06.2009, 03:02   #176
Serg153
Нуждающийся
 
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений
(для 15 пользователей)
Ответ: создание MIDletPascal compiler'a

2satan - вот твой оператор - x:=((12+(y/z-33.456)+d[a+b-c]*56) mod 5 = 44.5);
а что ты от него хотел оптимизировать? - покажи результат?.
---
а так ещё в редакторе текста он выдаст Error о несоответсвии типов операндов подкрасив в красный цвет слово mod - оператор остатка Целочисленного деления(для операндов типа Integer...
опятьже - изменив оператор деления на / x:=((12+(y/z-33.456)+d[a+b-c]*56) /5 = 44.5);
получим логическое выражение.. true или false
т.е транслятор схавает такое выражение и передаст ассемблеру на формирование байт кода
[1oe преобразование текста - Язык в Java]
    
    public static int x;
    public static int a;
    public static int b;
    public static int c;
    public static int d[];
    public static int y;
    public static int z;
        F.D(y, z) - F.fI(33, 45600);
        F.fI(12);
        JVM INSTR swap ;
        JVM INSTR iadd ;
        F.M(d[(a + b) - c - 1], F.fI(56));
        JVM INSTR iadd ;
        F.fI(5);
        F.D();
        F.fI(44, 50000);
        JVM INSTR icmpeq 147;
           goto _L1 _L2
_L1:
        break MISSING_BLOCK_LABEL_143;
_L2:
        break MISSING_BLOCK_LABEL_147;
        x = 0;
        break MISSING_BLOCK_LABEL_151;
        x = -1;
[2oe преобразование текста будет - Java -> Asm ]
...
типа так будет....
(Offline)
 
Ответить с цитированием