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

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

编译系统介绍

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

PL/0简单编译系统(一)_第1张图片
编译程序各部分之间的关联关系

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

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

编译过程

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

PL/0简单编译系统(一)_第2张图片
编译过程流程图

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

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

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

你可能感兴趣的:(PL/0简单编译系统(一))