-post-preprocessing-command
)Задайте команду или скрипт, чтобы работать на исходных файлах после предварительной обработки фазы анализа
Задайте команду или скрипт, чтобы работать на каждом исходном файле после предварительной обработки.
Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Environment Settings.
Командная строка: Используйте опцию -post-preprocessing-command
. Смотрите информацию о Командной строке.
Можно запустить скрипты на предварительно обработанных файлах, чтобы работать вокруг ошибок компиляции или неточностей анализа при хранении файлов первоисточника нетронутыми. Например, предположите, что Polyspace® не распознает специфичного для компилятора ключевого слова. Если вы уверены, что ключевое слово не важно для анализа, можно запустить скрипт Perl, чтобы удалить все экземпляры ключевого слова. Когда вы используете эту опцию, программное обеспечение удаляет ключевое слово из вашего предварительно обработанного кода, но сохраняет ваш оригинальный код нетронутым.
Используйте скрипт, только если существующие аналитические опции не удовлетворяют ваши требования. Например:
Для прямой замены одного ключевого слова с другим используйте опцию Preprocessor definitions (-D)
.
Однако опция не позволяет поиск и замену, включающую регулярные выражения. Для регулярных выражений используйте скрипт.
Для отображения вашей библиотечной функции к стандартной библиотечной функции используйте опцию -function-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® (средство поиска ошибки):
|
Пример в Linux (программа автоматического доказательства кода):
|
Пример в Linux (сервер средства поиска ошибки):
|
Пример в Linux (сервер программы автоматического доказательства кода):
|
Пример в Windows:
|
Обратите внимание на то, что в Windows, вы используете полный путь для исполняемого файла Perl.