Skip to content

COBOL language compiler to JavaScript, work in progress

License

Notifications You must be signed in to change notification settings

gravitytrope/CobolScript

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CobolScript

COBOL language compiler to Javascript. Work in Progress

Installation

Via npm using (Node.js)[http://nodejs.org]:

npm install cobolscript

Usage

Reference in your program:

var cobolscript = require('cobolscript');

To compile a source code:

var program = cobolscript.compileProgram('display "Hello, world".');

To compile a file:

var program = cobolscript.compileProgramFile('./hello.cob');

To run a compiled program:

program.run(cobolscript.getRuntime());

Some programs need a runtime object that provides helper functions, i.e. display implementation. In the above example, a console-oriented runtime object is obtained.

In web samples, a runtime that uses request, response is used:

http.createServer(function(req, res) {
    program.run(cobs.getRuntime({ request: req, response: res }));
}).listen(8000);

Development

git clone git://github.com/ajlopez/CobolScript.git
cd CobolScript
npm install
npm test

Samples

Hello Simple Hello, world program, without division declarations.

Hello Program Hello, world program, with identification, environment, data and procedure divisions.

Hello Web Hello web page. display output produces page content.

Factorial Factorial console program, using working storage variable, perform with using and giving and local variables for recursion.

Factorial Web Factorial web page.

Local Using local to define a variable, instead of working storage.

Template Console program using a template. CobolScript can be embedded in text.

Template Web Web page using a template.

Web Server Accessing Node.js functions, to start a web server and serves a single page.

Linkage Section Using linkage section to access provided request, response in web page.

Asynchronous Hello Perform and procedure using the new async reserved word.

MySQL Connecting and using a MySQL server.

MySQL Web Connecting and using a MySQL server, generating web pages, listing databases, tables and columns.

Web Site Dynamic site using MySQL server, with customers and suppliers.

To do

  • More Samples
  • Logical operators and expressions
  • IS, NOT
  • Comparison word operators
  • Compute
  • Complex expressions
  • Pictures.
  • File section.
  • Database section.
  • Copy
  • exec sql.

Versions

  • 0.0.1 Published
  • 0.0.2 Under development, in master

References

COBOL Tutorial

COBOL Tutorials

COBOL Programming Standards

Contribution

Feel free to file issues and submit pull requests — contributions are welcome.

If you submit a pull request, please be sure to add or update corresponding test cases, and ensure that npm test continues to pass.

About

COBOL language compiler to JavaScript, work in progress

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%