English | 简体中文 | 繁體中文
查询

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函数
分享链接