标识符的格式控制
您可以自定义生成的标识符指定标识符的格式控制参数对代码生成>标识符面板的配置参数对话框。对于每个参数,您可以输入一个宏,用于指定是否在什么顺序,某些文本包含在生成的标识符。例如,您可以指定根模型名称被插入到每个标识符使用$ R
令牌。
宏可以包括:
列出有效的令牌标识符的格式标记。您可以使用或省略令牌取决于您想要包含在标识符名称。的共享公用事业公司标识符的格式参数需要指定校验和令牌,
$ C
。其他参数要求矫直令牌,M美元
。有关更多信息,请参见控制在生成的标识符名称改编。矫直令牌必须使用和排序中提到的限制标识符的格式控制参数值。令牌decorator,列出通过使用令牌decorator控制情况。您可以使用令牌修饰符来控制生成的标识符的情况下为每个令牌。
有效的C或c++语言标识符字符(
a - z、a - z _ 0 - 9
)。
构建过程生成每个标识符通过扩大令牌并将合成文本插入到标识符。令牌是扩大中列出的顺序标识符的格式标记。组字符插入您所指定的位置,在令牌直接标识符。连续的牌扩展由下划线(_
)字符。
标识符的格式标记
令牌 | 描述 |
---|---|
$ C |
这个令牌是必需的共享公用事业公司标识符的格式。如果超过的标识符最大标识符长度代码生成器插入一个8-character校验和避免命名冲突。对于共享实用程序生成的MATLAB函数块,代码生成器取代了 |
M美元 |
这个令牌是必需的。如果有必要,代码生成器插入名称改编文本,以避免命名冲突。修改校验和使用字符长度共享的校验和长度参数。的位置 |
你美元 |
插入文本,你指定的 |
$ F |
插入方法名称(例如, |
$ N |
插入对象的名字(块、信号或信号对象、状态参数,参数共享效用函数或对象)正在生成的标识符。的决议列表金宝搏官方网站 |
$ R |
插入根模型名称标识符,不支持的字符替换为下划线(金宝app 注意:这个令牌替换全球标识符前缀模式名称在以前的版本。 |
H美元 |
插入标记指示系统层次结构级别。根级块标记文本 注意:这个令牌替换包括系统层次结构数字标识符在以前的版本。 |
美元一个 |
插入数据类型缩写词(例如, 注意:这个令牌替换在标识符包含数据类型缩写在以前的版本。 |
我美元 |
例如, |
G美元 |
数据项,插入的名字相关联的存储类数据项。这个令牌也可以在您所指定的命名规则头文件存储类的嵌入式编码®字典。 服务接口,插入服务的名称。 |
$ E |
插入文件类型。
|
$ X |
这个令牌只适用于发送方、接收方、数据传输、定时器服务函数命名规则。插入入口点可调用的函数的名称包含函数调用的服务。 |
标识符的格式控制参数值列表默认宏观价值,支持的令牌,和适用的限制金宝app标识符的格式控制参数。
标识符的格式控制参数值
参数 | 默认值 | 金宝app支持令牌 | 限制 |
---|---|---|---|
全局变量 | R N美元美元 |
M美元 ,$ R ,$ N ,你美元 |
$ F ,H美元 ,美元一个 ,$ E ,我美元 ,G美元 是不允许的。 |
全球类型 | $ N R M_T美元 |
M美元 ,$ R ,$ N ,你美元 |
$ F ,H美元 ,美元一个 ,$ E ,我美元 ,G美元 是不允许的。 |
全球类型的字段名 | N M美元 |
M美元 ,$ N ,H美元 ,美元一个 ,你美元 |
$ R ,$ F ,G美元 ,$ E ,我美元 是不允许的。 |
子系统的方法 | F R N M美元美元 |
M美元 ,$ R ,$ N ,H美元 ,$ F ,你美元 |
$ F 和H美元 为Stateflow是空的®函数;美元一个 ,G美元 ,$ E ,我美元 是不允许的。 |
子系统的方法参数 | rt我N美元美元 |
M美元 ,$ N ,我美元 ,你美元 |
$ R ,$ F ,H美元 ,G美元 ,$ E ,美元一个 是不允许的。 |
当地的临时变量 | N M美元 |
M美元 ,$ R ,$ N ,美元一个 ,你美元 |
$ F ,H美元 ,G美元 ,$ E ,我美元 是不允许的。 |
本地块输出变量 | rtb_ N M美元 |
M美元 ,$ N ,美元一个 ,你美元 |
$ R ,$ F ,H美元 ,G美元 ,$ E ,我美元 是不允许的。 |
恒宏 | R N美元美元 |
M美元 ,$ R ,$ N ,你美元 |
$ F ,H美元 ,美元一个 ,G美元 ,$ E ,我美元 是不允许的。 |
共享公用事业公司标识符的格式 | N C美元 |
$ N ,$ C ,$ R ,你美元 |
$ C 是必需的。M美元 ,$ F ,H美元 ,美元一个 ,G美元 ,$ E ,我美元 是不允许的。 |
EMX效用函数数组标识符的格式 |
emx $ M $ N |
M美元 ,$ N ,$ R |
$ C ,你美元 ,$ F ,H美元 ,美元一个 ,G美元 ,$ E ,我美元 是不允许的。 |
EMX数组类型标识符的格式 |
emxArray_ $ M $ N |
M美元 ,$ N ,$ R |
$ C ,你美元 ,$ F ,H美元 ,美元一个 ,G美元 ,$ E ,我美元 是不允许的。 |
头文件 | R E美元 |
$ R ,你美元 ,$ E |
$ C ,M美元 ,$ N ,$ F ,H美元 ,美元一个 ,G美元 ,我美元 是不允许的。 |
源文件 | R E美元 |
$ R ,你美元 ,$ E |
$ C ,M美元 ,$ N ,$ F ,H美元 ,美元一个 ,G美元 ,我美元 是不允许的。 |
数据文件 | R_data美元 |
$ R ,你美元 |
$ C ,M美元 ,$ N ,$ F ,H美元 ,美元一个 ,G美元 ,$ E ,我美元 是不允许的。 |
GRT Non-ERT-based目标(如目标)隐式使用默认的R N美元美元
规范。这个默认规范由根模型名称,紧随其后的是生成对象的名字(信号参数,状态,等等),其次是名称改编文本。
适用的限制标识符的格式控制参数,看到例外标识符格式约定和标识符的格式控制参数的局限性。
$ N
嵌入式编码器字典的决议
的$ N
令牌的名称解析为对象的一个标识符生成。上下文对象类型不同的命名规则。此表列出的对象$ N
解决项目的嵌入式编码字典。
类别 | 服务接口 | 自定义实体 | 默认的命名规则 | 解决$ N |
---|---|---|---|---|
执行 | 初始化和终止功能 | 函数命名规则 | R N美元 |
初始化 为初始化函数块,术语 为终止函数块 |
周期和非周期函数 | 函数命名规则 | R N美元 |
重置 周期函数,一步 对于非周期函数 |
|
服务接口 | 接收机 | 函数命名规则 | get_ $ X $ N |
轮廓尺寸块名称 |
发送方 | 函数命名规则值 | set_ $ X $ N |
外港块名称 | |
函数命名规则供参考 | ||||
数据传输 | 接收函数的命名规则 | get_ $ X $ N |
数据传输信号的名字,等DataTransferAt |
|
发送方函数命名规则 | set_ $ X $ N |
|||
内部函数 | 子组件的功能 | 函数命名规则 | R N美元 |
相关函数元素,如港口一个导出的函数的名称 |
共享效用函数 | 函数命名规则 | N C美元 |
的函数的名称 | |
内存 | 存储类 | 头文件 | 新罕布什尔州美元 |
模型或子系统的数据相关联 |
定义文件 | 北卡罗来纳州美元 |
模型或子系统的数据相关联 | ||
类型名称 | $ R $ $ N G M美元 |
模型或子系统的数据相关联 | ||
实例名 | G N美元美元 |
模型或子系统的数据相关联 | ||
Getter的名字 | get_ N M美元 |
相关数据元素 | ||
Setter的名字 | set_ N M美元 |
相关数据元素 |
通过使用令牌decorator控制情况
在代码生成>标识符窗格中,您可以使用令牌装饰器控制的情况下生成的标识符。后立即放置一个装饰目标令牌,并附上方括号的装饰[]
。例如,您可以设置全局变量来(uL) $ R N M美元
内模型的首字母大写,名字和部队其余字符小写的型号名称。
表显示了如何操纵的扩张$ R
标记为一个模型,他的名字叫modelName
。
想要扩张 | 描述 | 令牌和装饰 |
---|---|---|
ModelName |
模型名称的首字母是大写。剩余字符不修改。 | $ R (u) |
Modelname |
模型名称的首字母是大写。剩余字符小写的。 | $ R (uL) |
MODELNAME |
所有的字符都大写。 | $ R (U) |
modelname |
所有的人物都是小写的。 | $ R (L) |
mODELNAME |
模型名称的第一个字母是小写的。剩余字符大写。 | $ R(陆) |
modelName |
模型名称的第一个字母是小写的。剩余字符不修改。 | $ R (l) |
使用修饰符时,代码生成器删除下划线字符(_
默认情况下)之间出现的令牌。然而,你可以添加每个装饰用下划线:$ R [U_] $ N
。例如,如果您设置了全局变量参数$ R [u_] N (uL) M美元
对于一个模型命名modelName
和一个DWork
结构由DW
,结果是ModelName_Dw
。
通过使用正则表达式decorator修改标识符
修改标识符的方式比其他情况下,您可以使用正则表达式。使用一个正则表达式,将双引号的装饰。一个正则表达式装饰包含两个正则表达式由一个斜杠分开。代码生成器搜索第一个正则表达式匹配的子字符串的令牌和替换这些子字符串使用第二个正则表达式。例如,下面的标识符命名规则需要根模型名称$ R
和替换的实例一个
与b
:$ R (a / b”)
。代码生成器解释正则表达式语法的方式是一致的
正则表达式函数,除了装饰器不支持动态表情,使用MATLAB金宝app®命令。regexprep
您可以配置一个正则表达式装饰通过添加一个选项列表的末尾装饰。单独的选项从第二个正则表达式使用斜杠和相互独立的选项使用管道字符。例如,下面的标识符命名规则需要根模型名称$ R
,只替换第一个实例一个
与b
,忽略的例子:$ R (“a / b /一旦| ignorecase”)
。
类别 | 选项 | 描述 | 例子装饰 | 输入例子 | 示例输出 |
---|---|---|---|---|---|
匹配/替换发生 | 所有 (默认) |
匹配和替换表达式尽可能多地。 |
[" a /——/ "] |
afabcswbc |
-f-bcswbc |
一次 |
匹配和替换表达式只有一次。 |
[" a /——/一次”] |
afabcswbc |
-fabcswbc |
|
N |
在哪里N 是一个整数,匹配和替换吗N 发生的一场比赛。 |
[" a / - / 2 "] |
afabcswbc |
af-bcswbc |
|
情况下匹配 | matchcase (默认) |
匹配字母大小写。 |
[" aBcD / wXyZ / matchcase”] |
abcdABCD |
abcdABCD |
ignorecase |
忽略字母大小写。 |
[" aBcD / wXyZ / ignorecase”] |
abcdABCD |
wXyZwXyZ |
|
preservecase |
忽略字母大小写匹配但保留相应的原始文本字符的情况下而取代。 |
[" aBcD / wXyZ / preservecase”] |
abcdABCD |
wxyzWXYZ |
|
空的匹配 | noemptymatch (默认) |
忽略长度为零的匹配。 |
[" ^ /前缀/ noemptymatch”) |
abcdABCD |
abcdABCD |
emptymatch |
包括零长度匹配。 |
[" ^ /前缀/ emptymatch”) |
abcdABCD |
prefixabcdABCD |
如果正则表达式装饰导致不可编译代码,代码生成器产生错误之前构建代码。
正则表达式限制
正则表达式decorator仅适用
G美元
,$ N
,$ R
令牌。不像
regexprep
正则表达式装饰器不支持动态表情,使用MATLAB命令。金宝app不支持正则表达式修饰符的函数映射金宝app代码的映射编辑器。
代码生成器不能评估一个正则表达式是否有效。一个无效的正则表达式不会导致改变影响令牌,不产生警告。
控制格式标识符
这个例子展示了如何定制生成的标识符指定标识符的格式控制参数对代码生成>标识符面板的配置参数对话框。保持模型的可追溯性,重要的是,增量修正模型对标识符名称的影响最小,出现在生成的代码中。这个例子展示了如何使用名称指定改编标识符的格式控制参数标识符名称最低限度的影响。
模型=“rtwdemo_symbols”;open_system(模型)
%的清理rtwdemoclean;close_system(模型中,0)