Anterior Post
Siguiente Post
JavaScript es manteca en mis manos ;-). Estuve trabajando en mi proyecto CobolScript, compiladr de COBOL a JavaScript, que puede ejecutarse en el navegador o en Node.js.
Agregué soporte de funciones definidaspor el usuario, con parámetros, argumentos a pasar, y hasta variables locales. El primer ejemplo fue el clásico factorial recursivo:
https://github.com/ajlopez/CobolScript/blob/master/samples/factorial/factorial.cob
Pueden ejecutarlo en ese directorio, con la línea de comando:
node run factorial.cob
data division.
working-storage section.
01 n.
procedure division.
perform show-factorial varying n from 1 to 10.
show-factorial local result.
perform factorial using n giving result.
display n "! = " result.
factorial using n local m.
if n = 1 then return n.
subtract 1 from n giving m.
perform factorial using m giving m.
multiply n by m.
return m.
Le agregué nueva sintaxis:
- perform … using … Para llamar a un procedimiento local pasando argumentos.
- <proc> using … El procedimiento declara sus argumentos.
- <proc> local(s) … El procedimiento declara sus variables locales (actualización: removido, ahora hay comando local(s)… directamente en el código del procedimiento).
- perform … giving <var>… Puedo especificar que el valor de retorno del procedimiento (internamente, es una función JavaScript) sea guardado en una o varias variables.
- return (expr) El procedimiento puede retornar en cualquier momento, con un resultado opcional. Me falta implementar el clásico exit de COBOL.
Le agregué soporte de plantillas, páginas web dinámicas, y acceso a objetos JavaScript/Node.js nativos. Pero eso ya es tema para otro post.
Nos leemos!
Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez