前页 后页

语法命令

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

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

指令

命令

描述

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

在当前AST节点上创建一个属性。将使用在语法源中指定的名称来创建该属性,并为该属性提供在执行Value表达式过程中消耗的所有标记的值。

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

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

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

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

节点(名称:字符串,目标:表达式)

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

令牌(目标:表达式)

在词法分析过程中创建一个标记,以便在解析过程中进行处理。令牌的值将是由于执行Target表达式而消耗的所有字符的值。

keyword()

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

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

消耗输入数据(词法分析时为字符,语法分析时为令牌),直到匹配“目标”表达式。可选的'Escape'表达式可用于处理实例,例如字符串中的转义引号。

skipBalanced(来源:表达式,目标:表达式)
skipBalanced(来源:表达式,目标:表达式,转义:表达式)

消耗输入数据(字符或令牌),直到匹配“目标”表达式并且嵌套级别达到零为止。如果在此过程中匹配了“原始”表达式,则嵌套级别会增加。如果“目标”表达式匹配,则嵌套级别会降低。当嵌套级别达到零时,命令将成功退出。可以提供一个可选的“转义”表达式。

skipEOF()

消耗所有剩余的数据(字符或令牌),直到文件末尾。

失败()

使解析器使当前规则(包括所有剩余的定义)失败。

警告()

在生成的AST中插入警告。

除了(目标:表达式,异常:表达式)

使用与目标表达式匹配的输入数据,但对与异常表达式匹配的数据失败。此操作有点类似于skip命令,但恰恰相反。

preProcess(目标:表达式)

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

学到更多