PHP函式:Parle\Lexer::push()
適用版本:Parle\Lexer::push() 函式在 Parle 擴充套件版本1.0.0 及以上版本中可用。
用法:Parle\Lexer::push() 函式用於將一個或多個詞法分析器規則新增到詞法分析器中。
語法:
public void Parle\Lexer::push(array $rules)
引數:
- $rules: 一個包含一個或多個規則的陣列。每個規則是一個關聯陣列,包含兩個鍵值對:
- 're':規則的正規表示式模式。
- 'token':規則匹配到時分配的標記。
返回值:該函式沒有返回值。
示例:
// 建立一個新的詞法分析器例項
$lexer = new Parle\Lexer();
// 定義一些詞法規則
$rules = [
['re' => '/[0-9]+/', 'token' => 'NUMBER'],
['re' => '/[a-zA-Z]+/', 'token' => 'WORD'],
['re' => '/\+/', 'token' => 'PLUS'],
['re' => '/-/', 'token' => 'MINUS'],
];
// 將規則新增到詞法分析器中
$lexer->push($rules);
// 使用詞法分析器進行分析
$lexer->consume('1234 + abc - 5678');
while ($token = $lexer->next()) {
echo $token['token'] . ': ' . $token['value'] . "\n";
}
以上示例中,我們建立了一個新的 Parle\Lexer 例項,並定義了一些詞法規則。然後,我們使用 push() 函式將這些規則新增到詞法分析器中。接下來,我們使用 consume() 函式傳入待分析的字串。最後,我們使用 next() 函式逐個獲取分析結果,並輸出標記(token)和對應的值(value)。
輸出結果:
NUMBER: 1234
PLUS: +
WORD: abc
MINUS: -
NUMBER: 5678
熱門工具排行榜