清华大学第二版编译原理答案
《编译原理》课后习题答案第一章第4题对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、代码生成)报告的。(1)else没有匹配的if(2)数组下标越界(3)使用的函数没有定义(4)在数中出现非数字字符答案:(1)语法分析(2)语义分析(3)语法分析(4)词法分析《编译原理》课后习题答案第三章第1题文法G=ABSabcPS其中P为:S→AcaBA→abB→bc写出LGS的全部元素。答案:LGSabc第2题文法GN为:N→DNDD→0123456789GN的语言是什么?答案GN的语言是V。V0123456789NNDNDDNDDDDDDD或者:允许0开头的非负整数?第3题为只包含数字、加号和减号的表达式,例如92+5,31,7等构造一个文法。答案:GSSSDSDDD0123456789第4题已知文法GZ:Z→aZbab写出LGZ的全部元素。答案:ZaZbaaZbbaaaZbbbaaaabbbbLGZa
b
1
f清华大学第二版编译原理答案
第5题写一文法,使其语言是偶正整数的集合。要求:1允许0打头;2不允许0打头。答案:1允许0开头的偶正整数集合的文法E→NTDT→NTDN→D13579D→024682不允许0开头的偶正整数集合的文法E→NTDT→FTGN→D13579D→2468F→N0G→D0第6题已知文法G:表达式项|表达式+项项因子|项因子因子(表达式)|i试给出下述表达式的推导及语法树。(5)iii(6)iii答案:表达式表达式项因子表达式表达式项因子i项因子i项因子i(5表达式表达式+项表达式+因子表达式+(表达式)
f清华大学第二版编译原理答案
表达式+(表达式+项)表达式+(表达式+因子)表达式+(表达式+i)表达式+(项+i)表达式+(因子+i)表达式+(i+i)项+(i+i)因子+(i+i)i+(i+i)表达式表达式项项因子因子i项因子ii6表达式表达式+项表达式+项因子表达式+项i表达式+因子i表达式+ii项+ii因子+iii+ii第7题证明下述文法G〈表达式〉是二义的。〈表达式〉∷a〈表达式〉〈表达式〉〈运算符〉〈表达式〉〈运算符〉∷答案:可为句子aaa构造两个不同的最右推导最右推导1〈表达式〉〈表达式〉〈运算符〉〈表达式〉〈表达式〉〈运算符〉a〈表达式〉a〈表达式〉〈运算符〉〈r