zoukankan      html  css  js  c++  java
  • 编译原理知识总结

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

                

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

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

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

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

          目标代码生成:针对具体设备进行汇编优化等。
  • 相关阅读:
    STM32固件库和自定义工程模板
    STM32存储器映射和寄存器映射
    VScode搭建OpenCV环境
    手写数字识别——基于LeNet-5卷积网络模型
    敏感信息泄露
    Google的高级搜索——Google hack
    session fixation攻击
    认证和会话管理漏洞
    SQLmap
    基于时间型SQL盲注
  • 原文地址:https://www.cnblogs.com/end/p/708465.html
Copyright © 2011-2022 走看看