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

Да хренотенью вы страдаете
abcdef уже давно выложил структуры class файла, их заполнить парсером три секунды, тут их штуки три или четыре...

Я говорю наверно раз в 10, что весь гиморой начнётся с качественным парсингом математических выражений, тоесть самый начальный нижний уровень, а ассемблер java писать, тока руки марать, вот пример асма java на коленях (типа теория)

type operator = (op1,op2,op3.........op50,op51);
var NameOp = ('iconst_0', 'iconst_1', 'iconst_2'......'ldc')

.... -> типа сканер уже написан
ReadToken // Читаем слово
If Token=op1 then addCodeList(ord(Token)); // Добавляем код в листинг кода сразу опкод по позиции 
case Token of
  op1
..op9f=1;// Сдесь по диапазону задаем флаг кол-ва операндов для опкода
  
op10..op30f=2;
  
op31..op50f=3;
end;
i:=0;
repeat
readToken
// читаем операнд
case Token of
_int
:; // проверяем токен на корректность
_float:;
_string:;
....
else
  
error// Ошибка если не корректный
end
inc
(i);
if 
i>f then error;// ошибка если кол-во операндов больше
ReadToken// читаем след. слово(по идее ',')
until Token=','// Крутим код пока токен - ',' 
Типа все... Строку разобрали и запихнули в листинг...
Я не пойму что тут сложного?
(Offline)
 
Ответить с цитированием