Показать сообщение отдельно
Старый 16.10.2009, 17:10   #69
satan
Нуждающийся
 
Регистрация: 10.02.2007
Сообщений: 99
Написано 18 полезных сообщений
(для 28 пользователей)
Re: Исходники MP получены!

Не пойму я вас ребят! У вас 2 исходника на 2 языках программирования и вы до сих пор не поймете, что аналогичный результат был бы и в том случае, если бы их не было!!!

Объясняю почему.

Во первых, на вскидку я исправил работу с константами, переменными и типами, но это только начало... Компилятор (вернее транслятор) не позволяет сделать даже простых паскалевских стандартизированый действий...

CONST
a = 10000;
b = a + 2000;

Вот один из примеров.
То есть такие приятности и малости как CASE, WITH и ещё море возможностей просто отключены и не прописаны...
Главное что в нем есть, это обработка выражений и загрузка библиотек...
То есть по сути компилер уже дает нам доступ к JAVA в полной мере...

Единственный файл который надо дорабатывать или к чему я склоняюсь полностью переробатывать - PARSER.C или PASPARSER.PAS...

Теперь посмотрите на вот такой замахон
bytecode_append(current_block^.code, new_);
                bytecode_append_short_int(current_block^.code, cp_add_class('Real'));
                bytecode_append(current_block^.code, dup_x1_);
                bytecode_append(current_block^.code, swap_);
                bytecode_append(current_block^.code, invokespecial_);
                bytecode_append_short_int(current_block^.code, cp_add_methodref('Real', '<init>', '(I)V'));
Я насчитал как минимум 10 повторов...

О какой доработке может идти речь? Его полностью переписывать надо...
Вы уже начали прикручивать что то дополнительное, хотя основное не работает...

Мля я с дуру стер исправленую версию (сам правил) на Си, которая являлась консольным компилятором... В итоге получил не работающую версию...

Даю на вход ему ProjectMobilePascal.exe list.txt
Где list.txt список компилируемых модулей, на выходе строчка типа компилирую "PL/2" и вываливается компилятор???

abcdef Дружище, ну ты то прекрасно понимаешь, что inline функция - это по сути выдирание из lib файла данных, так зачем городить огород если всю яву можно выдернуть из архивов???

Так не проще занятся доработкой или разработкой Парсера Паскаля для начала, что бы иметь хотя бы отдалённое напоминание Турбо паса (про FPC и Delphi уже молчу)!!!
(Offline)
 
Ответить с цитированием