上一主题: 适用于所有描述符类型的语法规则下一主题: 标点符号详细信息


词素

以下是 ADL 语言中使用的最小语法单元,其以 Perl 风格的正则表达式定义:

正则表达式

符号

用途

说明

[A-Za-z_][A-Za-z0-9_]*  

SIDENT

实体名称、实体类型

简单的标识符。 这是多数使用的基于文本的语言(包括 shell 命令解释器(bash、csh)、Perl、C、Java 等)可以接受的标识符子集。 在 ADL 语言中,大多数用户定义的名称都属于此类型(例外情况会在需要时予以说明)。

[A-Za-z_$.-]  [A-Za-z0-9_$.-]*  

IDENT

实体名称、属性名称

标识符。 类似于 C 标识符,但“-”、“$”和“.”也是有效字符。

[^,"'>=#\s]+  

STR

属性值

裸字符串。 如果一个字符串不包含任何特殊字符,则该字符串不带引号时允许用作属性值。

'[^']*' 或
"(\\["]!\\t! \\n!\\r![^"])*"

STR

属性值

带引号的字符串,包括两种变体,即带单引号和带双引号。解释方式类似于 Perl:带单引号的字符串用于识别非特殊元字符,且可以引用除单引号外的任何可打印字符;带双引号的字符串用于识别 \ 元字符,且允许引用双引号本身及某些非打印字符。

[\]\[{}:,='"]  

标点符号

请参阅下面的“标点符号详细信息”一节。

=>  

标点符号

关联分隔符

[ ]+  

空格

空格是一种语法分隔符,用于当使用其他方式无法辨别两个相邻的词素(例如,两个标识符)时。 在所有其他情况下,忽略两个词素之间的空格。

\n  

分隔符

新行或 EOF 声明。 将多个新行视为一个新行。