总结

 编译原理是计算机科学与技术中的一门非常重要的专业课,它主要介绍了高级程序设计语言编译程序构造的一般原理、基本设计方法、主要实现技术和一些自动构造工具。这是一门比较难的课程,它主要的难点在于它的概念性和理论性很强,内容丰富且抽象,具有严密的逻辑性。

首先,从总体上来看,一个编译程序主要分为五个部分:词法分析器,语法分析器,语义分析和中间代码的生成器,优化器,目标代码生成器。以上编译过程的五个阶段是编译程序工作时的动态特征。五个模块之间是紧密联系的,是一个完整的过程。

      词法分析中的重点是有穷自动机DFA的生成以及DFA和正规式与正规文法的关系,以及NFA装还成DFA的方法和DFA的化简。词法分析的核心是构建DFA,最后建立一个状态转移表,通过转移的结构来识别词性。

      编译原理这门课主要讲述了两种分析方法,自上而下的分析和自下而上的分析方法。自上而下的分析是从文法符号开始,反复使用各种产生式,寻找匹配于输入符号串的推导。自下而上的分析方法是从输入符号串开始,逐步进行规约到文法符号。自上而下的分析主要就是ll(1)文法,首先要判断某个文法是否是ll(1)文法,如果是ll(1)文法就用其方法进行分析。自下而上的分析主要是算符优先分析和lr分析,两种方法各有优缺点,可根据题目要求进行选择。

      关于语义分析部分,比如书语法指导翻译类型检查部分,其实都是一种完善前面我们学到的抽象语法书的构成。程序的语义确定程序的运行,语义分析的任务就是分析这样的语义。语义分析的重点是其功能,中间代码的生成和语法制导翻译定义与方法。主要是对综合属性和继承属性的分析。

      最后学到的估计也就能应付一下考试,更深层次的还需要自己花更多的时间去实践学习体会,路还很长。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值