Google
 

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*%,