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
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.