BMX Preprocessor
Вложений: 2
Вот как то накодил препроцессор для бмакса...пока умеет тока #define...
Брать тут..читать текст вначале... сэмпл прилагетсо. |
Re: BMX Preprocessor
Очень скромный препоцессор. Даже в дефайне еще не реализована возможность использования аргументов.
|
Re: BMX Preprocessor
да так и есть..первые шаги... собсно интересуют предложения по функционалу и отчёты по багам и несовместимостям.
|
Re: BMX Preprocessor
Главное предложение - реализовать функционал препроцессора С) Условная компиляция, макросы, фичи компилятора. В долгу с отчетами не останемся)
|
Re: BMX Preprocessor
Вложений: 2
Новая версия препроцессора:
BMX Preprocessor v0.2a Установить в папку с БлитзМакс! Препроцессор для блитзмакс, подменяет собой стандартный препроцессор расположеный в BlitzMax\bin\bmk.exe Стандартный bmk.exe переименовывается в bmk_original.exe Программа предоставляется по принципу "КАК ЕСТЬ", бесплатно, без ограничений и гарантий. Права принадлежат Станиславу Жеронкину ([email protected]) Возможности: *Препроцессинг исходного кода БлитзМАХ (*.bmx) Ключевые слова: - #define name [value] Объявляет новую лексему с именем name и значением value для внутренего пользования препроцессором, ключевое слово, имя и значение отделяются пробелами. Значение является необязательным параметром. После объявления лексемы её имя в коде программы заменяется препроцессором на её значение. - #ifdef name Проверяет была ли определена лексема с именем name, в случае истинности условия далее расположеный код компилируется, в противном случае некомпилируется. - #ifndef name Проверяет была ли определена лексема с именем name, в случае ложности условия далее расположеный код компилируется, в противном случае некомпилируется. - #else Позволяет компилировать или некомпилировать код в случаях нвыполнения условий #ifdef и #ifndef - #endif Отмечает окончание блока условий. - #elif name Проверяет объявлена ли другая лексема если предыдущая проверка спомощью #ifdef или #ifndef (собственно это elseif). Встроенные макросы: __DATE__ - вставляет вместо себя в код дату компиляции __TIME__ - вставляет вместо себя в код время компиляции __FILE__ - вставляет вместо себя в код имя исходного файла __LINE__ - вставляет вместо себя в код номер строчки в исходном файле Пока всё.. список возможностей будет пополняться... Ограничения: 1. несовместим с режимом пошаговой отладки...в этом случае будут подсвечиваться ни те строчки кода. Вообще совместимость с режимом отладки невелика..ведутся работы в этом направлении. Спасибо за внимание. |
Re: BMX Preprocessor
в общем вещь довольно рулезная ...
сходу накатал тестик : Код:
но есть но ... нифига не работает с инклудом относительных путей у мну три файла - A1.bmx , test/A2.bmx , test/A3.bmx в A1.bmx пишу Include "test/A2.bmx" в A2.bmx пишу Include "A3.bmx" и выходит что оно не инклудится ... еще синтаксис не подсветчивается :( |
Re: BMX Preprocessor
Вложений: 2
новая версия:
! поправлена ошибка с множественными уровнями вложенности файлов исходника + новый кейворд: #undef name - удаляет определение лексемы, и она становится недоступной. Внимание! Перед установкой новой версии обязательно удаляйте старую, использя деинсталятор из главного меню. |
Ответ: BMX Preprocessor
Кто-нибудь знает - стандартными средствами макса такое можно делать нынче (всё ж таки прошло время), а то я не нашёл.
|
Ответ: BMX Preprocessor
Насколько я знаю, макс за эти три года совсем не изменился.
|
Ответ: BMX Preprocessor
Цитата:
Пруфы на оф. сайте. |
Часовой пояс GMT +4, время: 18:11. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot