查詢

Parle\Lexer::callout()函式—用法及示例

「 在語法分析期間定義一個呼叫點 」


函式名稱:Parle\Lexer::callout()

適用版本:Parle 0.7.1 及以上版本

函式描述:callout() 方法用於在語法分析期間定義一個呼叫點。當語法分析器執行到這個呼叫點時,會觸發使用者定義的回撥函式。

用法示例:

<?php
$lexer = new Parle\Lexer();
$lexer->push("int", "T_INT");

// 定義回撥函式
$calloutCallback = function ($lexer, $value, $symbol) {
    echo "Callout triggered: value=$value, symbol=$symbol\n";
};

// 定義呼叫點
$lexer->callout(2, $calloutCallback);

// 分析輸入字串
$input = "123 int";
$lexer->consume($input);

?>

上述示例程式碼中,我們建立了一個 Parle\Lexer 物件,並向其新增了一個規則,用於匹配字串 "int",並將其標記為 "T_INT"。然後,我們使用 callout() 方法在位置 2 定義了一個呼叫點,並傳遞了一個回撥函式作為引數。

當呼叫 consume() 方法分析輸入字串時,如果匹配到了 "int",則會觸發 callout() 方法定義的呼叫點,並執行回撥函式。在回撥函式中,我們列印出了傳遞給回撥函式的引數值。

注意:在使用 Parle\Lexer 類之前,需要先安裝 Parle 擴充套件,並載入擴充套件模組。

補充糾錯
上一個函式: Parle\Lexer::consume()函式
下一個函式: Parle\Lexer::build()函式
熱門PHP函式
分享連結