-post-preprocessing-command
)Задайте команду или скрипт, чтобы работать на исходных файлах после предварительной обработки фазы анализа
Задайте команду или скрипт, чтобы работать на каждом исходном файле после предварительной обработки.
Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Environment Settings.
Командная строка и файл опций: Используйте опцию -post-preprocessing-command
. Смотрите информацию о командной строке.
Можно запустить скрипты на предварительно обработанных файлах, чтобы работать вокруг ошибок компиляции или неточностей анализа при хранении файлов первоисточника нетронутыми. Например, предположите, что Polyspace® не распознает специфичного для компилятора ключевого слова. Если вы уверены, что ключевое слово не важно для анализа, можно запустить скрипт Perl, чтобы удалить все экземпляры ключевого слова. Когда вы используете эту опцию, программное обеспечение удаляет ключевое слово из вашего предварительно обработанного кода, но сохраняет ваш оригинальный код нетронутым.
Используйте скрипт, только если существующие опции анализа не удовлетворяют ваши требования. Например:
Для прямой замены одного ключевого слова с другим используйте опцию Preprocessor definitions (-D)
.
Однако опция не позволяет поиск и замену, включающую регулярные выражения. Для регулярных выражений используйте скрипт.
Для отображения вашей библиотечной функции к стандартной библиотечной функции используйте опцию -code-behavior-specifications
.
Однако отображение поддержек опции только с подмножеством стандартных библиотечных функций. Чтобы сопоставить с неподдерживаемой функцией, используйте скрипт.
Если вы не уверены в удалении или заменяющий неподдерживаемое построение, не используйте эту опцию. Свяжитесь с MathWorks® Support для руководства.
Никакое значение по умолчанию
Введите полный путь в команду или скрипт или нажатие кнопки, чтобы перейти к местоположению команды или скрипта. Этот скрипт выполняется перед верификацией.
Ваш скрипт должен быть спроектирован, чтобы обработать стандартный вывод от предварительной обработки и привести к ее результатам в соответствии с тем стандартным выводом.
Ваш скрипт должен сохранить количество линий в предварительно обработанном файле. Другими словами, это не должно добавлять или удалять целые линии к или из файла.
При добавлении линии или удалении можно потенциально привести к некоторому непредсказуемому поведению на местоположении проверок и макросов в пользовательском интерфейсе Polyspace.
Для скрипта Perl, в Windows®, задают полный путь к исполняемому файлу Perl, сопровождаемому полным путем к скрипту.
Например:
Задавать команду Perl, которая заменяет все экземпляры far
ключевое слово, введите
.polyspaceroot
\sys\perl\win32\bin\perl.exe-p-e "s/far//g"
Задавать скрипт Perl replace_keyword.pl
это заменяет все экземпляры ключевого слова, введите
.polyspaceroot
\sys\perl\win32\bin\perl.exe absolute_path
\replace_keyword.pl
Здесь,
местоположение текущей установки Polyspace, такой как polyspaceroot
C:\Program Files\Polyspace\R2019a\
и
местоположение скрипта Perl. Если пути содержат пробелы, используйте кавычки, чтобы заключить имена полного пути.absolute_path
Используйте этот скрипт Perl в качестве шаблона. Скрипт удаляет все экземпляры far
ключевое слово.
#!/usr/bin/perl binmode STDOUT; # Process every line from STDIN until EOF while ($line = <STDIN>) { # Remove far keyword $line =~ s/far//g; # Print the current processed line to STDOUT print $line; }
Можно использовать регулярные выражения Perl, чтобы выполнить замены. Например, можно использовать следующие выражения.
Выражение | Значение |
---|---|
. | Соответствия любой отдельный символ кроме новой строки |
[a-z0-9] | Соответствия любая одна буква в наборе a-z , или цифра в наборе 0-9 |
[^a-e] | Соответствия любая одна буква не в наборе a-e |
\d | Соответствия любая одна цифра |
\w | Соответствия любой один буквенно-цифровой знак или _
|
x? | Соответствия 0 или 1 вхождение x |
x* | Соответствия 0 или больше случаев x |
x+ | Соответствия 1 или более случаев x |
Для полного списка регулярных выражений см. документацию Perl.
Когда вы задаете эту опцию, Ассистент Компиляции автоматически отключен.
Параметр: -post-preprocessing-command |
Значение: Путь к исполняемому файлу или команде в кавычках |
Никакое значение по умолчанию |
Пример в Linux® (Bug Finder):
Polyspace Bug Finder - источники |
Пример в Linux (Программа автоматического доказательства Кода):
Polyspace Code Prover - источники |
Пример в Linux (Сервер Bug Finder):
сервер средства поиска ошибки полипробела - источники |
Пример в Linux (Сервер Программы автоматического доказательства Кода):
сервер программы автоматического доказательства полипробела кода - источники |
Пример в Windows:
Polyspace Bug Finder - источники |
Обратите внимание на то, что в Windows, вы используете полный путь для исполняемого файла Perl.