Обработайте по шаблону символы и правила

Введение

Template Symbol Groups и Символы Шаблона описывают символы шаблона пользовательской обработки файла (CFP) и правила для использования их. Местоположение символа в одном из предоставленных файлов шаблона (code_c_template.cgt, code_h_template.cgt, data_c_template.cgt, или data_h_template.cgt) определяет, где элементы, сопоставленные с тем символом, расположены в соответствующем сгенерированном файле. Template Symbol Groups идентифицирует группы символов, начиная с родительской (“Основной”) группы, сопровождаемой дочерними элементами каждого родительского элемента. Обработайте списки Символов по шаблону символы в алфавитном порядке.

Примечание

Если вы используете пользовательские разделы CGT для файлов, сгенерированных к _sharedutils папка, можно только использовать имена символа в группе Основного символа.

Обработайте группы символов по шаблону

Группа символовИмена символа в этой группе

Основа (Родительские элементы)

Declarations

Defines

Definitions

Documentation

Enums

Functions

Includes

Types

Объявления

ExternalCalibrationLookup1D

ExternalCalibrationLookup2D

ExternalCalibrationScalar

ExternalVariableScalar

Задает

LocalDefines

LocalMacros

Определения

FilescopeCalibrationLookup1D

FilescopeCalibrationLookup2D

FilescopeCalibrationScalar

FilescopeVariableScalar

GlobalCalibrationLookup1D

GlobalCalibrationLookup2D

GlobalCalibrationScalar

GlobalVariableScalar

Документация

Abstract

Banner

Created

Creator

Date

Description

FileName

History

LastModifiedDate

LastModifiedBy

ModelName

ModelVersion

ModifiedBy

 

Notes

ToolVersion

Функции

CFunctionCode

Типы

Этот родительский элемент не имеет никаких дочерних элементов.

Обработайте символы по шаблону

Имя символа*Группа символовОсциллограф символаОписание символа (Что символ вставляет сгенерированный файл),

Abstract

Документация

Нет данных

Предоставленное пользователями описание модели или файла. Помещенный в сгенерированный файл на основе примечания Stateflow®, аннотации Simulink® или DocBlock на модели. **

Banner

Документация

Нет данных

Комментарии, расположенные около верхней части файла. Содержит информацию, которая включает версии модели и программного обеспечения, и файл даты был сгенерирован.

CFunctionCode

Функции

Файл

Функции C/C++. Должен быть в нижней части шаблона.

Created

Документация

Нет данных

Дата, когда модель была создана. От поля Created on на диалоговом окне Model Properties.

Creator

Документация

Нет данных

Пользователь, который создал модель. От поля Created by на диалоговом окне Model Properties.

Date

Документация

Нет данных

Файл даты был сгенерирован. Взятый из компьютерных часов.

Declarations

Основа

 

Объявление данных сигнала или параметра. Например, extern real_T globalvar;.

Defines

Основа

Файл

Необходимый #defines из .h файлы.

Definitions

Основа

Файл

Определения данных сигналов или параметров.

Description

Документация

Нет данных

Описание модели. От поля Model description на диалоговом окне Model Properties. **

Documentation

Основа

Нет данных

Комментарии о том, как интерпретировать сгенерированные файлы.

Enums

Основа

Файл

Перечислимые определения типов.

ExternalCalibrationLookup1D

Объявления

Внешний

***

ExternalCalibrationLookup2D

Объявления

Внешний

***

ExternalCalibrationScalar

Объявления

Внешний

***

ExternalVariableScalar

Объявления

Внешний

***

FileName

Документация

Нет данных

Имя сгенерированного файла.

FilescopeCalibrationLookup1D

Определения

Файл

***

FilescopeCalibrationLookup2D

Определения

Файл

***

FilescopeCalibrationScalar

Определения

Файл

***

FilescopeVariableScalar

Определения

Файл

***

Functions

Основа

Файл

Сгенерированный функциональный код.

GlobalCalibrationLookup1D

Определения

Глобальная переменная

***

GlobalCalibrationLookup2D

Определения

Глобальная переменная

***

GlobalCalibrationScalar

Определения

Глобальная переменная

***

GlobalVariableScalar

Определения

Глобальная переменная

***

History

Документация

Нет данных

Предоставленная пользователями история версии сгенерированных файлов. Помещенный в сгенерированный файл на основе примечания к Stateflow, аннотации Simulink или DocBlock на модели. **

Includes

Основа

Файл

#include директивы препроцессору.

LastModifiedDate

Документация

Нет данных

Дата, когда модель была в последний раз сохранена. От поля Last saved on на диалоговом окне Model Properties.

LastModifiedBy

Документация

Нет данных

Пользователь, кто продержался сохраненную модель. От поля Last saved by на диалоговом окне Model Properties.

LocalDefines

Задает

Файл

#define директивы препроцессору от объектов данных генерации кода.

LocalMacros

Задает

Файл

Макросы C/C++, локальные для файла.

ModelName

Документация

Нет данных

Имя модели.

ModelVersion

Документация

Нет данных

Номер, постепенно увеличенный к 1 каждому разу, вы сохраняете модель.

ModifiedBy

Документация

Нет данных

Имя пользователя, кто продержался, изменило модель.

Notes

Документация

Нет данных

Предоставленное пользователями разное отмечает о модели или сгенерированных файлах. Помещенный в сгенерированный файл на основе примечания к Stateflow, аннотации Simulink или DocBlock на модели. **

ToolVersion

Документация

Нет данных

Список версий тулбоксов, используемых в генерации кода.

Types

Основа

 

Типы данных сгенерированного кода.

* имена Символа должны быть заключены между %< >. Например, %<Functions>.

** Этот символ может использоваться, чтобы добавить комментарий в сгенерированные файлы. Смотрите Добавляют Глобальные Комментарии в Сгенерированном коде. Генератор кода помещает комментарий в каждый сгенерированный файл, шаблон которого имеет это имя символа. Генератор кода помещает комментарий в местоположении, которое соответствует туда, где имя символа расположено в файле шаблона.

*** Описание может быть выведено из имени символа. Например, GlobalCalibrationScalar символ, который идентифицирует скаляр. Это содержит данные глобальной области видимости, которую можно калибровать.

Правила для изменения или создания шаблона

Следующее является правилами для создания шаблона MPF. Сравнение Шаблона и Его Сгенерированного Файла иллюстрирует несколько из этих правил.

  1. Поместите символ на шаблон в the %< > разделитель. Например, символ под названием Includes должен выглядеть так на шаблоне: %<Includes>. Обратите внимание на то, что имена символа являются чувствительными к регистру.

  2. Поместите символ на шаблон, где желаемый. Его местоположение на шаблоне определяет, где элемент, сопоставленный с этим символом, расположен в сгенерированном файле. Если никакой элемент не сопоставлен с ним, символ проигнорирован.

  3. Поместите оператор C/C++ за пределами %< > разделитель, и на различной линии, чем %< > разделитель, для того оператора, чтобы появиться в сгенерированном файле. Например, #pragma message ("my text") в шаблоне приводит к #pragma message ("my text") в соответствующем местоположении в сгенерированном файле. Обратите внимание на то, что оператор должен быть совместим с вашим компилятором C/C++.

  4. Используйте .cgt расширение для каждого имени файла шаблона. ("cgt"обозначает шаблон генерации кода.)

  5. Обратите внимание на то, что %% $Revision: 1.1.4.10.4.1 $ появляется наверху предоставленных шаблонов MathWorks. Это для внутреннего использования MathWorks только. Это не должно быть помещено на пользовательский шаблон и не показывает в сгенерированном файле.

  6. Поместите комментарий к шаблону между /* */ как в стандартном ANSI® C[1]. Это приводит к /*comment*/ на сгенерированном файле.

  7. Каждый шаблон MPF должен иметь все Основные символы группы в предопределенном порядке. Они перечислены в Template Symbol Groups. Каждый символ в Основной группе является родительским элементом. Например, Declarations родительский символ.

  8. Каждый символ в неосновной группе является дочерним элементом. Например, LocalMacros дочерний элемент.

  9. За исключением дочерних элементов Документации, дочерние элементы должны быть размещены после их родительского элемента перед следующим родительским элементом, и перед Functions символ.

  10. Дочерние элементы документации могут быть расположены прежде или после их родительского элемента в любом порядке где угодно в шаблоне.

  11. Если дочерний элемент недокументации отсутствует в шаблоне, генератор кода помещает информацию, сопоставленную с этим дочерним элементом в ее родительском местоположении в сгенерированном файле.

  12. Если дочерний элемент Документации отсутствует в шаблоне, генератор кода не использует информацию, сопоставленную с тем дочерним элементом из сгенерированного файла.


[1]  ANSI является зарегистрированной торговой маркой American National Standards Institute, Inc.