Ayer, comencé un nuevo proyecto en mi cuenta de GitHub:
https://github.com/ajlopez/CobolScript
Es un compilador que lee COBOL y compila a JavaScript. Es un “work in progress”, pero el clásico “Hello, world” está ya corriendo:
https://github.com/ajlopez/CobolScript/blob/master/samples/hello/hello.cobs
DISPLAY "HELLO, WORLD".
Lo pueden ejecutar escribiendo desde ese directorio en la línea de comando:
node run hello.cobs
Un ejemplo más completo:
https://github.com/ajlopez/CobolScript/blob/master/samples/hellopgm/hello.cob
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. AUTHOR. A.J.LOPEZ. INSTALLATION. TEST. DATE-WRITTEN. 2012-12-22. DATE-COMPILED. 2012-12-22. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. NODE. OBJECT-COMPUTER. NODE. DATA DIVISION. PROCEDURE DIVISION. DISPLAY "HELLO, WORLD".
Ejecutemos en ese directorio:
node run hello.cob
Actualización: pasé los ejemplos de arriba a minúsculas. Me comentaron que los COBOL modernos aceptan mayúsculas y minúsculas, así que voy a tratar de seguir escribiendo ejemplos pero en minúsculas.
Hoy sigo con este trabajo, implementando variantes de verbos como move, add, subtract, etc.. todo escrito usando TDD (Test-Driven Development). Tengo varias cosas que agregar como soporte de formato en los items (“picture”), la file section, y en algún momento, quiero agregar comandos SQL. También pienso poner páginas dinámicas ejecutadas en un servidor web soportado por Node.js. El código está armado de forma tal que también pueda ejecutarse en el navegador.
Nos leemos!
Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez