免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2165 | 回复: 1
打印 上一主题 下一主题

bison中的变量的作用域 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-08 21:34 |只看该作者 |倒序浏览
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应该是全局变量,为何看不到对应的全局声明呢?

论坛徽章:
0
2 [报告]
发表于 2008-07-08 21:35 |只看该作者

回复 #1 fineamy 的帖子

赫赫,太粗心了。留个纪念。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP