1.0.8 • Published 5 years ago

deep-coder-codegen v1.0.8

Weekly downloads
3
License
-
Repository
-
Last release
5 years ago

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