编译原理简答题

遍:对源程序(包括源程序的中间表示形式)从头到尾扫描一次,并作有关的加工处理,生成新的源程序中间形式或目标程序,这样的过程称为一遍。

上一遍的结果是下一遍的输入,

编译原理复习

编译器的概念模型

字位码、机器语言、汇编语言属于低级语言,而面向用户、面向问题的语言则是高级语言。

低级语言与特定的机器有关,功效高,但是使用复杂、繁琐、易出错。

高级语言不依赖具体机器,移植性好、对用户要求低、易使用、易维护。

用高级语言写的程序,计算机不能立即执行,必须通过一个“翻译程序”加工,转化为与其等价的机器语言程序。这个翻译程序此时就是“编译程序”。

源程序:用汇编语言或高级语言编写的程序。

翻译程序:将源程序转化为目标程序的程序。

目标程序:用目标语言所表示的程序。

Read more

编译原理

词法分析

词法分析的主要任务:

从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型,并将识别出的单词转换成统一的机内表示——词法单元token形式。

token: <种别码,属性值>

e.g. 词法分析后得到的token序列:

输入:while(value != 100) {num++;}

输出:

  1. while < WHILE, - >
  2. ( < SLP, - >
  3. value < IDN, value >
  4. != < NE, - >
  5. 100 < CONST, 100 >
  6. ) < SRP, - >
  7. { < LP, - >
  8. num < IDN, num >
  9. ++ < INC, - >
  10. ; < SEMI, - >
  11. } < RP, - >
Read more
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.