__setModuleDefault(result, mod);
return result;
};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require('fs');
-const js_tokens_1 = __importDefault(require("js-tokens"));
-const util = __importStar(require("util"));
-let repr = (x) => { return util.inspect(x, { depth: null }); };
-const tokens = Array.from((0, js_tokens_1.default)(`
-import foo from\t 'bar';
-import * as util from 'util';
+var argv = require('minimist')(process.argv.slice(2));
+const parser = __importStar(require("./parser.js"));
+let helpDesc = `
+clo: clo INPUT_FILE --output-js OUTPUT_JS_FILE
+
+\ta little typesetter powered by TypeScript/Javascript.
+## Arguments
+INPUT_FILE\tan input .clo file
-花$非花,霧\\{非霧 。{{foo();}}下
-一句`));
-console.log("RESULT=" + repr(tokens));
+## Parameters
+---
+--output-js\tgenerated the output middle JS file
+`;
+processArgv(argv, helpDesc);
+/**
+ * processing the passed `argv` (arguments)
+ */
+function processArgv(argv, helpDesc) {
+ let inputFile = argv['_'];
+ let outputJSFile = argv['output-js'];
+ let NoInputFile = (inputFile.length == 0);
+ let NoOutputJSFile = (outputJSFile === undefined || outputJSFile == true);
+ let helpTriggered = argv['help'];
+ if (inputFile.length > 1) {
+ console.log("Sorry, the input file should be only one.");
+ }
+ /** output --help */
+ if (helpTriggered || NoInputFile || NoOutputJSFile) {
+ console.log(helpDesc);
+ }
+ else {
+ fs.readFile(inputFile[0], 'utf8', (err, inputText) => {
+ if (err)
+ throw err;
+ let tree = parser.inputTextToTree(inputText);
+ let output = parser.treeToJS(tree);
+ fs.writeFile(outputJSFile, output, (err) => {
+ if (err)
+ throw err;
+ });
+ });
+ }
+}