import elna.backend; import elna.ir; import elna.arguments; import std.path; import std.sumtype; import tanya.container.string; import tanya.memory.allocator; import tanya.memory.mmappool; int main(string[] args) { defaultAllocator = MmapPool.instance; return Arguments.parse(args).match!( (ArgumentError argumentError) => 4, (Arguments arguments) { String outputFilename; if (arguments.output is null) { outputFilename = arguments .inFile .baseName .withExtension("o"); } else { outputFilename = String(arguments.output); } return generate(arguments.inFile, outputFilename); } ); }