预订演示
前页 后页

语法命令

命令,如指令,类似于函数调用。它们有两个主要目的:

  • 以特定方式处理令牌或
  • 向调用者提供结果

命令

命令

描述

属性(名称:字符串,值:表达式)

在当前 AST 节点上创建一个属性。该属性将使用语法源中指定的名称创建,并将被赋予作为执行 Value 表达式的一部分所消耗的所有标记的值。

此命令生成Enterprise Architect在代码工程中操作的 AST 节点属性。

attributeEx(名称:字符串)
attributeEx(名称:字符串,值:字符串)

在当前 AST 节点上创建一个属性,而不消耗任何令牌。该属性将使用与语法源中指定的名称相同的名称创建,并且具有空值或由可选的 Value 参数指定的值。

此命令生成Enterprise Architect在代码工程中操作的 AST 节点属性。

node(名称:字符串,目标:表情)

在当前 AST 节点( Enterprise Architect在代码工程中操作的节点)下创建一个 AST 节点。将使用语法源中指定的名称创建节点。

令牌(目标:表达式)

在词法分析期间创建一个标记,以便在解析期间进行处理。令牌的值将是执行目标表达式所消耗的所有字符的值。

关键字()

匹配任何用作语法术语的文字string ;也就是说,如果您输入要搜索的显式string ,它将成为关键字。

跳过(目标:表达式)
skip(目标:表达式,转义:表达式)

使用输入数据(词法分析时的字符和解析时的标记),直到匹配“目标”表达式。可选的“Escape”表达式可用于处理字符串中的转义引号等实例。

skipBalanced(原点:表情,目标:表情)
目标(Origin: Expression, Target: Expression, Escape: Expression)

消耗输入数据(字符),直到“目标”表达式匹配并且嵌套级别或令牌达到零。如果在此过程中匹配了“Origin”表达式,则增加了嵌套级别。如果匹配“目标”表达式,则嵌套“目标”级别。当命令嵌套级别达到零时,成功。可以提供可选的“Escape”表达式。

跳过EOF()

使用所有剩余数据(字符或标记)直到文件结束。

失败()

导致解析器使当前规则失败,包括任何剩余的定义。

警告()

在生成的 AST 中插入警告。

除了(目标:表达式,例外:表达式)

使用与目标表达式匹配的输入数据,但在与异常表达式匹配的数据上失败。这个操作有点类似于跳过命令,但完全相反。

preProcess(目标:表达式)

评估一个表达式并在多个定义中使用该预处理数据。这在表达式解析中最有用,其中将针对多个运算符评估相同的左侧表达式。该命令减少了解析器为实现这一点而必须做的工作。

了解更多