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

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

Вернуться   forum.boolean.name > Проекты > Проекты на BlitzMax

Ответ
 
Опции темы
Старый 23.10.2007, 22:34   #1
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
BMX Preprocessor

Вот как то накодил препроцессор для бмакса...пока умеет тока #define...

Брать тут..читать текст вначале... сэмпл прилагетсо.
__________________
(Offline)
 
Ответить с цитированием
Старый 23.10.2007, 22:39   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: BMX Preprocessor

Очень скромный препоцессор. Даже в дефайне еще не реализована возможность использования аргументов.
(Offline)
 
Ответить с цитированием
Старый 23.10.2007, 23:48   #3
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BMX Preprocessor

да так и есть..первые шаги... собсно интересуют предложения по функционалу и отчёты по багам и несовместимостям.
__________________
(Offline)
 
Ответить с цитированием
Старый 24.10.2007, 00:27   #4
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: BMX Preprocessor

Главное предложение - реализовать функционал препроцессора С) Условная компиляция, макросы, фичи компилятора. В долгу с отчетами не останемся)
(Offline)
 
Ответить с цитированием
Старый 25.10.2007, 00:46   #5
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BMX Preprocessor

Новая версия препроцессора:

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. несовместим с режимом пошаговой отладки...в этом случае

будут подсвечиваться ни те строчки кода. Вообще совместимость

с режимом отладки невелика..ведутся работы в этом направлении.

Спасибо за внимание.
__________________
(Offline)
 
Ответить с цитированием
Старый 27.10.2007, 14:55   #6
jimon
 
Сообщений: n/a
Re: BMX Preprocessor

в общем вещь довольно рулезная ...
сходу накатал тестик :

#define test "bla"
DebugLog test

#define test2

#define test3 "ok"
#define test4 "no"


#ifdef test2
DebugLog test3
#Else
DebugLog test4

#EndIf
и заработало
но есть но ... нифига не работает с инклудом относительных путей
у мну три файла - A1.bmx , test/A2.bmx , test/A3.bmx
в A1.bmx пишу Include "test/A2.bmx"
в A2.bmx пишу Include "A3.bmx"
и выходит что оно не инклудится ...

еще синтаксис не подсветчивается
 
Ответить с цитированием
Старый 27.10.2007, 15:54   #7
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: BMX Preprocessor

новая версия:
! поправлена ошибка с множественными уровнями вложенности файлов исходника
+ новый кейворд: #undef name - удаляет определение лексемы, и она становится недоступной.

Внимание! Перед установкой новой версии обязательно удаляйте старую, использя деинсталятор из главного меню.
__________________
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
dimanche13 (07.10.2008), maxturbo (25.05.2011), Жека (25.12.2010)
Старый 25.12.2010, 20:30   #8
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: BMX Preprocessor

Кто-нибудь знает - стандартными средствами макса такое можно делать нынче (всё ж таки прошло время), а то я не нашёл.
(Offline)
 
Ответить с цитированием
Старый 19.02.2011, 05:36   #9
Earlind
ПроЭктировщик
 
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений
(для 27 пользователей)
Ответ: BMX Preprocessor

Насколько я знаю, макс за эти три года совсем не изменился.
(Offline)
 
Ответить с цитированием
Старый 19.02.2011, 09:40   #10
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: BMX Preprocessor

Сообщение от Earlind Посмотреть сообщение
Насколько я знаю, макс за эти три года совсем не изменился.
Изменился и ещё как.
Пруфы на оф. сайте.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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