gpt4 book ai didi

c++ - Bison 中的 $$ 是什么?

转载 作者:太空狗 更新时间:2023-10-29 19:46:32 25 4
gpt4 key购买 nike

Bison 手册中的 2.1.2 Grammar Rules for rpcalc 部分,它写道:

In each action, the pseudo-variable $$ stands for the semantic value for the grouping that the rule is going to construct. Assigning a value to $$ is the main job of most actions

这是否意味着 $$ 用于保存规则的结果?喜欢:

exp exp '+'   { $$ = $1 + $2;      }

$$ 在 begin 赋值后的典型用法是什么?

最佳答案

是的,$$是用来保存规则的结果的。在被分配给之后,它通常会成为一些更高级别(或更低优先级)规则中的 $x

考虑(例如)像 2 * 3 + 4 这样的输入。假设您遵循正常的优先级规则,您将执行类似于以下内容的操作:{ $$ = $1 * $3; }。在这种情况下,这将用于 2 * 3 部分,显然,将 6 分配给 $$。然后你会有你的 { $$ = $1 + $3; } 来处理加法。对于此操作,$1 将被赋予您在乘法规则中分配给 $$ 的值 6

关于c++ - Bison 中的 $$ 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com