deep-coder-codegen

deep-coder code generator from DSL program

Usage no npm install needed!

<script type="module">
  import deepCoderCodegen from 'https://cdn.skypack.dev/deep-coder-codegen';
</script>

README

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