Показать сообщение отдельно
Старый 26.06.2009, 15:12   #184
satan
Нуждающийся
 
Регистрация: 10.02.2007
Сообщений: 99
Написано 18 полезных сообщений
(для 28 пользователей)
Re: создание MIDletPascal compiler'a

Блин - вот фраза

будет преобразован в промежуточный java код
Может я не так думаю, но по моему смысл предприятия в том что бы вот этот код

function fa(i: integer): integer;
begin
while i<1000 do begin
i := fa(i) + 1;
end;
fa:=i;
end;
сразу переводить в этот

.method                  public static fa(I)I
   .limit stack          2
   .limit locals         2
   .var 0 is             i I from LABEL0x0 to LABEL0x20
   .var 1 is             varK1  I from LABEL0x2 to LABEL0x20
   .line                 15
LABEL0x0:
   iconst_0              
   istore_1              
   .line                 16
...................................
Вот я именно про эти грабли и рассказываю, когда по концепции ПАСКАЛЬ компиляторов (нисходящая рекурсия+один проход) получаем сразу байт код, без использования промежуточных машин, кодов, батников и т.д.

Короче как я понял без примера тут не обойтись... Постораюсь накидать пример Expr который СРАЗУ переводит в JavaAsm...

ЗЫ...

Добавил пример
Вложения
Тип файла: zip Polish.zip (3.6 Кб, 477 просмотров)

Последний раз редактировалось satan, 26.06.2009 в 16:22.
(Offline)
 
Ответить с цитированием