函式名:Parle\Lexer::build()
適用版本:Parle 0.8.0 及以上版本
用法:Parle\Lexer::build() 方法用於構建一個新的詞法分析器物件。
示例:
// 引入 Parle 名稱空間
use Parle\Lexer;
// 建立 Lexer 物件
$lexer = Lexer::build();
// 新增詞法規則
$lexer->push('number', '/\d+/');
$lexer->push('operator', '/[+\-*/]/');
$lexer->push('whitespace', '/\s+/');
// 設定輸入字串
$input = '2 + 3 * 4';
// 執行詞法分析
$tokens = $lexer->lex($input);
// 列印詞法分析結果
foreach ($tokens as $token) {
echo $token['type'] . ': ' . $token['value'] . PHP_EOL;
}
在上面的示例中,我們首先引入了 Parle\Lexer 名稱空間,並使用 Lexer::build()
方法建立了一個新的詞法分析器物件。然後,我們使用 push()
方法新增了三個詞法規則,分別用於匹配數字、運算子和空白字元。接下來,我們設定了輸入字串 $input
為 '2 + 3 * 4'
。最後,我們呼叫 lex()
方法對輸入字串進行詞法分析,並將結果儲存在 $tokens
變數中。最後,我們使用 foreach 迴圈遍歷詞法分析結果,並列印出每個詞法單元的型別和值。
注意:以上示例僅為演示目的,實際使用時可能需要根據具體需求進行適當修改。