bison中的变量的作用域
parameter_assign
: IDENTIFIER '=' expression
{ PExpr*tmp = $3;
if (!pform_expression_is_constant(tmp)) {
yyerror(@3, "error: parameter value "
"must be a constant expression.");
delete tmp;
tmp = 0;
} else {
pform_set_parameter(lex_strings.make($1),
active_signed,
active_range, tmp);
}
delete $1;
}
;
1.请问红色标记的tmp变量可能是蓝色定义的吗。蓝色定义的tmp其作用域是否只是对应动作的代码范围。
2.类似active_signed和active_range,这两个确实是全局变量,也在定义节找到声明了。可是红色tmp应该是全局变量,为何看不到对应的全局声明呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
赫赫,太粗心了。留个纪念。