PL/0简单编译系统(一)

2017-01-17  本文已影响0人  Shiyi001

上文中我们介绍了PL/0的文法,接下来我们将介绍一个完整的编译系统各个部分~

编译系统介绍

一个经典的编译程序一般包括7个部分:词法分析,语法分析,语义分析及代码生成,代码优化(可省略),代码执行,符号表管理,出错管理。这7个部分之间的关联关系如下图所示:

编译程序各部分之间的关联关系

在本项目中,整个编译过程被分为了3个部分:

  1. 词法分析将PL/0源代码分为一个个token
  2. 语法分析和语义分析同时进行,生成Pcode(包括符号表管理和出错管理)
  3. 对Pcode进行解释执行,使其在java虚拟机上能够运行

编译过程

整个编译过程如下图所示:

编译过程流程图

由上图我们可以看到,整个编译程序分为四个小部分(词法分析,出错管理,符号表管理,Pcode生成)和一个综合部分(语法分析)。

后面的博客将对这些部分一一介绍~

词法分析
符号表管理
语法和语义分析
Pcode生成
出错管理

上一篇 下一篇

猜你喜欢

热点阅读