"编译原理习题及答案.doc详细解析,清华大学出版社第二版,张素琴主编"

需积分: 23 67 下载量 19 浏览量 更新于2024-01-05 收藏 628KB DOC 举报
"编译原理习题及答案.doc"中涉及了编译原理中第二章的习题2-4。题目为给定一段代码,需要根据给定的表结构和函数,填写表中对应部分的值。 根据页码为Page289的教材内容,我们可以看到给定的表结构为一个数组,每个元素都是一个结构体。结构体中包含了Name、Link、Val、Level、Ad这些属性。 根据给定的代码,我们可以根据block函数的定义来填写表中的数值。block函数的作用是创建新的block,并将其添加到符号表中。 我们需要先创建一个变量table,它是一个数组,大小为txmax。txmax代表了表中最大的索引值。 在填写表中的具体值时,我们可以根据给定的代码来确定变量的作用域和层次。 给定的代码中包含了变量x、y和过程p。根据代码的结构,我们可以确定这些变量和过程的层次和作用域。 在过程p中,有一个变量a。根据过程的结构,我们可以确定a的层次和作用域。 在过程p中还有一个过程q,过程q中有一个变量b。根据过程的结构,我们可以确定b的层次和作用域。 在过程p中还有一个过程s,过程s中有两个变量c和d。根据过程的结构,我们可以确定c和d的层次和作用域。 在过程s中还有一个过程r,过程r中有两个变量e和f。根据过程的结构,我们可以确定e和f的层次和作用域。 在过程r中调用了过程q,所以可以确定过程q的层次和作用域。 根据给定的代码,我们可以填写表中的内容。具体的填写方法可以参考教材Page18和Page19中的相应内容。 通过理解代码的结构和给定的表结构,并使用教材中的相关知识,我们可以完成表中的所有数值的填写。 综上所述,通过对给定的代码和表结构进行分析和理解,并根据教材中的相关知识,我们可以完成表中的所有数值的填写。这样我们就可以得到一个完整的表,其中包含了每个变量和过程的层次、作用域和其他属性。这个表对于理解和分析给定的代码非常有帮助,可以帮助我们更好地理解编译原理中的相关知识。