编译原理总结

 在老师的指导下,学习并了解了编译原理。编译原理是计算机专业的一门重要专业课,介绍编译程序构造的一般原理和基本方法。编译程序是把高级语言写成的源程序经过翻译转化成面向机器的代码,编译程序的工作主要分为五个阶段,包括词法分析、语法分析、语义分析和中间代码生成、代码优化和目标代码生成。五个模块之间是紧密联系的,他与我们之前学习高级语言有所不同,是一个完整的过程。

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

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

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

学习编译原理每一章单独学起来的时候感觉还好,但是最后总体在一起复习的时候就感觉很吃力,总是有似懂非懂的感觉,而且编译原理不像别的学科学会一道例题相关的题就都会做了,虽然上课跟着老师学的时候会做,但是自己碰到题目做起来就不那么顺畅了,而且很容易忘。通过复习的时候也发现了自己前期对于这门课的学习没有给与充足的时间,所以自己复习的时候进度很慢,理解起来很费劲,而且效率和质量也不高。通过这学期编译原理的学习,让我学会了编译程序是通过什么样的方法把程序员编写的源程序翻译成计算机能够执行的机器语言的,我觉得这大大加深了我对程序设计的理解,也对计算机的理论和软件编译有了深一步的了解,总之,感觉编译原理的学习与之前的高级语言的学习在很多方面是不同,通过这学期的学习我的收获还是很多的。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值