def __init__(self, tokenizer): self._name = tokenizer.get_filename().replace('.jack','') # tokenizer for input self._tokenizer = tokenizer # symbol table self._symbols = SymbolTable() # vm output fiole self._writer = VMWriter(self._name + '.vm') # Input should be a tokenized .jack file containing one class assert self._tokenizer.has_more_tokens() self._tokenizer.advance() self._class = None self._subroutine = None self._counter = 0 self.compile_class() self.close()
def __init__(self, symbolTable, tokenizer, filename): self.symbolTable = symbolTable self.tokenizer = tokenizer self.writer = VMWriter(filename) self.lines = list() self.label_count = 0