From 9c82265a8885f62017feefc998b06b6e85bd6c69 Mon Sep 17 00:00:00 2001 From: n loewen Date: Sat, 23 Sep 2023 19:09:56 -0700 Subject: [PATCH] assembler - Change to use new Opter interface --- src/assembler.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/assembler.js b/src/assembler.js index ba9bf01..b46080e 100755 --- a/src/assembler.js +++ b/src/assembler.js @@ -440,21 +440,20 @@ function assemble(inputFilename, outputToFile, includeMetadata, outputFilename=n const dbg = new DBG('nitpick'); // Handle command-line options... -const opts = new Opter(process.argv); -opts.synonymize('-d', '--debug'); -opts.requireOption('-i', 'Input file required (-i prog.asm)'); -opts.requireOptionArgument('-i', 1, 1, 'Input file required (-i prog.asm)'); -opts.requireOptionArgument('-o', 1, 1, 'Missing output file name (-o prog.asm)'); +const opter = new Opter(); +opter.addOption('-d', '--debug'); +opter.addOption('-i', '--in', true, true, 1); +opter.addOption('-o', '--out', false, true, 1); +let opts = opter.parse(process.argv); -const inputFilename = opts.opts.i[0]; -const outputToFile = opts.contains('-o'); -let outputWithMetadata = opts.contains('--debug'); +const inputFilename = opts.in[0]; +let outputWithMetadata = 'debug' in opts; // Assemble...! -if (outputToFile) { - const outputFilename = opts.opts.o[0]; - assemble(inputFilename, outputToFile, outputWithMetadata, outputFilename); +if ('out' in opts) { + const outputFilename = opts.out[0]; + assemble(inputFilename, true, outputWithMetadata, outputFilename); } else { dbg.setLevel('none'); - assemble(inputFilename, outputToFile, outputWithMetadata); + assemble(inputFilename, false, outputWithMetadata); }