编译原理知识总结

      最近看ANTLR项目时才发现自己的编译原理知识忘得七七八八了,为了更好的理解它,就把课本重新溜了一遍,顺便总结一下。
      编译程序的逻辑结构:

            

      词法分析:我们的源程序可以看作是一个多行的字符串,这个阶段主要工作是把这些字符串断开成为一个个符合语言意义的词,如 int,i,=。概念好多,主要是文法  G= (V T ,V N  S, P ),然后生成有限自动机:
            

      语法分析:主要是为源程序做语法检查,过程就是分析单词串是否构成短语和句子。明白下个图就可以了
            

      语义分析和中间代码生成:最广泛的静态语义分析方法是语法制导翻译。常用的中间代码有后缀式(逆波兰式)、三元式、四元式和树形等形式。解释器通常用后缀式,编译器则通常用四元式。

      中间代码优化:有局部优化、循环优化和全局优化。主要方法有代码外提、强度削弱、删除归纳变量等。

      目标代码生成:针对具体设备进行汇编优化等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值