A high-performance streaming programming language for parallel architecture. This repo (js-version) is created for better using & reading & debugging.


Keywords
stream, Dataflow, parallel-computing
License
MIT
Install
npm install costreamjs@1.0.0

Documentation

COStreamJS

COStream 工具在动态弱类型语言 js 上的部署, 目的是代码模块化 ; 易读 ; 易测试

对实验室其它同学傻瓜式指南:

  1. 首先在ubuntu安装node执行环境
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
nvm install --lts
  1. 接着clone项目并编译执行例子程序wang.cos
git clone https://github.com/DML308/COStreamJS.git
cd COStreamJS
npm install
npm run build
node dist/costream-cli.js example/wang.cos -j4
cd dist/wang
make
./a.out

使用方法

<!-- example.html -->
<script src="https://demo.costream.org/COStreamJS.js"></script>
<script>
    COStreamJS.parser.parse(`int i= 1*2+3;`)
    COStreamJS.main(`...`) // ...处需填入数据流程序
</script>
  • node 版本: npm install -g costreamjs , 然后在命令行执行costreamjs -h即可查看操作指南

例子命令: costreamjs ./example/pipeline.cos -j4 -o ./dist/

开发方法

git clone后执行npm installcnpm installyarn 然后依次执行下列指令

  1. npm run dev 把 js 文件打包至dist/global.js , 该文件会自动热更新
  2. npm run bison 使用jison工具来生成语法分析器至dist/parser.js, 每次修改src/config/parser.jison后都要执行该命令
  3. simple-server 然后访问localhost:3000/dist, 在 Chrome 控制台中输入 parser.parse('int i = 1+2') 即可拿到生成的语法树

环境依赖

node.js 10 以上

进度

  • 代码生成完成
  • 代码生成运行 ok 的用例:
    • wang.cos
    • multiOutputs.cos
    • splitjoinTest.cos

DEMO 试玩地址 https://demo.costream.org