next up previous
Next: About this document ... Up: COMPUTADORAS Y PROCESOS SIMBÓLICOS Previous: El lenguaje Convert, la

REC, Compilador de Expresiones Regulares

Este lenguaje, también diseñado por el Dr. McIntosh, se originó a partir de una solicitud muy explícita: elaborar una prueba de aceptación para una minicomputadora PDP-8 del Centro de Cálculo Electrónico de la UNAM.


El diseño de este lenguaje de programación fue motivado por el deseo de incorporar la iteración en Lisp en una manera axiomática, reformulando el lenguaje y rescatando sus características más importantes.


En la definición de este lenguaje, el autor aprovechó las experiencias adquiridas en los esfuerzos realizados para extender las características del lenguaje Lisp, particularmente los encaminados a dotarle de una aritmética adecuada y de funciones accesorias para manejo de textos.


Para la definición del lenguaje, el autor identificó que la gran mayoría de los procedimientos computacionales consisten de relativamente pocos elementos: una secuencia de operaciones, la selección con base en cálculos intermedios y la repetición de los procedimientos (iteración); y por ello, redujo los elementos de control a cuatro símbolos:



\begin{displaymath}\begin{tabular}{ll}
( & par\'entesis izquierdo \\
: & dos ...
...; & punto y coma\\
) & par\'entesis derecho.\\
\end{tabular}\end{displaymath}


El lenguaje no incluye transferencias incondicionales -ni las tendrá-, no utiliza etiquetas y por ello, se anticipó en una buena medida al concepto de la programación estructurada.


En REC se destina un símbolo para denotar cualquier operación, y se le atribuye un valor lógico que interviene en el control del programa. La secuencia de operaciones se indica concatenando los símbolos correspondientes. Su sintaxis utiliza paréntesis redondos para agrupar los símbolos.


La toma de alternativas en REC, se realiza de acuerdo con el valor de la operación, el valor verdad se emplea para continuar la secuencia y el falso, para romperla y elegir otra opción. Con ``;'' se separan las secuencias alternativas y con ``:'' se indica la repetición de las operaciones desde el principio.


Adicionalmente, permite la definición y el uso de subrutinas. El uso de las subrutinas hacen de REC un lenguaje recursivo y su definición le otorga el carácter iterativo.


Su estructura de control es, como se puede apreciar, fundamental y económica.



\begin{figure}
\centering
\begin{picture}
(250,205)
\put(0,0){\epsfxsize=250pt \...
...\vss}\hss}\special{ps:currentpoint grestore moveto}\ }
\end{picture}\end{figure}

Las primeras aplicaciones matizaron el desarrollo del lenguaje enfilándolo en la dirección del manejo de símbolos, aunque otras direcciones son también posibles.


La versión del lenguaje para la edición de textos tuvo un amplio uso en diferentes aplicaciones, tanto administrativas como científicas y pedagógicas. Principalmente se utiliza para elaborar programas de servicio inclusive, sistemas operativos completos - y generadores de programas de aplicación-.


Después de 20 años de desarrollo del lenguaje, por parte de su autor y de una gran cantidad de sus alumnos entre los que destaca Gerardo Cisneros por sus aportaciones, REC encontró una nueva aplicación, que consistió en ofrecer una opción para compilar Convert.


De esta manera, la exasperante lentitud de los programas en Convert ya no presentó una barrera infranqueable para utilizarlo en múltiples aplicaciones no numéricas.


Y con respecto a la pregunta original, podemos concluir que si bien en los procesos del pensamiento los símbolos y su manejo juegan un papel de primer orden y que las computadoras participan del manejo simbólico desde hace tiempo y cada día lo hacen con mayor intensidad; también es cierto que -como ya lo había percibido la legendaria Lady Lovelace- en el siglo pasado ``sólo pueden realizar aquello que se es capaz de describirles como hacerlo''.


Por lo tanto, cuando las computadoras piensen, -si acaso llegan algún día a hacerlo- será porque el hombre ha desentrañado los procesos del pensamiento y ha sido capaz de describirle a un mecanismo la manera de realizarlos.


next up previous
Next: About this document ... Up: COMPUTADORAS Y PROCESOS SIMBÓLICOS Previous: El lenguaje Convert, la
Microcomputadoras
2000-12-12