Simulink.CodeImporter.ParseInfo class

Пакет: Simulink .CodeImporter

Сведения о проанализированном пользовательском коде

Описание

The Simulink.CodeImporter.ParseInfo Класс имеет свойства только для чтения, которые хранят дополнительную информацию о проанализированном пользовательском коде. Чтобы получить информацию о пользовательском коде, синтаксический анализ должен быть успешным.

The Simulink.CodeImporter.ParseInfo класс является handle класс.

Создание

Когда вы создаете объект класса Simulink.CodeImporter, объект класса Simulink.CodeImporter.ParseInfo автоматически создается как ParseInfo свойство этого объекта. Не создавать объект класса Simulink.CodeImporter.ParseInfo непосредственно.

Свойства

расширить все

Успешный ли синтаксический анализ пользовательского кода, задается как логический скаляр со значением false перед успешным синтаксическим анализом заданного пользовательского кода, затем true после успешного разбора.

Типы данных: logical scalar

Функции, совместимые с Simulink в пользовательском коде, возвращаются как строковые массивы.

Пример: ["myCustomFcn1", "myCustomFcn2", "myCustomFcn3"]

Типы данных: string array

Функции точки входа в пользовательском коде, возвращенные как строковые массивы. Функции точки входа не вызываются другими функциями пользовательского кода. EntryFunctions является подмножеством AvailableFunctions.

Пример: ["myCustomFcn1", "myCustomFcn3"]

Типы данных: string array

Типы данных, совместимые с Simulink в пользовательском коде, возвращаются как строковые массивы. Типы определяются пользователем, например struct и enum.

Пример: ["myStruct1","myStruct2"]

Типы данных: string array

Сообщения об ошибке из неудачного анализа указанного пользовательского кода (Sucesss равно false), возвращенный как вектор символов. Несколько сообщений об ошибке объединяются в один вектор символов. Если синтаксический анализ успешен (Sucesss равно true), Errors является нулевым вектором.

Типы данных: character vector

Методы

расширить все

Примеры

свернуть все

obj = Simulink.CodeImporter;

%% Set library file name and output folder
obj.LibraryFileName = "pumpController";
obj.OutputFolder = ".";

%% Set the custom code to import
obj.CustomCode.InterfaceHeaders = ["pumpController.h"];
obj.CustomCode.IncludePaths = ["./include"];
obj.CustomCode.SourceFiles = ["src/pumpController.c" "src/utils.c"];
obj.parse;
obj.ParseInfo
ans = 

  ParseInfo with properties:

               Success: 1
    AvailableFunctions: ["Controller"    "setFanTempThreshold"    "setPumpTempThreshold"]
        EntryFunctions: ["Controller"    "setFanTempThreshold"    "setPumpTempThreshold"]
        AvailableTypes: "pump_control_bus"
                Errors: []

Введенный в R2021a