emersonbarros / cobaul

COBOL to WebAssembly compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cobaul

Uses GnuCOBOL 2.2.

Usage with Docker

To avoid setting up the compiler environment locally, you can use a pre-built Docker image: xtuc/cobaul:

docker run \
  -e EM_OUT \
  -e EM_ARGS \
  -v /tmp/cobol-worker:/root/.emscripten_cache/ \
  -v $PWD:/worker \
  -v $PWD/build:/build \
  xtuc/cobaul \
  /worker/src/worker.cob

Usage

Compile dependecies:

make all

Compile COBOL to WebAssembly:

./cobaul.sh source.cob

program-id

The program-id should be worker otherwise the program will fail to compile.

Worker API

Set the HTTP status code:

CALL "set_http_status" USING "400".

Set the response body to a string:

CALL "set_http_body" USING "something".

Append a string to the response body:

CALL "append_http_body" USING "something".

Get HTTP form values:

WORKING-STORAGE SECTION.
    01 THE-VALUE PIC S9(9) BINARY.
PROCEDURE DIVISION.
    CALL "get_http_form" USING "key" RETURNING THE-VALUE.

Example

See the example.

About

COBOL to WebAssembly compiler

License:MIT License


Languages

Language:COBOL 41.1%Language:C 17.6%Language:Makefile 14.0%Language:Dockerfile 9.8%Language:Shell 8.9%Language:HTML 8.6%