C语言程序设计-简易模拟编译器

本文介绍了作者使用C语言编写的简易模拟编译器,该编译器旨在理解和模拟Simpletron计算机的工作原理。文章详细阐述了Simpletron的系统功能和原始数据,包括其内存结构、SML指令格式以及三个示例程序。此外,还提到了模拟器的错误检测机制,如语法错误、运行时错误等。程序分为多个功能模块进行设计和调试,最终实现了稳定运行,并能有效报告错误。
摘要由CSDN通过智能技术生成

第一部分: 引言
编译器是计算机不可或缺的一部分,因为有了编译器,计算机才能读懂人类的想法。
编写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语言编写并运行如下程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是盘盘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值