/** * Application interface for disassembler command-line tool. * * Copyright © 2016, Eric Scrivner * * License: Subject to the terms of the MIT license, as written in the included * LICENSE.txt file. * Authors: Eric Scrivner */ module phlogiston.cli.disassembler; import std.file; import std.stdio; import phlogiston.disassembler.disassembler; /// Interface for the disassembler app. class DisassemblerApp { public void execute(string inputFile, string outputFile) { string vmBytes = readText(inputFile); Disassembler disassembler = new Disassembler; auto assemblyCode = disassembler.disassemble(vmBytes); File file = File(outputFile, "w"); foreach (codeLine; assemblyCode) { file.writeln(codeLine); } file.close(); } }