第一部分: 引言
编译器是计算机不可或缺的一部分,因为有了编译器,计算机才能读懂人类的想法。
编写C语言简易模拟编译器,提高了我对编译器的理解。本文的程序参考来源是
《how to program》第二版第七章的课后练习题。
第二部分:系统功能和原始数据
(1)原始数据
建立一台称为Simpletron的计算机,Simpletron能运行SML机器语言编写的简单的程序。该Simpletron含有一个累加器(一种特殊的寄存器),在进行算术运算时,运算结果都存在累加器中。在simpletron中所有的信息都是按“字”(word)来处理的。每个字都是一个带有符号的四位十进制数,Simpletron中装有100个字的内存,每个字的地址按00单元、01单元,…,99单元来引用。用SML编写的每一条指令都占用Simpletron内存的一个字,指令是带符号的四位十进制数。指令的符号总为正,但数据字可正可负,Simpletron内存中每个单元都含有一个指令,也可能是程序使用的一个数据值,还可能是未被使用的内存区。每条SML指令的前两个位数是操作码,如10表示读入内存操作,则1007表示从键盘读取1个数并把它存在内存单元07中。SML的操作码参见P241表7-2。
(2)系统功能
a. 实现该Simpletron模拟计算机,并且使用SML语言编写并运行如下程