Trailing-Edge
-
PDP-10 Archives
-
decuslib10-06
-
43,50366/recsm3.doc
There are no other files named recsm3.doc in the archive.
CONTENIDO
=========
I) DESCRIPCION DE REC
II) DESCRIPCION DE RECSM
III) LISTA DE OPERADORES DE RECSM
IV) MODO DE OPERACION PARA LA VERSION EN LA PDP-10
V) APENDICE I
VI) APENDICE II
VII) REFERENCIAS
INTRODUCCION
==============
"REC" (REGULAR EXPRESION COMPILER) ES UN LENGUAJE DE PRO-
GRAMACION DESARROLLADO ORIGINALMENTE POR EL DR. H. V. MCINTOSH, PARA
LA COMPUTADORA PDP-8 (DEC), PERO FACILMENTE ADAPTABLE A CUALQUIER
OTRA COMPUTADORA DE PROPOSITO GENERAL. ESTE LENGUAJE HA SIDO IMPLE-
MENTADO EN LA COMPUTADORA PDP-10 DEL INSTITUTO NACIONAL DE ENERGIA
NUCLEAR Y ES USADO EXTENSIVAMENTE EN EL MANEJO DE ARCHIVOS DE DATOS
DEL PROYECTO DE GEOLOGIA, DESARROLLO DE PROGRAMAS PARA LA ADMINISTRA-
CION, EN UN SEMINARIO PARA EL PERSONAL DE PROGRAMA DE GEOLOGIA,
ASI COMO UNA HERRAMIENTA EN LA INVESTIGACION EN TEORIA DE AUTO-
MATAS Y TEORIA DE LENGUAJES DE PROGRAMACION EN EL CENTRO DE COMPUTO
DEL INSTITUTO.
"REC" DERIVA SU NOMBRE DEL HECHO DE QUE LAS COMPUTADORAS PUEDEN
SER CONSIDERADAS COMO MAQUINAS DE TURING, CON MUY ELABORADOS ARTIFICIOS
PARA ELIMINAR LA INEFICIENCIA DE MANIPULAR BITS INDIVIDUALES
EN UNA CINTA LINEAL. UNA MAQUINA DE TURING CONSISTE EN UNA MAQUINA DE
ESTADO FINITO ACTUANDO COMO EL CONTROL DE UNA CINTA DE MEMORIA; Y LAS
MAQUINAS DE ESTADO FINITO SON CONVENIENTEMENTE DESCRITAS POR MEDIO DE
EXPRESIONES REGULARES. LA NOTACION "REC" ES UNA MANERA SIMPLE DE ESCRIBIR
EXPRESIONES REGULARES PARA PROGRAMAR LA MAQUINA DE TURING QUE ELLAS
DESCRIBEN.
DEFINICION DEL LENGUAJE (*)
=======================
SEA W UN ALFABETO QUE POSIBLEMENTE NO CONTENGA LOS SIMBOLOS
DE CONTROL [ (, :, ;, 0, ) ]. ENTONCES SE DEFINE UNA EXPRESIION REC
RECURSIVAMENTE DE LA SIGUIENTE MANERA:
1) L (PALABRA VACIA) ES UNA EXPRESION REGULAR
2) () ES UNA EXPRESION REGULAR
3) SI A PERTENECE AL CONJUNTO [ W, (, :, ;, 0, )] A ES UNA
EXPRESION REGULAR
4) SI A Y B SON EXPRESIONES REGULARES.
AB ES UNA EXPRESION REGULAR.
5) SI A ES UNA EXPRESION REGULAR
(A) ES UNA EXPRESION REGULAR.
LOS SIMBOLOS DE CONTROL SON USADOS DE LA SIGUIENTE MANERA:
UNA PAREJA DE PARENTESIS INDICA UNA EXPRESION QUE A SU VEZ
SE TRATA COMO UNA UNIDAD DE TAL MANERA QUE UNA EXPRESION "REC"
PUEDE FORMAR PARTE DE OTRA EXPRESION "REC" POR EJEMPLO
(...(..(....)..)...)
PUNTO DOBLE [:] SIGNIFICA REPETIR TODO EL PROCESO QUE ANTECEDE
DENTRO DEL NIVEL DE PARENTESIS CORRESPONDIENTE.
PUNTO Y COMA [;] SIGNIFICA TERMINAR LA EJECUCION DENTRO DEL
NIVEL DE PARENTESIS.
PUNTO GRANDE [0] INDICA UNA ELECCION ENTRE CONTINUAR LA
CONCATENACION DE LAS SIGUIENTES EXPRESIONES O PASAR SOBRE TODAS ELLAS
HASTA LA SIGUIENTE EXPRESION DESPUES DEL PROXIMO [:] O [;] DEL
NIVEL DE PARENTESIS.
ESTOS SIMBOLOS CONTROLAN LA SINTAXIS DEL LENGUAJE.
(*) TOMADA DEL ARTICULO ORIGINAL (1) VER APENDICE I.
PUESTO QUE LA INTENCION DE LAS EXPRESIONES "REC" ES CONTROLAR
LA OPERACION DE UNA COMPUTADORA DE PROPOSITO GENERAL, ES DE ESPERARSE
QUE LAS LETRAS DEL ALFABETO "REC" REPRESENTEN OPERACIONES INDIVIDUALES
QUE LA MAQUINA ES CAPAZ DE EJECUTAR. POR ESTA RAZON LAS LETRAS SERAN
LLAMADAS OPERADORES. LAS PALABRAS DEL ALFABETO "REC" CORRESPONDERAN
ENTONCES A SECUENCIAS DE OPERACIONES, LLEVADAS A CABO EN EL ORDEN
DADO. EN CADA LUGAR DE UNA EXPRESION "REC" DONDE [0] OCURRE, SE INDICA LA
POSIBILIDAD DE UNA SELECCION ENTRE DOS ALATERNATIVAS: CONTINUAR LA
SECUENCIA REGULAR, O EMPEZAR UNA NUEVA POR MEDIO DE UNA TRANSICION ES-
PONTANEA. PODRIA PENSARSE ENTONCES QUE EXISTEN OPERADORES ESPECIALES
CUYO PROPOSITO ES HACER ESTA ELECCION. ESTOS OPERADORES SERAN
LLAMADOS PREDICADOS, Y SIEMPRE COMBINARAN EL SIMBOLO [0] IMPLICITAMENTE.
ADEMAS SE DICE QUE UN PREDICADO TOMA UN VALOR FALSO O VERDAD--
SEGUN QUE LA DECISION SEA HECHA PARA CONTINUAR EN LA SECUENCIA
IIIAAAA>>AAA> AA@@@@IIIA*U*