cobol Donate now
COBOL bridge for NodeJS which allows you to run COBOL code from NodeJS.
Of course, you can! It's production ready! If you ever did such a thing, ping me (@IonicaBizau). 💥 💫
Currently GNUCobol is required. If you are using a debian-based distribution you can install it using:
$ sudo apt-get install open-cobol
It would be interesting to fallback into a COBOL compiler written in NodeJS. Contributions are welcome! 😄
Then, install the cobol package.
$ npm i cobol
This project seems to more popular than I expected. 😄 If you wrote or found an article about this project which is not added in this list, add it.
- Calling 1959 from your Web code: A COBOL bridge for Node.js (ArsTechnica, by Sean Gallagher)
- Cobol -- yes, Cobol -- gets a bridge to Node.js (InfoWorld, by Paul Krill)
- Ein COBOL-Plug-in für Node.js (Heise Online, by Alexander Neumann)
- Dit krijg je als je Node.js met COBOL kruist (Webwereld, by Chris Koenis)
- COBOL for Node.js (I Programmer, by Kay Ewbank)
- Nagyon durva: Már COBOL-ból is lehet programozni a Node.js-t (prog.hu, by Sting)
- Micro Focus Updates COBOL for Visual Studio 2015 (eWeek, by Darryl K. Taft)
- Sur GitHub, un projet relie Cobol et Node.js (LeMondeInformatique, by Maryse Gros avec IDG News Service)
// Dependencies var Cobol = require("cobol"); // Execute some COBOL snippets Cobol(function () { /* IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. PROGRAM-BEGIN. DISPLAY "Hello world". PROGRAM-DONE. STOP RUN. */ }, function (err, data) { console.log(err || data); }); // => "Hello World" Cobol(__dirname + "/args.cbl", { args: ["Alice"] }, function (err, data) { console.log(err || data); }); // => "Your name is: Alice" // This will read data from stdin Cobol(function () { /* IDENTIFICATION DIVISION. PROGRAM-ID. APP. *> http://stackoverflow.com/q/938760/1420197 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SYSIN ASSIGN TO KEYBOARD ORGANIZATION LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD SYSIN. 01 ln PIC X(64). 88 EOF VALUE HIGH-VALUES. WORKING-STORAGE SECTION. PROCEDURE DIVISION. DISPLAY "Write something and then press the <Enter> key" OPEN INPUT SYSIN READ SYSIN AT END SET EOF TO TRUE END-READ PERFORM UNTIL EOF DISPLAY "You wrote: ", ln DISPLAY "------------" READ SYSIN AT END SET EOF TO TRUE END-READ END-PERFORM CLOSE SYSIN STOP RUN. */ }, { stdin: process.stdin , stdout: process.stdout }, function (err) { if (err) { console.log(err); } }); // => Write something and then press the <Enter> key // <= Hi there! // => You wrote: Hi there! // => ------------
Runs COBOL code from Node.JS side.
- Function|String|Path
input: A function containing a comment with inline COBOL code, the cobol code itself or a path to a COBOL file. - Object
options: An object containing the following fields: cwd(String): Where the COBOL code will run (by default in the current working directory)args(Array): An array of strings to pass to the COBOL process.stdin(Stream): An optional stdin stream used to pipe data to the stdin stream of the COBOL process.stderr(Stream): An optional stderr stream used to pipe data to the stdin stream of the COBOL process.stdeout(Stream): An optional stdout stream used to pipe data to the stdin stream of the COBOL process.- Function
callback: The callback function called witherr,stdoutandstderr.
Have an idea? Found a bug? See how to contribute.
KINDLY © Ionică Bizău–The LICENSE file contains a copy of the license.
Heading image source–Thanks! 🍰