pl0语法分析词法分析语义分析.docVIP

  • 14
  • 0
  • 约3.19万字
  • 约 61页
  • 2024-03-13 发布于天津
  • 举报

作者:love冥天

出处:

PL/0语言是Pascal语言的一个子集,我们这里分析的PL/0的编译程序包括了对PL/0语言源程序进行分析处理、编译生成类PCODE代码,并在虚拟机上解释运行生成的类PCODE

代码的功能。

PL/0语言编译程序接受以语法分析为核心、一遍扫描的编译方法。词法分析和代码

生成作为独立的子程序供语法分析程序调用。语法分析的同时,供应了出错报告和出错恢复的功能。在源程序没有错误编译通过的状况下,调用类PCODE解释程序解释执行生成的类

PCODE代码。

词法分析子程序分析:

词法分析子程序名为getsym,功能是从源程序中读出一个单词符号〔token〕,把它的信

息放入全局变量sym.id和num中,语法分析器需要单词时,直接从这三个变量中获得。

(留意!语法分析器每次用完这三个变量的值就马上调用getsym子程序猎取新的单词供下一次使用。而不是在需要新单词时才调用getsymiS程。〕getsym过程通过反复调用getch子过程从源程序过猎取字符,并把它们拼成单词。getch过程中使用了行缓冲区技术以提

高程序运行效率。

词法分析器的分析过程:调用getsym时,它通过getch过程从源程序中获得一个字

符。假如这个字符是字母,那么连续猎取字符或数字,最终可以拼成一个单词,查保存字表,假如查到为保存

文档评论(0)

1亿VIP精品文档

相关文档