函式名稱:Parle\Parser::right()
函式描述:該函式用於設定右結合的產生式規則。
適用版本:Parle 0.7.1 及以上版本
語法:public Parle\Parser::right(array $right_associativity_rules)
引數:
- $right_associativity_rules:一個包含右結合規則的陣列。每個規則由兩個元素組成,第一個元素是終結符的名稱,第二個元素是一個整數,表示該終結符的結合性。
返回值:無返回值。
示例:
// 建立 Parser 物件
$parser = new Parle\Parser();
// 設定右結合規則
$parser->right([
['+', 1], // +號的結合性為1
['-', 1], // -號的結合性為1
]);
// 定義產生式規則
$parser->prod('expr', ['expr', '+', 'expr'], function($stack) {
// 產生式規則的動作
return $stack[0] + $stack[2];
});
// 解析輸入字串
$result = $parser->parse('2 + 3 + 4');
// 輸出解析結果
echo $result; // 輸出 9
在上述示例中,我們首先建立了一個 Parle\Parser 物件,並使用 right() 函式設定了右結合規則。然後,我們定義了一個名為 "expr" 的產生式規則,該規則表示表示式可以由兩個表示式和一個加號組成。在產生式規則的動作函式中,我們將兩個表示式的結果相加並返回。最後,我們使用 parse() 函式對輸入字串進行解析,並將解析結果輸出到螢幕上,得到了正確的結果 9。
熱門工具排行榜