iscanghai

编译器的结构:

 词法分析器:

  从左到右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。

  将识别出来的单词转换成统一的机内表示——词法单元形式。

  (一词一码,多词一码)

  token:<种别码,属性值>

 语法分析器:

  从词法分析器输出的token序列中识别出各类短语,并构造语法分析树。

  D:声明语句

  T:类型

  IDS:标志序列

语义分析器:

  收集标识符的属性信息,存放在符号表中:

     种属:

      简单变量、复合变量(数组、记录)、过程;

    类型:

      整型、实型、字符型、布尔型、指针型;

    注意: 符号表一般带有一个字符串表(不必划分特定长度的空间用于存储字符串,

        节省存储空间便于管理,字符串表是使用起始地址+偏移地址这样来计算的,

        这样的话,增删改查操作都会简化)。

  语义检查:

 中间代码生成器:

   数字代表指令编号,“j”是jump的缩写,指的是跳转指令。

 机器无关代码优化器:

  代码优化:为改进代码所进行的等价程序变换,使其运行更快、占用空间更小。

    

分类:

技术点:

相关文章:

  • 2021-12-18
  • 2021-12-18
  • 2021-06-17
  • 2021-06-26
  • 2022-01-01
  • 2021-09-10
猜你喜欢
  • 2022-01-10
  • 2021-05-02
  • 2021-11-13
  • 2021-12-18
  • 2022-01-12
  • 2022-12-23
  • 2021-05-31
相关资源
相似解决方案