PL0语言编译器分析实验报告样稿
PL/0 语言编译器分析试验一、试验目标经过阅读和解析一个实际编译器(PL/0语言编译器)源代码,加深对编译阶段(包含词法分析、语法分析、语义分析、中间代码生成等)和编译系统软件结构了解,并达成提升学
PL/0 语言编译器分析试验 一、试验目标 经过阅读和解析一个实际编译器(PL/0语言编译器)源代码,加深对编译阶 段(包含词法分析、语法分析、语义分析、中间代码生成等)和编译系统软件结 构了解,并达成提升学生学习爱好目标。 二、试验要求 (1)要求掌握基础程序设计技巧(C语言)和阅读较大规模程序源代码能力; (2)了解并掌握编译过程逻辑阶段及各逻辑阶段功效; (3)要求能把握整个系统(PL/0语言编译器)体系结构,各功效模块功效,各模 块之间接口; (4)要求能总结出实现编译过程各逻辑阶段功效采取具体算法和技 三、试验汇报 pl/0语言是pascal语言一个子集,我们这里分析pl/0编译程序包含了对pl/0 语言源程序进行分析处理、编译生成类pcode代码,并在虚拟机上解释运行生成 类pcode代码功效。 pl/0语言编译程序采取以语法分析为关键、一遍扫描编译方法。词法分析和 代码生成作为独立子程序供语法分析程序调用。语法分析同时,提供了犯错汇报 和犯错恢复功效。在源程序没有错误编译经过情况下,调用类pcode解释程序解 释实施生成类pcode代码。 词法分析子程序分析: 词法分析子程序名为getsym,功效是从源程序中读出一个单词符号(token), 把它信息放入全局变量sym、id和num中,语法分析器需要单词时,直接从这三个

