add version
This commit is contained in:
parent
7abc0dbbc4
commit
a5991c4e55
@ -15,6 +15,12 @@ or
|
||||
|
||||
node main.js
|
||||
|
||||
###Flags
|
||||
|
||||
-o=<output_path>
|
||||
-t=<web|node>
|
||||
-nb|--no-beautify
|
||||
|
||||
Result fill write in <lexer.js> file.
|
||||
|
||||
You can test it:
|
||||
|
20
main.js
20
main.js
@ -2,6 +2,8 @@
|
||||
* Created by Aleksey Chichenkov <a.chichenkov@initi.ru> on 1/23/19.
|
||||
*/
|
||||
var js_beautify = require("js-beautify");
|
||||
var args = require("args-parser")(process.argv);
|
||||
|
||||
var fs = require("fs");
|
||||
var exec = require('child_process').exec;
|
||||
|
||||
@ -37,11 +39,21 @@ var post_process_lexer = function (_string) {
|
||||
_string = _string.replace(/yych/gm, "this._yy_char"); // replace yych to this._yy_char
|
||||
|
||||
|
||||
_string = js_beautify(_string, {indent_size: 4, space_in_empty_paren: true});
|
||||
if(args["t"] !== undefined) {
|
||||
switch (args["t"]) {
|
||||
case "web":
|
||||
_string = "(function(){\n" + _string + "return Lexer; \n})";
|
||||
break;
|
||||
case "node":
|
||||
_string += "\n module.exports = Lexer";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var output = "lexer.js";
|
||||
if(process.argv[2]){
|
||||
output = process.argv[2];
|
||||
var output = args["o"] || "lexer.js";
|
||||
|
||||
if( !(args["no-beautify"] || args["nb"]) ) {
|
||||
_string = js_beautify(_string, {indent_size: 4, space_in_empty_paren: true});
|
||||
}
|
||||
|
||||
fs.writeFileSync(output, _string);
|
||||
|
@ -23,6 +23,7 @@
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
"version": "1.1.1"
|
||||
},
|
||||
"args-parser": "^1.1.0",
|
||||
"balanced-match": {
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
|
4
test.js
4
test.js
@ -4,7 +4,7 @@
|
||||
var fs = require("fs");
|
||||
var exec = require('child_process').exec;
|
||||
|
||||
exec("node main.js lexer_test.js", function(err, stdout, stderr) {
|
||||
exec("node main.js -o=lexer_test.js -t=node", function(err, stdout, stderr) {
|
||||
err && console.log("ERROR: ", err);
|
||||
err && process.exit(1);
|
||||
|
||||
@ -24,7 +24,7 @@ var test = function() {
|
||||
(new Lexer("[")).search();
|
||||
(new Lexer("]")).search();
|
||||
(new Lexer("(")).search();
|
||||
(new Lexer(")").search());
|
||||
(new Lexer(")")).search();
|
||||
(new Lexer(":")).search();
|
||||
(new Lexer(",")).search();
|
||||
(new Lexer(".")).search();
|
||||
|
Loading…
Reference in New Issue
Block a user