Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 13.01.2009, 17:57   #136
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: создание MIDletPascal compiler'a

satan, да я не про верхний уровень компиляции, я всегда за рекурсию, тем более при сложных взаимосвязях, результаты рекурсии будут единичные вызовы в произвольных местах и на любой итерации, функции запихивающей в массив новую команду, просто для ассемблера будет полезно если будет вестись контроль передаваемых данных. а насчет адреса вызова, то это ведь java, ей нужно только имя переменной/метода она сама работает с
адресами памяти

Serg153 зачем использовать временные переменные? в стеке достаточно места...
(Offline)
 
Ответить с цитированием
Старый 13.01.2009, 18:56   #137
Serg153
Нуждающийся
 
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений
(для 15 пользователей)
Ответ: создание MIDletPascal compiler'a

Сообщение от abcdef Посмотреть сообщение
Serg153 зачем использовать временные переменные? в стеке достаточно места...
---
ну я так понял из постов Satan`a -
>>
...но тут опять грабли, строка вида 1+a+2+b+3+c
Может вырасти в очень длинный код на ассемблере, поэтому её надо оптимизировать, тобишь привести к виду a+b+c +6, что бы уменьшить код конечного файла, что бы не падал компилятор от переполнения...
>>
...вызовы функций внутри вызовов функций и рекурсивные функции просто умрут ...
---
что при компиляции сложных выражений будет переполнение стека Джавамашины... ну в общем мидлет упадёт... :=) - но в принципе я в это нелезу...
пока немного сложновато втыкать в ваш диалог :=)

2satan - ммм... скачал я ide - у мню дельфи 7 - так ругается при открытии формы и компиляции...
типа TActionMainMenuBar - not found...
ToolBar.. properties не определно.. и тд...
может что поправить надо?
(Offline)
 
Ответить с цитированием
Старый 13.01.2009, 22:00   #138
satan
Нуждающийся
 
Регистрация: 10.02.2007
Сообщений: 99
Написано 18 полезных сообщений
(для 28 пользователей)
Re: создание MIDletPascal compiler'a

Надо поставить Турбо Делфи (или скачать Borland Delphi 10 Lite) она 30 мб весит

получицо такая вот как в аттаче хренотень как на картинке(в смысле исходники и интерфейс аналогичный...

А так проверить в работе прикладываю в аттаче
Система клавишь как в делфи... тоисть Ctrl+Shift+I увеличить отступ Ctrl+Z откат и т.д....

Подсветка паскаля и ассемблера(настраиваемая...) ну и т.д.

Последний раз редактировалось satan, 08.12.2009 в 00:02.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (23.01.2009)
Старый 15.01.2009, 22:00   #139
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: создание MIDletPascal compiler'a

satan, посмотрел исходники, хорошо изложил!
теперь нужно переводить под синтакис java и отладить, это где-то 30% от все работы...
несколько начальных шагов я предпринял но переделывать еще много, результат в прикрепленном файле (генерирует asm-файл), если интересны готовые решения/идеи глянь в мой файл "compile.pas" - тотже алгоритм, только без поддержки подпрограмм/типов/массивов

Что нужно доделать:
1. окончательно вычистить от кода, отвечающего за работу с памятью
2. дописать разделение команд загрузки/сохранения в переменную на работу с локальными переменными/глобальными/массивами
3. добавить инструкцию define, которая будет связывать методы из внешних классов и их параметры вызова, с внутренним именем в исходном коде, как описывал ранее

в будующем:
добавить типы данных String/StringBuffer/Byte и разделить команды для их обработки
___
p.s. жду изменений...
Вложения
Тип файла: zip cm.zip (26.0 Кб, 363 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (23.01.2009)
Старый 16.01.2009, 19:59   #140
temned
Знающий
 
Аватар для temned
 
Регистрация: 29.07.2008
Адрес: Россия,Саратов
Сообщений: 206
Написано 22 полезных сообщений
(для 33 пользователей)
Ответ: создание MIDletPascal compiler'a

Парни, я тока скатал pascal на комп, скатал ваши ide, не полушается што-то компилировать. Подскажите што-делать.
(Offline)
 
Ответить с цитированием
Старый 17.01.2009, 00:35   #141
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: создание MIDletPascal compiler'a

мои исходники можно компилить в Turbo Pascal 6 и выше. Размеры дистрибутива от 1 до 8 мб (после установки проверить пути к каталогам исходников и tpu библиотекам, и должен существовать каталог для компиленных файлов), также в меню compile отметить destination disc. Также можно откомпилировать в delphi 7 и ниже, для этого достаточно файлов: dcc32.exe; *.cfg; каталоги lib; source. dcc-компилятор командной строки; в файле cfg-пути к каталогам. размеры зависят от кол-ва библиотек, и в пределах 1..50 мб
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (23.01.2009)
Старый 23.01.2009, 02:45   #142
Serg153
Нуждающийся
 
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений
(для 15 пользователей)
Ответ: создание MIDletPascal compiler'a

мгммгм... возможно уже спрашивал -)
можно ли сделать из Jar файла - просто жавовское приложение - не для телефона - ЕХЕ файл?
---
если такая возможность есть - то тогда можно присобачить уже готовый жаваасемблер - Жасмин (вроде он фри) только сделать Jar to eхе...
---
модернизировать иде - добавить ДВФ файлы - в которых возможно описать Паскальслово - от него Java строки - от них Jasm строчки - от них Байт_код.... а также всяческие хелп строки...
тогда легко можно будет модернезировать язык - Иде не меняется - только изменются разные справочные базы...
(Offline)
 
Ответить с цитированием
Старый 23.01.2009, 13:21   #143
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: создание MIDletPascal compiler'a

нецелесообразно переделывать код генерации под процессор x86, хотя не сложно модифицировать команды asm-листинга. Лучше использовать компилятор выложенный satan'ом, только добавить набор стандартных функций. если не охота возиться с компилятором можно написать набор МР-библиотек: хоть для Turbo Pascal, хоть для Delphi -делал так когда-то но заглушками, для проверки синтаксиса программы
(Offline)
 
Ответить с цитированием
Старый 27.01.2009, 01:21   #144
satan
Нуждающийся
 
Регистрация: 10.02.2007
Сообщений: 99
Написано 18 полезных сообщений
(для 28 пользователей)
Re: создание MIDletPascal compiler'a

Прива все!!!
abcdef
Дружище... Посмотрел твою модификацию.... Ээээээ... Ты зачем внутренний стек меняешь то? Не надо... Этот стек сформирован для внутренней нашей виртуальной машины...

То есть функция GenOp просто добавляет в массив Code[] команды и параметры для них. Приблизительно после разбора проги получается примерно следущее в стеке

39 10 28 61 28 77 41 3

переводим на полурусский
OPJmp 10 -> Перепрыгнуть через 10 команд
OPLdC 61 -> Загрузить Сhar(букву) A - код 61
OPLdC 77 -> Загрузить Char(букву) F - код 77
OPCall 3 -> Вызвать подпрограмму с номером 3 в IdentTab

Вот внутренний ассемблер и делает перевод в опкод i386 а нам надо просто перевести в опкод Java...

Поэтому стек не надо переделывать, он уже готов...

Нам надо перекроить всего 2 функции
1. AssembleAndLink (Она перекраивает наш стековый байт код в машинный код)
2. В линкере сформировать константный пул из IdentTab
Ну и в конце концов связать пул и код....
(Offline)
 
Ответить с цитированием
Старый 27.01.2009, 03:29   #145
satan
Нуждающийся
 
Регистрация: 10.02.2007
Сообщений: 99
Написано 18 полезных сообщений
(для 28 пользователей)
Re: создание MIDletPascal compiler'a

Кстати кто волокет в грамматиках могу подкинуть компилятор компиляторов (исходники) и транслятор Java->Pascal
Транслятор правдо доделывать надо, а вот компилер компилеров работает на ура, создает сразу готовый проект компилятора для Delphi
(Offline)
 
Ответить с цитированием
Старый 27.01.2009, 21:22   #146
temned
Знающий
 
Аватар для temned
 
Регистрация: 29.07.2008
Адрес: Россия,Саратов
Сообщений: 206
Написано 22 полезных сообщений
(для 33 пользователей)
Ответ: создание MIDletPascal compiler'a

Да Кинь плиз!
(Offline)
 
Ответить с цитированием
Старый 22.02.2009, 13:59   #147
Serg153
Нуждающийся
 
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений
(для 15 пользователей)
Ответ: создание MIDletPascal compiler'a

вернусь к IDE, как к одному из ключевых моментов компилятора...
неудалось мне использовать ide от satan - ненашёл полный набор для сунедита...
---
вобщем начал писать на Д7 - редактор - будет Rich текст
с подсветкой синтаксиса и предварительной трансляции в Паскаль-подобный язык...
на этапе парсера возникла небольшая проблема с индетификацией ещё необьявленных переменных,функций, процедур...
например есть текст
var
a1,a2,a3 : integer;
c1 : command;
---
может немножко поменяем Синтаксис Языка?
например так
Var
Integer : a1,a2,a3;
Command : c1;
???
---
тогда и в параметрах функций писать func name( string : s1,s2;integer : byte a1); ???
надоели begin end - может заменить на { } - а многострочные комменты оформлять в виде /* comment */ ???
тем более редактор автоматом будет оформлять {} [] ()
---
определиться бы с ТИПАМИ переменных
у нас их будет примерно:
· boolean
· char
· integer
· real
· string
· image
· command
· recordStore
· http
· resource
Комплексные типы:
· record
· array

если JAVA поддерживает байтовые - то можно добавить тип byte ?
---
как вариант назвать компилятор MidletPScript - так как язык немного изменится...
---
редактор на выходе будет выдавать - тут несколько вариантов:
- текст на java
- текст на j ассемблере
- или на каком нибудь подобии языка...
отдельным ЕХЕ сделать уже чисто компилятор исходника в CLASS
и запускать его из Редактора... тогда можно будет использовать редактор для разных языков...
---
попробую реализовать транслятор из Редактора в Java ассемблер (нашёл компилятор Жасмин) - вернее сперва в Java, затем в Жасмин...
---
редатор на этапе набора текста будет осуществлять синтаксическую проверку, использовать "коде темплате", вывод в хелп окошко - файл помощи по конкретонму оператору, также при присоеденению к проекту файла рсиунка - обработает его с помощью pngout.exe - для сжатия картинки....
---
скоро выложу текст иде для тестирования...
(Offline)
 
Ответить с цитированием
Старый 25.02.2009, 12:58   #148
Serg153
Нуждающийся
 
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений
(для 15 пользователей)
Ответ: создание MIDletPascal compiler'a

вот примерно так выглядит эта Иде... :=)

в Зипе - как бы рабочая папка компилятора
---
пока всё недоделано.. чиста на Предварительный вид
---
доделаю - хелпокно на каждый оператор + коде джампер + синтаксичесуий анализатор кода и выложу исходники - пользую D7
Вложения
Тип файла: zip fIde.zip (258.9 Кб, 367 просмотров)
(Offline)
 
Ответить с цитированием
Старый 21.05.2009, 07:29   #149
pamalofeev
AnyKey`щик
 
Регистрация: 22.11.2008
Сообщений: 6
Написано одно полезное сообщение
Ответ: создание MIDletPascal compiler'a

Проект совсем умер? Понимаю, что оффтоп, но уж больно долго тема молчит. Не забили ли разработчики на это дело из-за недостатка внимания к проекту со стороны пользователей? Было бы обидно.
(Offline)
 
Ответить с цитированием
Старый 21.05.2009, 11:22   #150
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: создание MIDletPascal compiler'a

не внимание нужно, а помощь... (это ведь не развлечение игрушки писать, а еще проектировать и тестировать надо долго...)

наверное ждем пока другие сделают?...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачать MidletPascal smesh Прочие вопросы 14 30.06.2011 15:57
создание MIDletPascal obfuscator abcdef Основной форум 7 22.12.2008 23:27
Русификатор MIDletPascal Тренсфер Прочие вопросы 14 26.07.2008 04:00
MidletPascal. Что это. Данил MidletPascal 12 23.10.2007 05:27


Часовой пояс GMT +4, время: 07:50.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com