今年夏天,我正在学习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
:
在继续添加属性之前,我尝试简单地创建这个东西。但是,当我打开并运行我的主文件时,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++一起工作我是分区化的巨大粉丝,希望文件保持清晰。我做错什么了?在
我把类的对象变成字典本身是我的错误吗?当我试图实例化这个东西时,我是否做错了什么?在
你不需要分号在结尾或你的字典。C/C++语法残留物。 您在SymbolTable中的定义需要缩进。在
您得到的退出代码为0,因为您正在运行符号表.py而不是主.py. 在
你呢主.py应该告诉你你的对象符号在哪里。不是内容。 比如:
最后你的数字会被解释成八进制而不是二进制。看看Binary numbers in Python
相关问题 更多 >
编程相关推荐