条件语句条件50语句
过程调用语句66标识符
当型循环语句7560条件1语句
读语句01标识符-,标识符.
写语句70表达式-,表达式.
字母31045896:;2/7<=>
数字?@AB
. 编译程序的设计思想
在本上机实习中,我们给出用 语言编写的 的编译程序,要求学生先读懂它,
然后再用自己熟悉的高级语言改写它,能力强的同学可以按照所学知识,自行设计实现方案。
. 编译程序的功能
语法分析
对由 / 语言编制的程序作语法分析,确定是否属于 / 语言,同时揭示出程序
的内在结构。
语法错误检查
根据 / 语言的文法规则设置检测手段,通过查错子程序和一些查错语句,报告源程
序出错位置、性质等,直至整个程序结束为止。
生成目标代码
/ 语言的目标代码是建立在一个假想的处理机上,此处理机称为 / 处理机。
执行目标代码
/ 处理机是一种假想的处理机,其目标代码不能在实际的机器上执行,故此编译程
序设置了一个子程序,它对 / 语言的目标代码逐条解释执行,最后得出所需结果。
./ 编译程序的有关过程及函数
在 / 语言的编译文本中,除了常量和变量说明外,共有 A 个相互嵌套或并列的过程
或函数。现对这些过程和函数作扼要说明。
0:其功能是报告 / 源程序的出错信息。 为错误类型号,共可查出 ? 种
错误。
40=::词法分析子程序。其功能为读单词。
405:读字符子程序。它嵌套于读单词子程序中。
40<,=,>,伪代码生成子程序。其功能是根据不同的 <、=、> 生成不同的伪代码。
< 表示指令码,= 表示层差,> 表示位移量或数。
06,,:查错子程序。其功能是检测源程序中的语法错误。
3690/,<,=:分程序处理模块。其功能为对分程序进行处理。60/ 表示层差,
< 表示标识符表的下标,= 是符号集,表示可能出现的符号。
分程序处理模块是整个编译程序的核心,它包含以下的过程和函数。
C009:其功能是造符号表 360。9 表示符号的类型,其取值范围是,
/360,0360,即此子程序对常量、变量和过程造符号表 360,以备检查标识符是
否说明过。
- 4 -