コード例 #1
0
def load_file(jack_filename):
    jack_file = open(jack_filename, 'r')
    xml_filename = jack_filename.replace('.jack', '.xml')
    xml_file = open(xml_filename, 'a')
    compilation_engine = CompilationEngine(jack_file, xml_file)
    compilation_engine.compile_class()
    compilation_engine.save()
    jack_file.close()
    xml_file.close()
コード例 #2
0
def compile(file_name, analyze):
    vm_name = file_name.parent.joinpath(file_name.stem + VM)
    xml_name = file_name.parent.joinpath(file_name.stem +
                                         XML) if analyze else None

    tokenizer = JackTokenizer(file_name)
    engine = CompilationEngine(tokenizer, vm_name, xml_name)
    print('compiling {file}'.format(file=file_name))
    engine.compile_class()
    engine.write()
    print('Successfully compiled {file} to {output}'.format(file=file_name,
                                                            output=vm_name))
コード例 #3
0
ファイル: jack_analyzer.py プロジェクト: bvargo/csci410
 def analyze(self):
    # for each source filename, compile the class
    for source_filename in self.source_filenames:
       compiler = CompilationEngine(source_filename)
       compiler.compile_class()
コード例 #4
0
    def __init__(self, file_path):
        self.jack_files = self.parse_argv(file_path)

        for jack_file in self.jack_files:
            compiler = CompilationEngine(jack_file)
            compiler.compile_class()