1.0.8 • Published 5 years ago
deep-coder-codegen v1.0.8
Generate NodeJS program from DSL
When you're done with DSL code generation, you can use this tool to generate the NodeJS program with TypeScript.
Install CLI tool
This is a prebuilt program let you install into your machine as a command line internface:
$ npm install -g deep-coder-codegen
Generate Code
Next, you need to prepare a sample test file.
Sample test file: samples/sample.dot.json
[
{"input":[[1,3,-5],[-2,4,1]],"output":5},
{"input":[[1,2,3,4,5],[1,0,1,0,1]],"output":9},
{"input":[[-6,5,-4,1,-8],[-8,4,-6,10,4]],"output":70},
{"input":[[9,-3,2],[3,-6,3]],"output":51},
{"input":[[1],[1]],"output":1}
]
Generage a program using deep-coder
$ docker run -it -v $(PWD)/samples:/tmp/ cuongdd1/deep-coder ./generate.sh /tmp/sample.dot.json > program.dot.dsl
Example DSL file: program.dot.dsl
---
a <- read_list
b <- read_list
c <- sum b
d <- zip_with * b a
e <- sum d
---
Run the generator command line with arguments:
$ deep-coder-codegen -o my-app program.dot.dsl samples/sample.dot.json
Test the generated nodejs application
$ cd my-app && npm install && npm test
> deep-coder-autogen@0.1.2 test /Users/cuongdd1/deep-coder-codegen/runable
> node es6run.js
Sample: { input: [ [ 1, 3, -5 ], [ -2, 4, 1 ] ], output: 5 }
- Result: 5 - Output: 5
Sample: { input: [ [ 1, 2, 3, 4, 5 ], [ 1, 0, 1, 0, 1 ] ], output: 9 }
- Result: 9 - Output: 9
Sample: { input: [ [ -6, 5, -4, 1, -8 ], [ -8, 4, -6, 10, 4 ] ],
output: 70 }
- Result: 70 - Output: 70
Sample: { input: [ [ 9, -3, 2 ], [ 3, -6, 3 ] ], output: 51 }
- Result: 51 - Output: 51
Sample: { input: [ [ 1 ], [ 1 ] ], output: 1 }
- Result: 1 - Output: 1