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

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

编译系统介绍

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

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

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

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

编译过程

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

编译过程流程图

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容