exponenta event banner

Класс Simulink.CodeImporter.ParseInfo

Пакет: Simulink.CodeImporter

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

Описание

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

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