zoukankan      html  css  js  c++  java
  • 编译原理--概论

    编译器:源程序-->目标程序,离线offline

    解释器:处理程序的一种程序, 输出的是结果,在线online(把结果打印出来了)

    编译原理集中体现了计算机科学的很多核心思想:算法,数据结构,软件工程

    编译器本身就是很重要的研究领域。

    编译器也可以把功能分为前端,后端。前端可以分为词法分析,语法分析。后端指令生成的部分,指令优化的部分。

    汇编代码--->汇编器-->连接器 


    词法分析 主要作用

    • 字符流--词法分析切分为->记号流
    • C语言,字符流所在的集合是ASCII  JAVA的话是UNICODE
    • 记号流:编译器内部定义的数据结构。

    手工实现方式 :纯手工写代码,相对来说比较复杂,容易出错,目前流行的实现方法是GCC 4.0之后  , LLVM  优点:有一个精确的控制

    • 转移图,转移图算法
    • 标识符的转移图,关键字是标识符的一部分。
    • 关键字表,构造关键字构成的哈希表H

    自动生成器方式 : 快速原型、代码量较少  缺点:较难控制细节


    语法分析器

    记号流--语法分析器->抽象语法树--->语义分析器-->中间代码

  • 相关阅读:
    三维dem
    geoserver 通过代码实现发布地图服务
    restful发布服务
    php防攻击
    redis主从复制
    redis虚拟内存
    redis 持久化
    lamp源码安装
    mysql优化
    php匿名函数与闭包函数
  • 原文地址:https://www.cnblogs.com/zrui513/p/5245626.html
Copyright © 2011-2022 走看看