【编译原理】龙书第一章作业答案
练习1.6.1 :对图1-13a中的块结构的C代码,指出赋给w、x、y和z的值
答案: w=13,x=11,y=13,z=11。可以把图中块结构看作块B1,第一个大括号内是块B2,第二个内是块B3。块B2有变量j的声明,因此w的定义中对j的使用被绑定到这个声明,没有i的声明,只能指向块B1中i的声明,同时B2重新定义该声明的i值为6,所以w=6+7=13。由于x在块B1中,i和j绑定到的都是块B1的声明,x=6+5=11。块B3有i的声明但没有j的声明,只能绑定到块B1对j的声明,所以y=8+5=13。z同理x可得值为11。
练习1.6.2 :对图1-13b中的代码重复练习1.6.1,指出赋给w、x、y和z的值
答案: w=9,x=7,y=13,z=11。把图中块结构看作块B1,第一个大括号内是块B2,第二个内是块B3。块B2有变量i的声明但没有j的声明,只能绑定到块B1对j的声明,因此