Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::push添加词法分析器规则

描述

public Parle\RLexer::push(string $regex, int $id): void
public Parle\RLexer::push(
    string $state,
    string $regex,
    int $id,
    string $newState
): void
public Parle\RLexer::push(string $state, string $regex, string $newState): void

将模式推入词法分析器以识别词素。

可以使用合适的签名来指定“起始状态”和“退出状态”。

参数

regex

用于标记匹配的正则表达式。

id

标记 ID。如果词法分析器实例旨在独立使用,则可以是任意数字。如果词法分析器实例将被传递给解析器,则它必须是 Parle\RParser::tokenid() 返回的 ID。

state

状态名称。如果使用 '*' 作为起始状态,则规则将应用于所有词法分析器状态。

newState

应用规则后的新状态名称。

如果指定 '.' 作为退出状态,则该规则匹配时词法分析器状态将保持不变。在名称之前使用 '>' 的退出状态表示压入。如果需要继续或递归,请在需要继续或递归时使用不带 ID 的签名。

如果指定 '<' 作为退出状态,则表示弹出。在这种情况下,可以使用的包含 ID 的签名来识别匹配项。请注意,即使指定了 ID,当所有先前的压入弹出时,规则也将首先结束。

返回值

不返回值。

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top