![]() |
Re: создание MIDletPascal compiler'a
|
Ответ: создание MIDletPascal compiler'a
Пеплохой проект. странно, что за файлами лезет именно на "e/zam". Порадовала реализация парсера на flex. Может стать альтернативой MobileBASIC
|
Re: создание MIDletPascal compiler'a
Вложений: 1
Ну вот, начальный код компилятора...
Разбирается верхний уровень и константы, файл testj.java и альтернатива на Pascal test.pas в архиве, так же два скриншота сравнения оригинала testj.class и test.class(нашего компилятора) Компилер разбил на 4 модуля В модуле Codegen реализация формирования кода Файл test.bat запускает компилирование... Такс, скоро прикручу DOOBLE типы и останеццо тупое разбирательство кода в пул... А потом уже будем думать нижний уровень(ASM)... А то затишье такое мля аж страшна...:-D ЗЫ... Откомментил все что можно... |
Ответ: создание MIDletPascal compiler'a
Ребяты ,а есть где нибуть более подробное описание,спецификации JVM
на русском кроме как на http://www.uni-vologda.ac.ru/java/jvm/outline.htm ? |
Ответ: создание MIDletPascal compiler'a
Вложений: 1
scimitar хочешь помочь?
ссылки на сайты с исходниками разбора java-bytecode (которые здесь были) смотри.. так лучше разберешься. ____ выкладываю последние исходники, к которым пока руки не доходят, из-за лени и отсутствия времени. 1. немножко переделанный простой компилятор pascal'я "compile" (в конце строк ';' присваивание ':=' и еще что-то непомню..) 2. версия компиятора "jcc" с поддержкой переходов на метки, нужно добавить обработчик ошибок, и стековую карту.. 3. добавил 40 строк кода в файл "pascals" и он стал генерировать приблизительный код в формате java, только все переменные и имена получают нечитабельные названия.. нужно добавлять таблицу имен.. |
Re: создание MIDletPascal compiler'a
2abcdef
Вот ты повторяешь мои ошибки 3-4 летней давности.... во первых надо в PascalS исправить strcpy(word[procsym], 'procedur'); на strcpy(word[procsym], 'procedurе'); во вторых ввести тип string в третьих надо сделать для начала что бы он корректно разбирал переменные так как типа REAL там никогда не было, а с о сканером PASCALS это немного проблематично, и короче дохрена всего чего надо в этом паскал... У меня тормоза не из-за того, что я не могу компилер написать (я их уже переписал дай бог), а из-за того, что я дорабатываю IDE свою, а потом уже к ней буду прикручивать компилеры всякие, причом интегрировать прямо внутрю... В четвертых Java код строится на стеке, когда как PascalS на регистрах о.н. поэтому когда выражения простые, то все прокатывает на ура, как только дойдешь до сложных вычислений твой код просто начнет расти диким образом и в конце концов не поместится в памяти В пятых скачай JavaByte... Ну и т.д. Хотя для понимания процесса пойдет и PascalS |
Ответ: создание MIDletPascal compiler'a
в файле pascals есть ссылка на первую версию, в ней есть поддержка типа Real. Таблица слов в pascals 8-ми символьная, поэтому в слове "procedure" обрезает последнию букву. Вообще трудно найти более оптимизированный и простой компилятор паскаля, чем pascals, просто в нем оставили только самые необходимые функции для разбора полного синтаксиса стандартного паскаля и больше ничего
|
Ответ: создание MIDletPascal compiler'a
ПАрни можно сделать classi на мобилу, Т.Е Создать компилятор на мобилу, а уж потом добавить оформление, можно реально создать паскаль на мобилу
|
Re: создание MIDletPascal compiler'a
TEMNED
В принципе можно как нибуть потом, в свободное время занятся созданием компилятора на мобилу, но мы ведь в этой теме занимаемся совсем другими вещами то!!! |
Re: создание MIDletPascal compiler'a
abcdef дружище, кидани ссылку на паскаль с REAL, и внимательно сравни то что я наковырял с PascalS...
Кстати там уже пул и код собирается... |
Ответ: создание MIDletPascal compiler'a
мона добавить оформление, либо самим сделать, либо попросить братьев из комнат "программирование для компов", добавить все библиотеки, т.е не надо дополнительних либ, все будет уже вкл. И мона випускать новую версию MP.
|
Ответ: создание MIDletPascal compiler'a
Да. Парни надо би добавить оформление, окно, кнопки, все такое, запоковать в инсталятор, дать всем, штоб разкладивали везде по инету, и готов MIDLETPASCAL 2.04 например, тока надо шо-нить уникальное, т.е новое. Говорите, што бы кто хотел видеть новое в новой версии мидлетпаскаль.
|
Ответ: создание MIDletPascal compiler'a
===
а существует ли какой java-aссемблер- компилятор в байт код для мобильного? и существует уже для МПкомпилера какоенить ИДЕ? |
Ответ: создание MIDletPascal compiler'a
а тема ещё актуальна?
предлагаю обсудить Среду разработки нового Мпаскаля... например окно редактора может выглядеть так ============================ меню ============================ толбар ============================ |____|____________________|_____| |____|____________________|_____| |____|____________________|__3__| |____|_________2__________|_____| |__1_|____________________|=====| |____|____________________|_____| |____|____________________|__4__| |____|____________________|_____| |____|____________________|_____| ============================ 5 ============================ 1 окно - 2две панели - как и в редакторе, панель работы с ресурсами и панель описания манифеста.... 2 окно собстевенно текстовый редактор - с подсветкой синтаксиса -с нумерами строк-со сворачиваемыми "структурами" языка 3 окно - при редактировании текста после ввода 2х-3х и более символов показывает встроенные наименования функций - с возможностью выбора нужной мышой.. 4 окно - шаблонная структура(редактируемая) для определённых операторов... (например) я набираю в текстовом редакторе FOR в 3третьем окне появляется список операторов встроенных в МП и возможно уже написанные пользователем процедуры называющиеся на FOR... - типа FOR FormAddChoice FormAddGauge FormAddImage и тд в 4ом окне появляется шаблон для оператора FOR // for Index := НачальноеЗначение to КонечноеЗначение do begin // Операторы; end; //EndFor я решаю выбрать оператор FOR нажимаю Ctrl+Space и в редактор переносится текст из шаблона - который я подредактирую.. 5 окно - 2 панели - 1 панель Хелп пооператорный(т.е. когда в редакторе курсор находится в слове имеющемся в словар(редактируемомо) - там высвечивается описание.. например: в редакторе курсор в слове DrawEllipse( в 5 окне 1ой панели procedure DrawEllipse(x, y, width, height: integer); Рисует эллипс, вписанный в указанный прямоугольник. Example: begin drawEllipse(0, 0, getWidth, getHeight); repaint; delay(1000); end. См. также: fillEllipse, getWidth, getHeight, setColor, repaint во второй панели ведётся лог комплилятора .... типа такое виденье... может кто сможет типа такое заделать? ну и конечно просьба дополнить.... PS - в панель ресурсов добавить возможность просмотра содержимого - картинок-воспроизведение муз файлов - вставить опцию "обработать рисунок утилитой" pngout.exe .... |
Ответ: создание MIDletPascal compiler'a
Будет компилятор - написать IDE не проблема.
|
Часовой пояс GMT +4, время: 00:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot