帮帮文库

doc C语言编译器的设计与实现(最终版) ㊣ 精品文档 值得下载

🔯 格式:DOC | ❒ 页数:14 页 | ⭐收藏:0人 | ✔ 可以修改 | @ 版权投诉 | ❤️ 我的浏览 | 上传时间:2022-06-25 15:57

《C语言编译器的设计与实现(最终版)》修改意见稿

1、以下这些语句存在若干问题,包括语法错误、标点使用不当、语句不通畅及信息不完整——“.....每项长度为真值假值在布尔表达式中保存有关布尔变量的真假值指向的指针匹配表的结构,用来与输入缓冲区中的单词进行匹配,匹配表初始化,大小为存放名字存放名字所对应的值,词法分析结果缓冲区,读取二元式的当前字符,当前表达式中的字符,非终结符,算术或布尔表达式加工处理使用的符号栈,算术或布尔表达式使用的缓冲区语法分析加工处理使用的符号栈四元式中空白位置四元式的结构定义指向栈指针指向词法分析缓冲区的指针词法分析中记录单词的长度变量名表指针源程序文件,为结束符源程序行数记数为赋值语句为语句为语句临时变量计数器总是指向下个将要形成的四元式地址,每次执行时......”

2、以下这些语句存在多处问题,具体涉及到语法误用、标点符号运用不当、句子表达不流畅以及信息表述不全面——“.....最后得到第步的状态。第步操作后也是如此,当前状态栈为,根据栈顶状态和现行输入符号查分析表即按第个产生式进行归约由于产生式右部有三项,故去掉状态栈栈顶的三项此时变为新的栈顶状态,再查,的下状态即将状态和文法符号压栈,最后得到第步的状态。三中间代码生成器设计布尔表达式布尔表达式在程序语言中有两个基本作用是用作控制语句如或语句的条件式二是用于逻辑演算,计算逻辑值。布尔表达式是由布尔算符,作用于布尔变量或常数或关系表达式而形成的。关系表达式的形式是,其中是关系符如或,和是算术式。在这里,我们只考虑前面给定文法所产生的布尔表达式,遵照我们的约定,布尔算符的优先顺序从高到低为并假定和都服从左结合规则。所有关系符的优先级都是相同的,而且高于任何布尔算符,低于任何算术算符,关系算符不得结合。表达式的真假出口的确定考虑表达式......”

3、以下这些语句在语言表达上出现了多方面的问题,包括语法错误、标点符号使用不规范、句子结构不够流畅,以及内容阐述不够详尽和全面——“.....整个编译程序分为三部分词法分析部分语法分析处理及四元式生成部分输出显示部分词法分析器设计由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为如下的二元式单词种别,单词自身的值函数说明读取函数词法分析包含从源文件读取字符的操作,但频繁的读文件操作会影响程序执行效率,故实际上是从源程序文件中读取行到输入缓冲区,而词法分析过程中每次读取个字符时则是通过执行从输入缓冲区获得的若缓冲区已被读空,则再执行从中读取下行至输入缓冲区。扫描函数扫描函数的功能是滤除多余空格并对主要单词进行分析处理,将分析得到的二元式存入二元式结果缓冲区。变量处理变量处理中首先把以字母开头的字母数字串存到数组中......”

4、以下这些语句该文档存在较明显的语言表达瑕疵,包括语法错误、标点符号使用不规范,句子结构不够顺畅,以及信息传达不充分,需要综合性的修订与完善——“.....都是按这种状态栈加工方式进行的。例如的分析过程序号真的代码假出口的四元式串。的真出口只有在往回扫描到时才能知道,而它图条件语句的代码结构的假出口则需到处理过并且到达才能明确。这就是说,必须把的值传下去,以便到达相应的时才进行回填。另外,当语句执行完时意味着整个语句也已执行完毕因此,在的编码之后应产生条无条件转移指令。这条转移指令将导致程序控制离开整个语句。但是,在完成的翻译之前,这条无条件转移指令的转移目标是不知道的。甚至,在翻译完之后,这条转移指令的转移目标仍无法确定。这种情形是由于语句的嵌套性所引起的。例如下面的语句在的代码之后的那条无条件转移指令不仅应跨越而且应跨越。这也就是说,转移目标的确定和语句所处的环境密切相关。条件循环语句条件循环语句通常被翻译成图的代码结构。布尔式的真出口出向代码段的第个四元式......”

5、以下这些语句存在多种问题,包括语法错误、不规范的标点符号使用、句子结构不够清晰流畅,以及信息传达不够完整详尽——“.....同时识别语法分析中的语法。在处理和语句时,需要进行真值或假值的拉链和返填工作,以便转移目标的正确填入。控制语句的分析表设计过程如下将扩展文法用∈方法构造项目规范簇为,构造文法中非终结符的集如下得得得,因为,所以在项目规范簇中,只有有移进归约冲突,因为∩∮所以可以用方法解决以上冲突,最后我们得到的分析表如下其中,前列为值,后列为值表示个移进状态即表示出错表示分析成功而对应个归约产生式算术表达式的分析表设计如下过程略语言编译器的设计与实现计算机班号任春妍号陈俊我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器语法分析器和中间代码生成器......”

6、以下这些语句存在多方面的问题亟需改进,具体而言:标点符号运用不当,句子结构条理性不足导致流畅度欠佳,存在语法误用情况,且在内容表述上缺乏完整性。——“.....的假出口将导致程序控制离开整个语句。的假出口目标即使在整个语句翻译完之后也未必明确。例如这种情况仍是由于语句的嵌套性引起的。所以,我们只好把它作为语句的语义值暂留下来,以便在处理外层语句时再伺机回填。语法翻译实现方法将上述语法翻译付诸实现过程中,我们仅保留了算术表达式和布尔表达式翻译的文法和语义动作面对程序语句的翻译,由于改造后含有较多的非终结符且语义动作又相对简单,故仍恢复为改造之前的程序语句文法。由于总体上构造个分析表来实现语法分析及语义加工将使得所构造的分析表过大,所以将其分为下面三部分处理对算术表达式单独处理,即为算术表达式构造个分析表,并将赋值语句与算术表达式归为类处理,处理之后的赋值语句仅看作为程序语句文法中的个终结符。对布尔表达式也单独处理,并为其构造个分析表......”

7、以下这些语句存在标点错误、句法不清、语法失误和内容缺失等问题,需改进——“.....程序语句文法此时变为此时为程序语句构造相应的分析表就简单多了。前面的程序语句文法中所添加的非终结符是为了能及时回填有关四元式转移目标而引入的,在取消了这些非终结符后又如何解决及时回填转移目标的问题呢我们采取的解决方法是增加两个数组和来分别记录语句嵌套中每层布尔表达式如果有的话的首地址以及每层如果有的话之前的四元式地址即无条件转出此层语句的四元式。也即,对程序语句的翻译来说在处理完布尔表达式后,回填或语句的真值链在归约完每个语句之后检查符号栈,看在之前的文法符号是否或,若是则回填假值链假值入口为语句所对应的四元式序列之后对语句,此时已在该序列之在分析过程中,第步操作后的状态栈为,根据栈顶状态和现行输入符号栏字符串的第个字符查分析表即按第个产生式来进行归约由于产生式右部仅含项,故去掉状态栈栈顶此时变为新的栈顶状态,再查......”

8、以下文段存在较多缺陷,具体而言:语法误用情况较多,标点符号使用不规范,影响文本断句理解;句子结构与表达缺乏流畅性,阅读体验受影响——“.....则立即知道也为真因此,的真出口也就是整个的真出口。若为假,则必须被计值,的第个四元式就是的假出口。当然,的真假出口也就是整个的真假出口。类似的考虑适用于对的翻译,我们将和的翻译用下图表示,在自下而上的分析过程中,个布尔式的真假出口往往不能在产生四元式的同时就填上。我们只好把这种未完成的四元式的地址编号作为的语义值暂存起来,待到整个表达式的四元式产生完毕之后再来回填这个未填入的转移目标。条件语句对条件语句中的布尔表达式,其作用仅在于控制对和的选择。因此,作为转移条件的布尔式,我们可以赋予它两种出口是真出口,出向是假出口,出向。于是,的代码条件语句可以翻译成如图的般形式。非终结符具有两项语义值和,它们分别指出了尚待回作。编译程序中语法分析处理及四元式生成部分主要是以二元式作为输入,并通过分析表对语法分析处理过程进行控制......”

9、以下这些语句存在多方面瑕疵,具体表现在:语法结构错误频现,标点符号运用失当,句子表达欠流畅,以及信息阐述不够周全,影响了整体的可读性和准确性——“.....即记录嵌套中每层的布尔表达式的首地址记录语句嵌套层次的数组,即记录每层之前的四元式地址数组指针数组指针五编译程序运行测试测试得源程序如下,经编译程序运行后得到的输出结果如下词法分析得出的相应的名字的号码和他的值列举程序中所有的变量状态栈的移进归约过程最后产生的四元式中间代码布尔表达式的分析表设计如下过程略,,分析表控制语义加工的实现当扫描分析表的当前状态为归约状态时,则在调用与该状态对应的产生式进行归约的同时,调用相应的语义子程序进行有关的翻译工作。现在对分析器的分析栈加以扩充,使得每个文法符号之后都跟着它的语义值。为了清晰起见,我们把这个栈的每项看成由三部分组成状态,文法符号和语义值......”

下一篇
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
1 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
2 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
3 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
4 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
5 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
6 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
7 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
8 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
9 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
10 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
11 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
12 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
13 页 / 共 14
C语言编译器的设计与实现(最终版)
C语言编译器的设计与实现(最终版)
14 页 / 共 14
  • 内容预览结束,喜欢就下载吧!
温馨提示

1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。

2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。

3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。

4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。

5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。

  • 文档助手,定制查找
    精品 全部 DOC PPT RAR
换一批