forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   LibCo :: Компилятор библиотек (http://forum.boolean.name/showthread.php?t=14686)

YellowAfterlife 08.05.2011 07:14

LibCo :: Компилятор библиотек
 
Вложений: 1
Возникало ли у вас желание написать библиотеку для MidletPascal? Скорее всего да, и не менее чем однажды. Ведь библиотека - отличный способ добратся до неподдерживаемых или специфических вещей, будь то динамические массивы данных или использование какого-то конкретного JSR. Тем более, что библиотека нередко демонстирует быстродействие большее чем написанный "на чистом МП" код.

Есть конечно тема 440, но я не думаю что многим удалось достичь даже пункта 1 из нее (то есть собраться с духом и найти и установить все нужное програмное обеспечение).

Поэтому вашему вниманию представляется LibCo - компилятор библиотек со сложностью использования немного выше бревна.
Для его использования вам понадобится лишь JRE (Java Runtime Enviroment), который используется для запуска любых базирующихся на Java приложений и игр, и скорее всего уже у вас установлен.

Кроме непосредственной компиляции библиотек сюда включен небольшой "препроцессор" кода, позволяющий укорачивать исходный код и помогать в его оптимизации \ запутывании кода.
Слово препроцессор взято в кавычки, поскольку действие программы больше напоминает развитый (и автоматизированный) вариант "Найти\Заменить" в текстовых редакторах.
Если кто-то знает VB (программа на данный момент написана на нем) или C++ (было бы более логично писать ее на С++?) и имеет желание дополнить программу более развитыми вещами (подобными тому что можно можно делать в С-ориентированных компиляторах - т.е. #ifdef's и макросы), пишите в личку.


В архиве прилагается Readme, вполне детально описывающий использование компилятора и большинство содержащихся в архиве файлов.
Папка src содержит 5 примеров библиотек - "Hello World", рисование прозрачного прямоугольника, хештейбл (хранение переменных с использованием строки как индекса), расширяемый массив целочисленных переменных, и библиотека для сенсорного ввода (в использовании - немного проще чем Lib_sensor). Примеры детально откомментированы.

Так же я потратил некоторое время на составление небольшого (400 строк \ 10 кб \ Equiv.txt) документа, описывающего эквивалентные выражения для Pascal и Java. Предположительно он может упростить перевод MidletPascal-проэктов на Java.

Удачного библиотеко-строения! :)

PassCall 14.05.2011 17:14

Ответ: LibCo :: Компилятор библиотек
 
Хорошая вещь...
"Список соответствий типичных Pascal и Java выражений." - неплохо, такой маленький самоучитель по ява =) но я там нашел ошибку.

Цитата:

Для логических переменных, выражения 'and' заменены на '&&'.
Pascal:
if ((выражение) and (выражение)) then ..
Java:
if ((выражение) and (выражение)) ..
и хотелось бы, чтобы ява сравнивалась с МидлетПаскалем...
Цитата:

string ~> String
Строка. Максимальная длина строки в Java выше 2х миллиардов (2Гб) в отличии от
скромных 255 символов Pascal. Так же заметьте что название начинается с
большой буквы.
Незнаю сколько символов может содержать String в МП, но уж точно больше 255.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot