AutoIt: 3.3.10.0
Версия: 1.4
Au3Stripper является аналогом одноименной утилиты из SciTE4AutoIt3 и имеет следующие отличительные особенности:
Описание:
PS: изначально утилита делалась для моей сборки SciTe, но она должна бы без переделок работать и с другими редакторами.
Файл: Скачать (26.03.2016)
Источник: autoit-script.ru
Автор(ы): asdf8
Версия: 1.4
Au3Stripper является аналогом одноименной утилиты из SciTE4AutoIt3 и имеет следующие отличительные особенности:
- Добавлена возможность явно указать путь к AutoIt, который будет использоваться при обработке исходного кода.
- Значительно увеличена скорость обработки. В режиме склейки исходного кода с подключаемыми файлами и очистки от неиспользуемых функций и переменных разница для небольших файлов составляет примерно пять раз, но это не главное - оригинальный Au3Stripper производит обработку за вполне приемлемое время. Для больших файлов разница может составлять более тридцати раз - и это уже очень ощутимо. Правда, режим PreExpand работает гораздо медленнее, но, во-первых, механизм обработки гораздо более скрупулезный, кроме замен констант их значениями идет последовательное упрощение арифметических, логических и текстовых выражений, а во-вторых, суммарный выигрыш во времени все равно остается очень хорошим.
Описание:
Au3Stripper заменяет в исходном коде скрипта подключаемые файлы их содержимым, производит обработку полученного кода в соответствии заданными параметрами и сохраняет результат в новый файл.
Параметры командной строки:
Также параметры обработки могут быть заданы в скрипте с помощью директивы #preproc Props(Au3Stripper, ... , при отсутствии директив #preproc параметры загружаются из директивы #Au3Stripper_Parameters, но командная строка имеет более высокий приоритет. Путь к обрабатываемому файлу должен быть первым параметром командной строки.
Директивы, используемые в скрипте для управления Au3Stripper:
Пример подключения к SciTE (файл "au3.properties")
Параметры командной строки:
Также параметры обработки могут быть заданы в скрипте с помощью директивы #preproc Props(Au3Stripper, ... , при отсутствии директив #preproc параметры загружаются из директивы #Au3Stripper_Parameters, но командная строка имеет более высокий приоритет. Путь к обрабатываемому файлу должен быть первым параметром командной строки.
- /GuiMode - Au3Stripper запускается в оконном режиме (параметр поддерживается только в командной строке).
- /MergeOnly /MO - эмулируется обработка скрипта AUT2EXE для скомпилированного файла, это позволяет, в случае возникновения в скрипте ошибки, найти правильный номер строки с ошибкой, для получения правильного результата необходимо задать удаление директив #pragma, что возможно только при запуске Au3Stripper в оконном режиме. При наличии этого параметра игнорируются параметры /Strip, /PreExpand и /RenameMinimum.
- /Strip[=0/1] /S[=0/1] - из кода удаляются неиспользуемые функции и глобальные переменные и константы. Опция по умолчанию включена. Из соображений совместимости параметры /StripOnly, /SO, /SF=1 или /SV=1 включают режим /Strip.
Замечание: для встроенных AutoIt функций, в которых, в качестве входного параметра, используется имя функции или переменной в виде текста (AdlibRegister, Call и т.д., кроме Execute), правильная обработка возможна только если соответствующий параметр явно задан текстом или текстовым выражением, если параметр содержит переменную или функцию, а также для функции Execute и пользовательских функций, для получения корректного результата нужно воспользоваться директивами #Au3Stripper_Ignore_Funcs или #Au3Stripper_Ignore_Variables - /PreExpand[=0/1/2] /PE[=0/1/2] - числовые константы заменяются их значениями, также производится упрощение арифметических и текстовых выражений. Опция по умолчанию выключена. Включение этой опции существенно увеличивает время обработки. При /PE=2 также будут обрабатываться текстовые константы, что может увеличить размер выходного файла. Константы, занесенные в исключения директивами Au3Stripper, не переименовываются. См. замечание для /Strip.
- /RenameMinimum[=0/1] /RM[=0/1] - имена функций и переменных заменяются более короткими (длинной от двух знаков). Опция по умолчанию выключена. Включение этой опции увеличивает время обработки. Функции и переменные, занесенные в исключения директивами Au3Stripper, не переименовываются. См. замечание для /Strip.
- /rsln[=0/1] - в основном файле исходного кода (не в подключаемых файлах) заменяет макрос @ScriptLineNumber фактическим номером строки (используется для отладки). Опция по умолчанию выключена. Следует учитывать, что использование макроса в качестве значения по умолчанию пользовательской функции приведет к ошибочному определению номера строки.
- /ShowConsoleInfo=0/9 /SCI=0/9
- /SCI=0 - минимальный вывод в консоль - только предупреждения и ошибки.
- /SCI=9 - (по умолчанию) максимальный вывод в консоль.
- /NoCheck[=0/1] /NCHK[=0/1] - не производить синтаксическую проверку выходного кода. По умолчанию проверка производится. При отсутствии ошибок Au3Stripper завершается с кодом 1000, что позволяет AutoIt3Wrapper не производить повторную проверку.
- /AutoIt3Dir="Path" - параметр поддерживается только в командной строке и задает папку с установленным AutoIt, который и будет использоваться.
Если этот параметр не задан AutoIt будет искаться в следующем порядке:- в переменной среды AutoItPath
- в переменной SciTe AutoIt3Dir
- на два уровня выше, чем Au3Stripper
- /CMD - Au3Stripper загружает основные параметры обработки исключительно из командной строки.
Директивы, используемые в скрипте для управления Au3Stripper:
- #preproc Props(Au3Stripper, ... или #Au3Stripper_Parameters= - задает параметры обработки кода
- #Au3Stripper_Off - остановить процесс обработки ниже этой линии
- #Au3Stripper_On - возобновить процесс обработки ниже этой линии
- #Au3Stripper_Ignore_Funcs= - не удалять и не переименовывать перечисленные функции
- #Au3Stripper_Ignore_Variables= - не удалять и не переименовывать перечисленные переменные
Пример подключения к SciTE (файл "au3.properties")
Код:
command.12.*.au3="$(autoit3dir)\autoit3.exe" ""$(SciteDefaultHome)\AutoItTools\Au3Stripper.a3x" "$(FilePath)" /GuiMode
command.name.12.*.au3=Au3Stripper Gui
command.subsystem.12.*.au3=0
command.save.before.12.*.au3=1
PS: изначально утилита делалась для моей сборки SciTe, но она должна бы без переделок работать и с другими редакторами.
Файл: Скачать (26.03.2016)
Источник: autoit-script.ru
Автор(ы): asdf8