前页 | 后页 |
语法命令
命令,如指令,类似于函数调用。它们有两个主要目的:
- 以特定方式处理令牌或
- 向调用者提供结果
命令
命令 |
描述 |
---|---|
属性(名称:字符串,值:表达式) |
在当前 AST 节点上创建一个属性。该属性将使用语法源中指定的名称创建,并将被赋予作为执行 Value 表达式的一部分所消耗的所有标记的值。 此命令生成Enterprise Architect在代码工程中操作的 AST 节点属性。 |
attributeEx(名称:字符串) |
在当前 AST 节点上创建一个属性,而不消耗任何令牌。该属性将使用与语法源中指定的名称相同的名称创建,并且具有空值或由可选的 Value 参数指定的值。 此命令生成Enterprise Architect在代码工程中操作的 AST 节点属性。 |
node(名称:字符串,目标:表情) |
在当前 AST 节点( Enterprise Architect在代码工程中操作的节点)下创建一个 AST 节点。将使用语法源中指定的名称创建节点。 |
令牌(目标:表达式) |
在词法分析期间创建一个标记,以便在解析期间进行处理。令牌的值将是执行目标表达式所消耗的所有字符的值。 |
关键字() |
匹配任何用作语法术语的文字string ;也就是说,如果您输入要搜索的显式string ,它将成为关键字。 |
跳过(目标:表达式) |
使用输入数据(词法分析时的字符和解析时的标记),直到匹配“目标”表达式。可选的“Escape”表达式可用于处理字符串中的转义引号等实例。 |
skipBalanced(原点:表情,目标:表情) |
消耗输入数据(字符),直到“目标”表达式匹配并且嵌套级别或令牌达到零。如果在此过程中匹配了“Origin”表达式,则增加了嵌套级别。如果匹配“目标”表达式,则嵌套“目标”级别。当命令嵌套级别达到零时,成功。可以提供可选的“Escape”表达式。 |
跳过EOF() |
使用所有剩余数据(字符或标记)直到文件结束。 |
失败() |
导致解析器使当前规则失败,包括任何剩余的定义。 |
警告() |
在生成的 AST 中插入警告。 |
除了(目标:表达式,例外:表达式) |
使用与目标表达式匹配的输入数据,但在与异常表达式匹配的数据上失败。这个操作有点类似于跳过命令,但完全相反。 |
preProcess(目标:表达式) |
评估一个表达式并在多个定义中使用该预处理数据。这在表达式解析中最有用,其中将针对多个运算符评估相同的左侧表达式。该命令减少了解析器为实现这一点而必须做的工作。 |