Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

cobol

cobol Donate now

COBOL bridge for NodeJS which allows you to run COBOL code from NodeJS.

Can I use this on production?

Of course, you can! It's production ready! If you ever did such a thing, ping me (@IonicaBizau). 💥 💫

Installation

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

Press Highlights

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.

Example

// 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!
// => ------------

Documentation

Cobol(input, options, callback)

Runs COBOL code from Node.JS side.

Params

  • 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 with err, stdout and stderr.

How to contribute

Have an idea? Found a bug? See how to contribute.

License

KINDLY © Ionică Bizău–The LICENSE file contains a copy of the license.

Heading image source–Thanks! 🍰

About

📺 COBOL bridge for NodeJS which allows you to run COBOL code from NodeJS.

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /