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