牛牛在线工具

Parle\RParser::nonassoc()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Parle\RParser::nonassoc()

向语法分析器添加一个非关联(non-associative)的运算符

函数名称:Parle\RParser::nonassoc() 适用版本:Parle 0.7.1 及以上版本 用法:Parle\RParser::nonassoc() 方法用于向语法分析器添加一个非关联(non-associative)的运算符。非关联运算符是指在同一表达式中出现多个相同优先级的运算符时,会引发语法错误。该方法的返回值是一个整数,表示已添加的运算符的优先级。 示例: // 创建语法分析器对象 $parser = new Parle\RParser(); // 添加非关联运算符 $operatorPrecedence = $parser->nonassoc(); // 设置语法规则 $parser->PushRule([ $operatorPrecedence, // 运算符优先级 '+', // 运算符 $operatorPrecedence, // 运算符优先级 '+', // 运算符 $operatorPrecedence // 运算符优先级 ]); // 解析表达式 $expression = '1 + 2 + 3'; $result = $parser->parse($expression); // 输出结果 echo $result; // 这里会抛出一个语法错误,因为+运算符被定义为非关联的 在上面的示例中,我们首先创建了一个 Parle\RParser 对象。然后,使用 nonassoc() 方法添加了一个非关联的运算符,并将返回的整数保存在 $operatorPrecedence 变量中。接下来,我们使用 PushRule() 方法设置了一个语法规则,其中包含了两个相同优先级的加法运算符。最后,我们调用 parse() 方法解析了一个包含两个加法运算符的表达式,并将结果保存在 $result 变量中。由于我们定义的加法运算符是非关联的,所以解析器会抛出一个语法错误。 请注意,Parle\RParser 类是 Parle 扩展的一部分,需要安装和启用 Parle 扩展才能使用该类及其相关方法。