Canterbury Pascal for J2ME
Вложений: 2
Основной архив: pascal.zip, собственно, паскаль и дополнения для компиляции под j2me
Утилиты для автоматизации сборки готовых программ и удобства: ant и proguard Для компиляции проекта нужно запустить скрипт, например если вы все распакуете в d:\pascal, то тестовый проект соберется командой d:\pascal\ant\bin\ant выполненной из папки d:\pascal\Projects\test Если вы распакуете архив в другую папку скорректируйте пути в файле-скрипте build.xml в папке проекта Для удобной работы нужен конечно еще эмулятор и документация по j2me. Теперь вы можете реализовать все на паскале! PS: не могу залить ant.zip (3.3Мб). Кто знает почему? |
Ответ: Canterbury Pascal for J2ME
Цитата:
Tools.zip это Tools.jar из jdk? |
Ответ: Canterbury Pascal for J2ME
нет, это просто ant и proguard. если есть, можно использовать имеющиеся.
|
Ответ: Canterbury Pascal for J2ME
Цитата:
Где скачать можно? |
Ответ: Canterbury Pascal for J2ME
Apache Ant: http://ant.apache.org/, утилита для автоматизации компиляции и сборки готовой программы, полный весит прилично, больше 10Мб
Proguard: http://proguard.sourceforge.net/, обфускатор и оптимизатор, 2Мб, добавил минимальную версию в первое сообщение. |
Ответ: Canterbury Pascal for J2ME
Без ant как я понимаю вообще ничего не получится?
|
Ответ: Canterbury Pascal for J2ME
Скомпилировать классы получится:
set CLASSPATH=d:\pascal\pas3.zip;d:\pascal;d:\pascal\l ib\midapi20.jar;d:\pascal\lib\cldcapi10.jar java mhc.compiler.pas test.pas А вот преверификация и сборка уже руками. Просто неудобно. |
Ответ: Canterbury Pascal for J2ME
Вложений: 10
pilgrim, может скинте архив мне на e-mail, я его попробую от своего имени прилепить?
Вот архив с ANT. Внимание! Для распаковки нужно 1. Скачать все, сохраняя с такими же именами. 2. Распаковать архив Open.zip в папку со скачанными архивами. 3. Выполнить файл Open.bat 4. Распаковать SFX куда нужно. |
Ответ: Canterbury Pascal for J2ME
Вложений: 1
Странно, идет какая-то ошибка:
|
Ответ: Canterbury Pascal for J2ME
Вложений: 1
странно, такая же беда еще у одного человека. что показывает
java -version у меня 1.6.0_03 результаты компиляции |
Ответ: Canterbury Pascal for J2ME
Версия 1.4.2_04, может JVM старая?
|
Ответ: Canterbury Pascal for J2ME
не знаю, у меня везде эта стоит, если найду машину с похожей проверю обязательно
|
Ответ: Canterbury Pascal for J2ME
Интересно, сколько новая JRE весит?
Искал на сайте SUN и на Motodev, что-то не нашел. Sun Java JRE 6 это то что нужно, или нужно что-то другое? |
Ответ: Canterbury Pascal for J2ME
Да, это она и есть. Если правильно помню, примерно 18Мб. Я просто получил ее с диском NetBeans 6.0. У меня и дома и на работе все компилируется. Возможно сам паскаль скомпилирован с ее помощью.
|
Ответ: Canterbury Pascal for J2ME
Да, виновата была JRE, поставил новую - все заработало.
Весит порядка 15 мб, при сетевой установке - около 7 мб. P.S. Надо бы это дело в отдельный подраздел вынести, пусть даже в ветке по MP. |
Ответ: Canterbury Pascal for J2ME
Небольшой вопрос - к проектам можно как-нибудь подключать библиотеки на java?
|
Ответ: Canterbury Pascal for J2ME
какие библиотеки? доступна вся ява, все классы напрямую
свойство MIDP_LIB в build.xml подключает любые библиотеки для компиляции, а потом просто Код:
uses ЗЫ: при компиляции все еще возможны проблемы, если в библиотеке используются нативные методы, тогда пишем сюда и я их просто исправлю на заглушки. |
Ответ: Canterbury Pascal for J2ME
Я немного другое имел ввиду.
Можно ли просто написать класс на java и прилинковать его к проекту(как в MP)? А вообще, есть где-нибудь дока по этому паскалю? Вот наткнулся на проблему. Нужно перевести числовое значение в строковое. В Java вроде так: Код:
s = new String(i); |
Ответ: Canterbury Pascal for J2ME
нет, в яве
s := String.parseInt(12345); класс можно прилинковать, чтобы к нему обатиться его надо положить по любому пути указанному в CLASSPATH или имеется в виду добавление его как библиотеки и в jar? дока лежит в папке mhc\compiler\doc :) |
Ответ: Canterbury Pascal for J2ME
Цитата:
Если писать s := String.parseInt(12345); ,все равно пишет Syntax Error. -------------------------------------------- Оказывается, есть процедура Str :). |
Ответ: Canterbury Pascal for J2ME
s := java_lang_String.String.valueOf(mode);
она то есть, один ньюанс: это встроенная функция паскаля, а не явы, тогда нам нужно линковать к готовому проекту модуль SYSTEM в котором живут все стандартные процедуры и функции. Стандартный тип паскаля STRING - это StringBuffer в яве. на мой взгляд лучше делать вот так: Код:
type PS: похоже еще есть вопросы с русским языком, вернее с его кодировкой |
Ответ: Canterbury Pascal for J2ME
Все равно не работает.
Про ValueOf пишет, что такого метода нет, пробовал делать то же самое, но с методом ParseInt - тоже ошибка. Кстати, разве модуль SYSTEM так не линкуется? Да, с кодировкой проблемы. Пробовал сохранять файл в разных кодировках - про Unicode и UTF-8 пишет, что есть недопустимые символы, а с Win просто квадраты вместо символов. Похоже, нужно где-то ключи компилятора менять. |
Ответ: Canterbury Pascal for J2ME
Вложений: 1
с кодировкой я попытаюсь разобраться, хотя в теории можно строки в ресурсных файлах хранить.
SYSTEM действительно не линкуется, а нужно? Его нужно подредактировать под реалии мобильной явы. ниже приведенный код компилируется и работает на моем ROKR E2, хотя proguard4.0.1 на него ругается :) |
Ответ: Canterbury Pascal for J2ME
Вложений: 1
У меня похоже что-то не так настроено, всеравно идет та же ошибка:
Да, это всетаки proguard ругается, так мидлет запускается и работает. Кстати, как правильно создавать плеер для файла из архива? |
Ответ: Canterbury Pascal for J2ME
не знаю почему, но вызов valueOf(int) progurad воспринимает как double, в моем примере я отключил обфускацию, т.е. proguard. видимо несовершенен.
но на мой взгляд, у этой платформы хорошие перспективы, несмотря на то, что я получил приглашение участвовать в развитии МР. |
Ответ: Canterbury Pascal for J2ME
В процессе тестирования выявились следующие сложности:
1. Не корректная кодовая таблица русского в готовой программе -копаю коды компилятора на этот счет 2. Системный модуль SYSTEM содержит много мусора, не нужного в мобильной версии. И его нужно линковать к готовой программе для использования стандартных функций паскаля. -адаптирую и чищу его. --Нужно ли оставлять работу с ФС? Сделать JSR75? |
Ответ: Canterbury Pascal for J2ME
По идее ФС нужна, я например до сих пор не понял, как создать подключение к ФС.
Допустим, в java я плеер делел так: Код:
FileConnection conn = (FileConnection)Connector.open("file://"+ |
Ответ: Canterbury Pascal for J2ME
да, я тоже не могу понять их диаграмму, для приведения типа.
Код:
INLINE( |
Ответ: Canterbury Pascal for J2ME
Цитата:
Хорошо, что можно встявлять блоки на java. |
Ответ: Canterbury Pascal for J2ME
А можно здесь как-нибудь импортировать не отдельные классы, а целые пакеты, например как в java improt javax.microedition.io.file.* вместо import javax.microedition.io.file.FileConnection?
|
Ответ: Canterbury Pascal for J2ME
Похоже что нет. Он по этим импортам сканирует классы, а так ему весь пакет придется сканить
|
Re: Canterbury Pascal for J2ME
Могу подкинуть для таклго делу IDE а ля BDS 2006 делал для собственного компилятора (исходники)
ЗЫ... Ща подумал, можно сразу сделать входной язык любой (типа поддержку) даже PHP а выходной в байт код на J2ME токма натить примеры иль SDK какой нить по програмингу на ASM под J2ME... Ну или человека который компилил на Asm для мидлетов... Извиняюсь за оффтоп... Нашол Jasmin типа Asm для явы... В принципе можно сделать свой MP с любым синтаксисом!!! Можно удалить пожалста два следучих поста... Не вкурю как ето сделать! Забыл добавить VISUAL MIDLET PASCAL |
Re: Canterbury Pascal for J2ME
А можно у сайта сделать язык по умолчанию ru а не en а то не удобно переключаца с кодировки на кодировку???
|
Ответ: Canterbury Pascal for J2ME
IDE, дело хорошее. Исходники на С++ или на Delphi?
|
Re: Canterbury Pascal for J2ME
Delphi!
Дак более того, она уже готова под любой компилер, тоесть встроеный дизайнер форм и шаблонный редактор, настраиваемая подсветка синтаксиса и кодефолдинг , можно прикрутить редактор ресурсов и т.д... У меня вот другой вопрос, компилер Java я прикрутил и пробывал скомпилить классы (без машины) и вот чо выяснил... Короче СР запускаеца через VM Java ,тоисть сперва запускаица мидлет Pas3.zip и он уже коцает все остальное в байт код, я посмотрел SYSTEM.PAS - типичный интерпретатор, причом ужо готовый, его немного подработать напильником под Delphi (Turbo она Free) и получим свой независимый компилер сразу в Java MIDP а виртуальную машину можно выдернуть из EWE благо исходники есть для теста Апплетов ну и MIDpX (пробывал связаца с аффтором, чот молчит) для запуска мидлетов. Хотя если щас с EWE разберусь и он не нужен будет!!! ЗЫ... А вообче может написать небольшой тутор по созданию компиляторов-интерпретаторов на Delphi??? |
Ответ: Canterbury Pascal for J2ME
Цитата:
|
Re: Canterbury Pascal for J2ME
супер! мне тоже удалось скомпилировать. буду развивать!
столкнулся с одной проблемой чтото немогу подружиться с руским языком пробовал утф 8, тогда этот паскаль не компилирует проэкт --- извиняюсь пока компилил в ветке появились новые ответы... ) |
Re: Canterbury Pascal for J2ME
Еще одна прблема с компилятором. Невозможно использовать глобальные переменные-масивы в процедурах.. (((
и ошибку вычислить сложно без ID компилятор просто выкидывает код, который идет ниже ошибки в процедуре, и собирает пиложение. |
Ответ: Canterbury Pascal for J2ME
ant из поста 8 не работает. Говорит, что папка ant_home не правильная или не задана, хотя в переменых путь настроен. Пришлось качать полную версию с офф сайта, с ней все заработало сразу.
|
Ответ: Canterbury Pascal for J2ME
Блин, у меня чет не пошло:(
|
Ответ: Canterbury Pascal for J2ME
Смотря какая ошибка, возможно, JRE старая.
|
Re: Canterbury Pascal for J2ME
Вложений: 1
Попробывал, интересно:)
А вот с русским не дружит... Написал патчик для классов чтоб русский шел, мож кому пригодиться Вложение 5424 Синтаксис таков "corrut8.exe name.class". Примечание. Компилятору Pas файлы подовать ANSI в win1251. Оптимально использовать после обфуксации до преверфикации. Обфускаторы тоже русский могут искаверкать... Например кинуть в bin и добавить в build.xml ... <!-- Internal target: preverify --> <target name="preverify" depends="obfuscate,skip-obfuscate"> <exec executable="${ME_BIN}/corrut8"> <arg value="${build}/obfuscate/classes/${ant.project.name}_main.class"/> </exec> ... |
Ответ: Canterbury Pascal for J2ME
а ЧТО ЭТО ВООБЩЕ ТАКОЕ? И ЗАЧЕМ ОНО НУЖНО?
|
Ответ: Canterbury Pascal for J2ME
Цитата:
|
Ответ: Canterbury Pascal for J2ME
а почему тогда это лежит в теме мидлет паскаль?
|
Ответ: Canterbury Pascal for J2ME
Улыбнуло!=)
Мне тоже удалось скомпилировать программу, очень понравилось!)) |
Часовой пояс GMT +4, время: 10:27. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot