查詢

Parle\Parser::right()函式—用法及示例

「 設定右結合的產生式規則 」


函式名稱: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。

補充糾錯
上一個函式: Parle\Parser::sigil()函式
下一個函式: Parle\Parser::reset()函式
熱門PHP函式
分享連結