用字典构建汇编程序

2024-04-29 07:25:00 发布

您现在位置:Python中文网/ 问答频道 /正文

今年夏天,我正在学习nand2tetris课程,目前正在进行第6章项目(构建汇编程序)。我选择Python是因为有了这个可爱的字典。问题是我似乎不能正确地工作/创建/访问一个。在遵循本章的API之后,他们为汇编程序推荐了3个不同的类,即Parser类、SymbolTable类和{}类。在

我们制造的机器有以下指定的内存。已经专用于预定义符号的位置。在

因此,对于以下预先分配的内存位置:

SP - (hex 00000, bin 0000000000000000)
LCL - (hex 00001, bin 0000000000000001)
ARG - (hex 00002, bin 0000000000000010)
THIS - (hex 00003, bin 0000000000000011)
THAT - (hex 0004, bin 0000000000000100)
R0-R15 - (hex 000[0-15], bin 000000000000[0-1111])
SCREEN - (hex 04000, bin 0100000000000000)
KBD - (hex 06000, bin 0110000000000000)

我想以这样一种方式创建类,即表本身就是对象,并且在实例化时自然地分配这些{'key': value}对。在

symbolTable.py

^{pr2}$

在继续添加属性之前,我尝试简单地创建这个东西。但是,当我打开并运行我的主文件时,main.py

__author__ = 'Cheech Wife'
import symbolTable
newTable = symbolTable.SymbolTable() 
print newTable

我一无所获:

C:\Python27\python.exe "C:/Users/Cheech Wife/Desktop/cs 271/Assembler_ch6/symbolTable.py"

进程结束,退出代码为0

从我所读到的,文件分离不应该是问题,并且与C++一起工作我是分区化的巨大粉丝,希望文件保持清晰。我做错什么了?在

我把类的对象变成字典本身是我的错误吗?当我试图实例化这个东西时,我是否做错了什么?在


Tags: 文件对象实例内存py字典binhex
1条回答
网友
1楼 · 发布于 2024-04-29 07:25:00

你不需要分号在结尾或你的字典。C/C++语法残留物。 您在SymbolTable中的定义需要缩进。在

您得到的退出代码为0,因为您正在运行符号表.py而不是主.py. 在

你呢主.py应该告诉你你的对象符号在哪里。不是内容。 比如:

最后你的数字会被解释成八进制而不是二进制。看看Binary numbers in Python

相关问题 更多 >