Trailing-Edge
-
PDP-10 Archives
-
decuslib10-06
-
43,50366/recsm2.doc
There are no other files named recsm2.doc in the archive.
REGULAR O SEGUIR UNA TRANSICION ESPONTANEA HASTA DESPUES DEL
PUNTO DOBLE O PUNTO Y COMA MAS CERCANO. CUALQUIER EXPRESION ENTRE
PARENTESIS ES TRATADA COMO UN PREDICADO.
ADEMAS, LA NOTACION "REC" HA SIDO PARTICULARMENTE ESCOGIDA
PARA FACILITAR LA FORMACION DE COMBINACIONES BOOLEANAS DE SUS SUBEX-
PRESIONES. LA COMBINACION "AND" DE LOS PREDICADOS A, B, C...N ES ESCRITA
(ABC...N;)
QUE ES VALIDA PARA CUALQUIER NUMERO DE ELEMENTOS. ASI (;) ES SIEMPRE
UN PREDICADO VERDAD, MIENTRAS QUE A=(A;).
LA COMBINACION "OR" DE ESTOS PREDICADOS PODRIA SER ESCRITA
(A;B;C;...;N;)
DE NUEVO SE CUMPLE PARA CUALQUIER NUMERO DE ELEMENTOS. () ES UN
PREDICADO QUE SIEMPRE ES FALSO.
EL COMPLEMENTO DE UN PREDICADO "X" SE ESCRIBE:
(X)
ASI,SIEMPRE TENEMOS X=((X))
HASTA EL MOMENTO SE HA HABLADO DE OPERADORES Y PREDICADOS
SIN DEFINIR ESPECIFICAMENTE SUS FUNCIONES. ESTA ES UNA DE LAS CARAC-
TERISTICAS QUE DA MAS FLEXIBILIDAD AL LENGUAJE, PUESTO QUE UNA
VEZ QUE SE TIENE LA ESTRUCTURA SE PUEDEN DEFINIR LAS FUNCIONES
DE CADA OPERADOR Y PREDICADO POR MEDIO DE SUBRUTINAS ESCRITAS
EN CUALQUIER LENGUAJE. ASI, SE PUEDEN TENER OPERADORES ARITMETICOS,
MARTRICIALES, PARA MANIPULACION DE SIMBOLOS ETC. EL DOMINIO DE APLI-
CABILIDAD DE "REC" DEPENDE DE LAS FUNCIONES ASIGNADAS A CADA UNO
DE SUS OPERADORES Y PREDICADOS.
RECSM
=======
CON LOS PRELIMINARES ANTERIORES SE DESCRIBIRA UN EJEMPLO
DE APLICACION, A ESTA VERSION SE LE HA DADO EL NOMBRE DE
RECSM (REC SYMBOLIC MANIPULATION), SUS OPERADORES Y PREDICADOS
ESTAN DESTINADOS A LA MANIPULACION DE SIMBOLOS PARA PROGRAMAR
ALGORITMOS DE MARKOV.
DESCRIPCION DE LOS REGISTROS DISPONIBLES EN RECSM.
1) LISTA DE TRABAJO. EN ESTA AREA RESIDE EL TEXTO SOBRE EL
CUAL SE APLICA EL ALGORITMO DE MARKOV. TIENE UNA CAPACIDAD DE
10000 CARACTERES.
2) PUSH DOWN LIST (PDL). ESTA LISTA SIRVE PARA ALMACENAR LOS
ARGUMENTOS DE LOS OPERADORES DE RECSM Y FUNCIONA DE LA SIGUIENTE
MANERA: EL ULTIMO ARGUMENTO DEPOSITADO ES EL PRIMERO EN SALIR. LA
CAPACIDAD DEL PDL ES DE 100 ARGUMENTOS, QUE PUEDEN SER NUMEROS
BINARIOS O CADENAS DE CARACTERES ASCII. EL NUMERO MAXIMO DE CARACTERES
QUE PUEDEN SER ALMACENADOS EN EL PDL ES DE 3000.
3) REGISTROS K (K=0, 1, ...9). ESTOS REGISTROS PERMITEN ALMA
CENAR TEMPORALMENTE UN TEXTO CON UN MAXIMO DE 80 CARACTERES.
LA PARTE DEL TEXTO SOBRE LA CUAL ACTUAN LOS OPERADORES, ESTA
DELIMITADA POR DOS APUNTADORES QUE SE LLAMARAN APUNTADOR "1"
Y APUNTADOR "2". EN EL TEXTO QUE DELIMITAN ESTOS APUNTADORES SIEMPRE SE
INCLUYE EL CARACTER QUE ESTA APUNTADO POR "1" Y SE EXCLUYE EL QUE ESTA
APUNTADO POR "2".
DEFINICION DE SUBRUTINAS
========================
UNA DE LAS PRINCIPALES CARACTERISTICAS QUE DEBE TENER EL
PROCESADOR DE UN LENGUAJE ES SU CAPACIDAD PARA DEFINIR SUBRUTINAS.
ASI. EN RECSM UNA VEZ QUE SE COMPILA UNA EXPRESION "REC", EL PRO-
CESADOR TIENE DOS OPCIONES: EJECUTAR LA EXPRESION RECIEN COMPILADA
O DEFINIRLA COMO UNA SUBRUTINA PARA SER LLAMADA POSTERIORMENTE POR
POR OTRAS SUBRUTINAS O POR EL PROGRAMA PRINCIPAL. LA MANERA DE
DEFINIR UNA EXPRESION "REC" COMO UNA SUBRUTINA CONSISTE EN ESCRIBIR
AL FINAL DE LA EXPRESION, ES DECIR, INMEDIATAMENTE DESPUES DEL UL-
TIMO PARENTESIS DERECHO, EL SIMBOLO "@" Y A CONTINUACION UN SIMBOLO
QUE SERA EL NOMBRE DE LA SUBRUTINA; POR EJEMPLO:
(...(...;..:..)...;..)@X,
DONDE "X" ES CUALQUIERA DE LOS 64 SIMBOLOS DISPONIBLES EN EL TECLADO
DEL TELETIPO DE LA PDP-10. (EXCEPTO ESPACIO, REGRESO DE CARRO, CAMBIO
DE LINEA Y ALTMOD).
DADAS LAS CARACTERISTICAS RECURSIVAS DEL LENGUAJE NADA
IMPIDE DEFINIR SUBRUTINAS RECURSIVAS POR EJEMPLO:
(... @X...;...)@X
AL ESCRIBIR UNA SUBRUTINA RECURSIVA DEBE CUIDARSE QUE ESTA
TENGA UNA CONDICION TERMINAL PUESTO QUE DE OTRA FORMA EL PRO--
GRAMA CAERIA EN UNA RECURSION INFINITA.
SI NO SE DEFINE UNA EXPRESION "REC" COMO SUBRUTINA, ENTON-
CES LA EXPRESION "REC" DEBERA SER SEGUIDA POR EL SIMBOLO "$"
ASI EN GENERAL UN PROGRAMA DEBERA SER ESCRITO CON EL SIGUIENTE
FORMATO:
(....;)@A
(...@A..;..)@X
(....(...@X..) @X...@A....@A)$
CABE MENCIONAR QUE EL COMPILADOR IGNORA ESPACIOS Y CAMBIOS
DE LINEA DE TAL MANERA QUE EL FORMATO PARA ESCRIBIR ES LIBRE.
EL ASPECTO MAS ELEGANTE DEL COMPILADOR "RECSM" ES QUE
ESTA DEFINIDO COMO UNA SUBRUTINA LO CUAL PERMITE LLAMAR AL
COMPILADOR COMO UN PREDICADO DEL LENGUAJE, MAS EXPLICITAMENTE:
SE PUEDE LLAMAR AL COMPILADOR "REC" DESDE UN PROGRAMA "REC" (VER
LA DEFINICION DEL PREDICADO C ). ESTA MISMA CARACTERISTICA ES
APROVECHADA PARA DEFINIR EL COMPILADOR "RECSM" COMO UNA SUBRUTINA
DE FORTRAN LA CUAL PUEDE SER LLAMADA DE LA SIGUIENTE FORMA:
CALL RECSM (IV,ITEXT,IREC)
DONDE LOS ARGUMENTOS SE INTERPRETAN COMO SIGUE:
IV: ES EL VALOR DE LA EXPRESION "REC" EJECUTADA EN LA LLAMADA
ITEXT: ES UN ARREGLO QUE CONTIENE UNA CADENA ASCII DE
CARACTERES QUE SERAN ANEXADOS A LA LISTA DE TRABAJO DEL
PROGRAMA "REC", AL REGRESAR DEL PROGRAMA "REC" ESTE ARREGLO
CONTIENE UNA COPIA DE LA LISTA DE TRABAJO CORRIENTE. EL FIN
DE TEXTO EN EL ARREGLO SE MARCA POR UNA PALABRA CERO.
IREC: ES UN ARREGLO DE DIMENSION APROPIADA PARA EMPACA-
CAR EL PROGRAMA "REC" EN FORMATO A5.
IIIAAAA>>AAA> AA@@@@IIIAAAA>``BaQIF*U*%,