pl0编译器源程序分析.pdfVIP

  • 8
  • 0
  • 约4.07万字
  • 约 29页
  • 2021-08-26 发布于江西
  • 举报
PL/0编译器源程序分析 PL/0 语言是Pascal 语言的一个子集,我们这里分析的PL/0 的编译程序包括了对PL/0 语言源程序进行分析处理、编译生成类 PCODE 代码,并在虚拟机上解释运行生成的类 PCODE代码的功能。 PL/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生 成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错 报告和出错恢复 的功能。在源程序没有错误编译通过的情况下,调用类PCODE解释程序解释执行生成的类 PCODE代码。 词法分析子程序分析: 词法分析子程序名为 getsym,功能是从源程序中读出一个单词符号(token),把它的 信息放入全局变量 sym、id和num 中,语法分析器需要单词时,直接从这三个变量中获得。 (注意!语法分析器每次用完这三个变量的值就立即调用getsym子程序获取新 的单词供下 一次使用。而不是在需要新单词时才调用getsym过程。)getsym过程通过反复调用getch子 过程从源程序过获取字符,并把它们拼成单 词。getch过程中使用了行缓冲区技术以提高程 序运行效率。 词法分析器的分析过程:调用getsym时,它通过getch过程从源程序中获 得一个字

文档评论(0)

1亿VIP精品文档

相关文档