assembler - Change to use new Opter interface

This commit is contained in:
n loewen 2023-09-23 19:09:56 -07:00
parent 63eb4a9500
commit 9c82265a88
1 changed files with 11 additions and 12 deletions

View File

@ -440,21 +440,20 @@ function assemble(inputFilename, outputToFile, includeMetadata, outputFilename=n
const dbg = new DBG('nitpick'); const dbg = new DBG('nitpick');
// Handle command-line options... // Handle command-line options...
const opts = new Opter(process.argv); const opter = new Opter();
opts.synonymize('-d', '--debug'); opter.addOption('-d', '--debug');
opts.requireOption('-i', 'Input file required (-i prog.asm)'); opter.addOption('-i', '--in', true, true, 1);
opts.requireOptionArgument('-i', 1, 1, 'Input file required (-i prog.asm)'); opter.addOption('-o', '--out', false, true, 1);
opts.requireOptionArgument('-o', 1, 1, 'Missing output file name (-o prog.asm)'); let opts = opter.parse(process.argv);
const inputFilename = opts.opts.i[0]; const inputFilename = opts.in[0];
const outputToFile = opts.contains('-o'); let outputWithMetadata = 'debug' in opts;
let outputWithMetadata = opts.contains('--debug');
// Assemble...! // Assemble...!
if (outputToFile) { if ('out' in opts) {
const outputFilename = opts.opts.o[0]; const outputFilename = opts.out[0];
assemble(inputFilename, outputToFile, outputWithMetadata, outputFilename); assemble(inputFilename, true, outputWithMetadata, outputFilename);
} else { } else {
dbg.setLevel('none'); dbg.setLevel('none');
assemble(inputFilename, outputToFile, outputWithMetadata); assemble(inputFilename, false, outputWithMetadata);
} }