PHP Conference Japan 2024

Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::push新增詞法分析器規則

說明

public Parle\RLexer::push(字串 $regex, 整數 $id): void
public Parle\RLexer::push(
    字串 $state,
    字串 $regex,
    整數 $id,
    字串 $newState
): void
公開 Parle\RLexer::push(字串 $state, 字串 $regex, 字串 $newState):

推送一個用於詞彙辨識的模式。

可以透過使用適當的簽名來指定「起始狀態」和「結束狀態」。

參數

regex

用於匹配詞彙的正規表達式。

id

詞彙 ID。如果詞彙分析器實例是用於獨立運作,這可以是任意數字。如果詞彙分析器實例將傳遞給解析器,則它必須是由 Parle\RParser::tokenid() 返回的 ID。

state

狀態名稱。如果 '*' 被用作起始狀態,則該規則將應用於所有詞彙分析器狀態。

newState

應用規則後的新狀態名稱。

如果 '.' 被指定為結束狀態,則當該規則匹配時,詞彙分析器狀態保持不變。名稱前帶有 '>' 的結束狀態表示推送。當需要延續或遞迴時,請使用不帶 ID 的簽名以進行延續或開始匹配。

如果 '<' 被指定為結束狀態,則表示彈出。在這種情況下,包含 ID 的簽名可以用於識別匹配項。請注意,即使指定了 ID,當所有先前的推送都彈出時,該規則仍會先完成。

回傳值

不回傳任何值。

新增筆記

使用者貢獻的筆記

此頁面沒有使用者貢獻的筆記。
To Top