- -
(2)PL/0 编译程序的语法分析过程 BLOCK 是整个编译过程的核心。这里根
据编译程序的总体流程图,来弄清 BLOCK 过程在整个编译程序中的作用。总
流程图如下列图所示:
PL/0 的编译程序采用一趟扫描方式,以语法分析程序为核心,词法分析程序和代码生
成程序都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当语法分
析
正确需生成相应的目标代码时,那么调用代码生成程序。此外,用表格管理程序建立变量,
常
量和过程标识符的说明与引用之间的信息联系。用出错处理程序对词法和语法分析遇到的
错
误给出在源程序中出错的位置和错误性质。
(3)各功能模块描述
过程或函数名 简要功能说明
- - word.zl-
启动
置初值
调用 getsym 取单词
调用 block 过程
是否为源程序
完毕符
源程序是否有
错误
调用解释过程 interpret
解释执行目标执行目标
程序
完毕
出错
打印错误
N
N
Y
Y
程序
分程序
语句
条件
表达式
项
因子
PL/0 语法调用关系图