martes, 21 de octubre de 2008

OpenCobol en Debian / El Editor VIM

Para seguir con la practica de nuestro particular lenguaje, debemos disponer de un editor de texto que se adapte a la originalidad de sus sintaxis.
El editor ideal debería de ser capaz de reconocer las distintas áreas (A, B) que requiere el formato, tener resaltado de sintaxis, herramientas para el auto-completado de sentencias, plegado de código, integración con el debugger y con el compilador, varios niveles de undo, y cientos de otras posibilidades.
Bien, hay muchos de esos editores que soportan estas características. Lo malo es que aun no he encontrado ninguno que funcione bajo Debian en modo consola.
En el foro de OC se han decantado por el uso de Vim y, como yo soy muy vago, me he habituado a el siguiendo los consejos de otros foristas.
Para instalarlo en Debian debemos hacer:

sudo apt-get update
sudo apt-get install vim

Y luego habrá que considerar algunas cosillas para que podamos editar código COBOL en él.
Primero y principal los modos de resaltado de color y formato que corresponde a cada lenguaje vienen en un archivo finalizado en .vim (por ej: c++.vim)
El que nos interesa a nosotros es cobol.vim pero el que viene por defecto en la instalación no es muy útil. Brian Tiffin ha realizado unas modificaciones y puedes bajar de aquí su versión corregida.
Este archivo debe ser copiado en /usr/share/vim/{tu version de vim}/syntax/ realizando primeramente una copia de seguridad del archivo cobol.vim original.
Y para activar el uso del resaltado de sintaxis debemos informarle a vim que lo incluya. Para ello debemos crear (si no lo esta) el archivo .vimrc

cd ~
touch .vimrc
echo syntax enable >> .vimrc

la sentencia "syntax enable" habilitara las funciones de sintaxis al iniciar vim.
.vimrc también nos permitirá otros seteos que colaboraran con la edición cómoda del código COBOL.
Uno muy interesante es el de la autocomplecion de palabras reservadas. Para ello debemos obtener una lista de palabras reservadas contra la cual vim pueda realizar la búsqueda. OC tiene un comando que nos permite obtener esa lista:

cd ~
mkdir .vim
cd .vim
cobc --list-reserved > reserved.lis
cd ~
echo set ignorecase >> .vimrc
echo set inferecase >> .vimrc
echo set complete=k~/.vim/reserved.lis >> .vimrc

Esta opción se activa como una lista desplegable que se genera al escribir las primeras letras de cualquier palabra reservada y presionando CTRL+P (estando en modo INSERT)

De todas formas para quien le interese dejo a su disposición una copia de mi .vimrc con varias modificaciones adicionales (comentadas en el archivo) y del archivo reserved.lst así no hay necesidad de generarlo.

Espero que esta nueva herramienta colabore con nuestro desarrollo en COBOL.




martes, 14 de octubre de 2008

OpenCobol en Debian / Instalacion

Ok, de acuerdo, COBOL es todo un tema para quien se dedica a la informática.
Tan odiado como utilizado, despierta pasiones y discusiones en cualquier lugar donde se hable de el.
Todo lo que voy a decir al respecto es: Si no te interesa, no sigas leyendo.
Punto y aparte.

Partiendo de un sistema Debian 4.0 Etch recién instalado y siguiendo estos simples pasitos, deberíamos tener un entorno de programación retro para practicar la mejor implementación libre de COBOL que conozco: OpenCobol

Vamos a preparar el entorno:
Como siempre
    sudo apt-get update
Instalemos todas la dependencias que OC va a necesitar. Es una linea larga así que darle duro al C&P
    sudo apt-get install build-essential libltdl3 
libgmp3-dev libgmp3c2 libdb4.4 libdb4.4-dev libncurses5
libncurses5-dev
Esto a su vez instalara otros paquetes necesarios para cubrir otras dependencias.
Una vez concluida esta tarea debemos descargar el tar.gz con las fuentes del OC.
A la fecha de publicación de esta nota, OC se encuentra en su versión 1.0.0 y esta a punto de editar la 1.1.0 con importantes mejoras.
A decir verdad la rev 1.0 es bastante incompleta. Y hasta el lanzamiento oficial, Roger While (uno de los desarroladores) publica semanalmente un pre-release en su sitio web.
Por lo tanto, para obtener este archivo y compilarlo debemos hacer:
    en el directorio del usuario:
mkdir temp
cd temp
wget www.sim-basis.de/open-cobol-1.1.tar.gz
tar -zxvf open-cobol-1.1.tar.gz
./configure
make
sudo make install


Para corregir un problema con las librerías de cobol que son instaladas en otros directorios fuera del standard debemos ejecutar:

    $ export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
sudo ldconfig
Hecho todo esto, solo nos queda editar y compilar el famoso Hola Mundo.
Creamos un archivo llamado hola.cob y escribimos lo siguiente en el (recordar que en formato fijo, debemos poner las sentencias empezando en la columna 8)

       IDENTIFICATION DIVISION.
PROGRAM-ID. HOLA.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hola Mundo!".
STOP RUN.


Recuerda, la I de IDENTIFICATION debe estar en la columna 8 !!!!!!!

Para compilarlo y ejecutarlo:
        cobc -x hola.cob
./hola


Y, si todo salio bien, ya podemos empezar a revisar esos programas que hace 20 años escribimos y aggiornarlos a las nuevas sintaxis.

Sugiero tener una pestaña del navegados siempre abierta en el foro de OC Hay muy buena información y muy buena gente rondando por ahí.