В этой версии у нас большое изменение в работе скрипта. Теперь можно использовать некоторые команды препроцессора.
JAD for Quest Soft Player v.0.4
Тем, у кого установлена старая версия:
- Можно удалить файл "
qsp.sublime-build " из "Packages/User " (Меню Preferences -> Browse Packages - открыть папку "User "). Этот файл теперь лежит в "QSP.sublime-package ". Именно оттуда его нужно извлечь, изменить пути к интерпретатору python, и к файлу "main.py " билдера, а затем упаковать обратно.
- Можно удалить сочетания клавиш из "
Packages/User/Default(Windows).sublime-keymap " (Меню Preferences -> Key Bindigs ), так как эти сочетания теперь прописаны в файле "Default.sublime-keymap " в "QSP.sublime-package ".
- Нужно заменить старый "
QSP.sublime-package " на новый. Само собой файлы билдера ("main.py ", "function.py ", "pp.py ") так же нужно заменить на новые.
Препроцессор
Препроцессор - это набор команд предобработки исходного текста программы перед компиляцией. В нашем случае, до того, как мы сконвертируем файлы проекта в конечные файлы ".qsp ", мы можем исключить из этих файлов некоторые строки, или рекомбинировать их.
Препроцессор написан с нуля, поэтому будут баги и логические ошибки в работе команд. Я ни разу не пользовался сторонними препроцессорами, поэтому могу изобрести велосипед там, где все гоняют на Kawasaki z900. Будьте аккуратны и делайте побольше коммитов.
При препроцессинге билдер работает в несколько раз медленнее.
Команды (директивы, инструкции)
Для удобства в препроцессор встроены два уровня инструкций: непосредственно команды препроцессора и специальные комментарии.
Специальные комментарии (спецкомментарии):
!@ — комментарий, начинающийся с такого сочетания символов, будет удалён при препроцессинге.
!@< — комментарий, начинающийся с такого сочетания символов, а так же строка, в которой стоит этот комментарий, будут удалены при препроцессинге.
Команды препроцессора:
!@pp:on — включает препроцессинг для текущего файла. Данная команда должна идти первой или второй строкой в файле. Препроцессинг будет происходить только в режимах "On" и "Off". См. раздел включение препроцессора.
!@pp:off — выключает препроцессинг для текущего файла. Данная команда должна идти первой или второй строкой в файле.
!@pp:savecomm - данная команда отключает обработку специальных комментариев. Действует до конца файла, либо пока не встретится нижеследующая команда.
!@pp:nosavecomm - данная команда включает обработку специальных комментариев.
!@pp:var(name=123) - данная команда объявляет метку name со значением "123". Обратите внимание: имена меток могут содержать любые символы, кроме двоеточия и пробела, поэтому допустимой может быть запись:
!@pp:var(123=123) - эта команда объявит метку 123 со значением "123". Все объявленные значения - текстовые величины. Так же обратите внимание, что если значение и название метки совпадают, при дальнейшем препроцессинге все значения, совпадающие с названием метки, будут восприниматься препроцессором исключительно как названия метки. Более того, все значения сами по себе являются метками, содержащими одноимённые значения!
!@pp:if(name==123):exclude - данная команда проверяет, выполняется ли условие в скобках (содержит ли метка name значение 123), и если условие выполняется, исключает нижеследующие строки кода из конечного файла. Вместо слова exclude можно использовать другие ключевые слова:
exclude — исключить последующие строки из конечного файла при выполнении условия. Если условие не будет выполнено, строки будут обработаны препроцессором и включены в конечный файл.
include — последующие строки должны быть включены в конечный файл при выполнении условия, при этом строки будут обработаны препроцессором. Если условие не будет выполнено, строки не будут включены в конечный файл.
nopp — не обрабатывать строки препроцессором при выполнении условия.
savecomm — не обрабатывать специальные комментарии, как инструкции.
Можно комбинировать ключевые слова (например, exclude nopp и include nopp ).
Содержимое скобок при проверке условия может содержать следующие операции:
== — проверка равны ли два значения. Верно если равны.
!= — проверка не равны ли два значения. Верно если не равны.
!@pp:endif - данная команда указывает окончание блока условия.
|