Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50366/recsm4.doc
There are no other files named recsm4.doc in the archive.
	ULTIMO LUGAR DEL PDL.


=  (P)  COMPARA LOS DOS ULTIMOS ARGUMENTOS DEL PDL. SI AMBOS SON
	IGUALES RESULTA VERDAD, DE LO CONTRARIO ES FALSO. EL ULTIMO
	ARGUMENTO SE DESCARTA, MIENTRAS QUE EL PENULTIMO QUEDA EN EL PDL


^  (O)  PONE EN EL ULTIMO LUGAR DEL PDL EL ENESIMO ELEMENTO DEL PDL.
	SU ARGUMENTO ES EL NUMERO BINARIO QUE ESTA EN EL ULTIMO LUGAR 
	DEL PDL. EL ARGUMENTO NUMERICO SE PIERDE.


\  (O)  DIVIDE EL PENULTIMO ELEMENTO DEL PDL ENTRE EL ULTIMO. EL RESTO
	DE LA DIVISION QUEDA COMO RESULTADO EN EL ULTIMO LUGAR DEL PDL.


[XXXX]  DEFINE COMENTARIOS DENTRO Y FUERA DE LA EXPRESION "REC". ES
	SUFICIENTE QUE "[" Y "]" ESTEN BALANCEADOS EN EL NIVEL EXTERIOR.
	AMBOS PUEDEN DELIMITARSE POR SEPARADO CON " ".
	MODO DE OPERACION
	=================

	SE SUPONE QUE EL USUARIO DE ESTE PROGRAMA ESTA FAMILI-
RIZADO CON LOS COMANDOS DEL MONITOR DE LA PDP-10.DE OTRA MANERA
PUEDE CONSULTAR EL MANUAL DE USUARIOS DE LA PDP-10. (6)

.R RECSM
ENT>DEV:FILE.EXT[P,P]
*
.EXIT
.
	EN EL CASO DE DAR COMO APARATO DE ENTRADA TTY

.R RECSM
ENT>TTY:
*(...)@X
(...@X...)@A
(...@A...@A...@X...;)$
.EXIT

EN AL APENDICE II SE DAN ALGUNOS EJEMPLOS DE PROGRAMAS ESCRITOS 
EN RECSM.

	APENDICE I
	APENDICE II
"DEMONSTRATOR FOR REC/MARKOV"

"@* - CLEAR THE SCREEN"
(13%TL 10%TL 0%TTTL 29%TL @!31%TL @!;)@*

"@G - GENERATE THE WORKSPACE"
("(!<>)"IL;)@G

"@I - INTERPRETER"
("!"= @J"<"FDL@J"!"FDL"!<"IL;
 "<"= (@J"<"FDL"(<"IL">"FDL">)"IL
       J"!"F"("FL !FDL"<"FDL"!<"IL; L;);
 ">"= (@J"("FDL")"FDL;);
      @J"!"FDL(
 "A"= (@J"<."FDL"!.<"IL;L
       @J"<"FDL"!<"IL;L
       );
 "B"= (@J".<"FDL"<.!"IL;L
       @J"<"FDL"!<"IL;L
       );
 "D"= (@J"<"FL">"ULD@J"<>"FDL"!<>"IL;L;);
 "I"= (@J("<"FDL"!"IL">"FDL;)"<.>"IL;L);
 "J"= (@J"<"FDL"!"IL@J"("FL"<"IL;L);
 "Z"= ((@J"<"FDL"!"IL;;)(@J">"FDL;;)(@J")"FDL"<>)"IL;););
       @J"<"FDL"!<"IL;
       ;);)@I

"@J - SIMULATOR OF J IN @I"
("("(EL;B:);)@J

"@L - CARRIAGE RETURN, LINE FEED"
("
"TL;)@L

"@W - WRITE THE WORKSPACE"
(29%TL@!30%TL@!Y@L;)@W

"@! - DELAY"
(2000$:;)@!

(@* @G @W (X8%TL @IL @W:);)$
"@0 - MAIN SEQUENCE"
(@L"(?,A,B,X)  "TLX
      "?"=L(@L@5(@L"KEY:  "TLX
            "B"=L@B:
            "A"=L@A:
            "J"=L@J:
            "P"=L@P:
            "X"=L;
            :);):
      "A"=L(A:;)@3@1:
      "B"=L(A:;)@4@2:
      "X"=L;
      @L:)@0

"@1 - SEQUENCE FOR ENTERING AN ARTICLE"
(@L
    ("<A>"FL"AUTHOR:    "TL"::"UL@R;)
    ("<T>"FL"TITLE:     "TL"::"UL@R;)
    ("<J>"FL"JOURNAL:   "TL"::"UL@R;)
;)@1

"@2 - SEQUENCE FOR ENTERING A BOOK"
(@L
    ("<A>"FL"AUTHOR:    "TL"::"UL@R;)
    ("<T>"FL"TITLE:     "TL"::"UL@R;)
    ("<P>"FL"PUBLISHER: "TL"::"UL@R;)
    ("<C>"FL"COMMENTS:  "TL"::"UL@R;)
;)@2

"@3 - ARTICLE SKELETON"
("
<A>::
<T>::
<J>::
"IL;)@3

"@4 - BOOK SKELETON"
("
<A>::
<T>::
<P>::
<C>::
"IL;)@4

"@5 - LIST OF INSTRUCTIVE COMMENTS AVAILABLE"
("
-----
A - ENTER AN ARTICLE
B - ENTER A BOOK
J - JOURNAL INFORMATION
P - PUBLISHER INFORMATION
-----
TYPE THE KEY FOR INFORMATION
TYPE X WHEN YOU ARE THROUGH.
"TL;)@5

"@A - INSTRUCTIONS FOR ENTERING AN ARTICLE"
("
TO ENTER AN ARTICLE WE NEED
   - AUTHOR OR AUTHORS
   - TITLE OF ARTICLE
   - JOURNAL INFORMATION
THESE ITEMS WILL BE SOLICITED SEQUENTIALLY BY THE PROMPTER
"TL;)@A

"@B - INSTRUCTIONS FOR ENTERING A BOOK"
("
TO ENTER A BOOK WE NEED
   - AUTHOR
   - TITLE OF BOOK
   - PUBLISHERS INFORMATION
   - OPTIONAL COMMENTS
THIS INFORMATION WILL BE SOLICITED SEQUENTIALLY BY THE PROMPTER
"TL;)@B

"@J - JOURNAL INFORMATION"
("
TO SPECIFY A JOURNAL THE FOLLOWING INFORMATION MUST BE GIVEN:
   - NAME OF THE JOURNAL
   - VOLUME NUMBER
   - INCLUSIVE PAGES
   - YEAR OF PUBLICATION
EXAMPLE: PHYSICAL REVIEW A 10 502-517 (1974)
"TL;)@J


"@L - WRITE CR, LF"
("
"TL;)@L

"@P - PUBLISHERS INFORMATION"
("
TO SPECIFY THE PUBLISHER THE FOLLOWING INFORMATION IS NEEDED:
   - NAME OF THE PUBLISHER
   - PLACE OF PUBLICATION
   - YEAR OF COPYRIGHT OR PUBLICATION
   - (EDITION, PAGES, ETC.)
EXAMPLE:  ACADEMIC PRESS, INC., NEW YORK, 1972
"TL;)@P

"@R - READ AND EDIT INPUT STRING"
((X
   ""=L" "TL(">"E;""TLDB;)L:
   ":"=L" "TL">"(E;D" "TLB:)L:
   ";"=L;
   IL:
     )@L;)@R

"@U - AUTHOR"
("
TYPE AUTHORS NAME IN NORMAL FASHION
SEVERAL AUTHORS ARE SEPARATED BY COMMAS
ENCLOSE LAST NAME OR NAMES IN SLASHES FOR INDEXING
EXAMPLE:  RICHARD MILHOUS /NIXON/
"TL;)@U

(
 "DSKA:BOOKS.DAT""READ"&( 'T' = ; L "WRITE" & "CLOSE" & ;)
L"WRITE"&L
J""FL @0 @L "GOODBYE"TL W;)$

	[******************************************************

	RECCOM

	COMPILADOR DE "RECSM" CODIFICADO EN RECSM

	******************************************************]

 
	[SUBRUTINA PARA INSERTAR]

( I L ; )@I
 
	[SUBRUTINA PARA BUSCAR Y BORRAR UN TEXTO]

( F D L ; L )@F
 
	[SUBRUTINA PARA INSERTAR UNA MARCA.]

(',,' I L A A A ; )@G

	[SUBRUTINA PARA HACER NULA LA LONGITUD DEL CURSOR]

('' E L ; )@J

	[SUBRUTINA PARA COMPILAR COMENTARIOS]

( @T ( @B ']' E L D '>' @I @K @K  ; L : ) ; )@[

	[SUBRUTINA AUXILIAR DE @[. ]

( '	REPEAT 0,<' @I (11$A:;) ; )@T

	[SUBRUTINA PONER ETIQUETAS EN LOS SALTOS POR
	SALIDA FALSA]

( F AAAAA D 0G L ; L )@L

	[SUBRUTINA PARA INSERTAR UN CRLF.]

('
' I L A A ; )@K

	[SUBRUTINA PARA PONER DELIMITADOR DE
	ETIQUETAS PARA MACRO-10.]

(',,' @F ':' @I : ; )@M

 
	[SUBRUTINA PARA LOCALIZAR LA ETIQUETA A LA
	CUAL TIENE QUE ITERAR ":"]

( '..' @I  J @J ',,' U L 1S ; 'ERROR FALTA "("
' T L ; )@H

	[SUBRUTINA PARA LLENAR LA CADENA DE SALIDAS
	FALSAS Y SALIDAS POR ";"]

( @H  ('JRST _@_' @L : ; )  '..'  J @F ;)@X
 
	[SUBRUTINA PARA GENERAR ETIQUETAS]

(  0G A # 1 + D O L B 0S  ; )@E
 
	[SUBRUTINA PARA COMPILAR ";"]

( '	JRST ^^' @I @K @E @G @X ; )@S
 
	[SUBRUTINA PARA COMPILAR ")"]

( @E D @H ( 'JRST ^^' @F 'JRST _@_' @I : ; )
 
'..' J @F  @X  '	JRST _@_' @I @K 0G @G '..' I J @F ; )@R

	[SUBRUTINA PARA CHECAR POR UN NUMERO.]

( '0' M L ':' (M) L ; L )@#

	[SUBRUTINA PARA COMPILAR OPERADOR]

( '	PUSHJ REC,' @I @I @K ;)@O
 
	[SUBRUTINA PARA COMPILAR UN NUMERO.]

( @# @J (  '	PUSHJ REC,LOADAC
 	EXP ^D' @I ( @# ; A : ) ( @# A @J  @B : @J ; )
	 @K A B Q  ; ) ; )@N

	[SUBRUTINA PARA COMPILAR UN OPERADOR CON
	UNA CADENA ASCII DE ARGUMENTOS]

( 'QUOTE'  @O '	ASCIZ '  @I @I 
34% E L @0 @K  ; L 39% E L @1 @K  ; )@Q

	[SUBRUTINAS PARA BALANCEAR QUOTE O COMILLAS.]

( @B ( 34% E L ; L 39% E L @1 @B : L @B : ) ; )@0

( @B  ( 39% E L ; L 34% E L @0 @B : L @B : ) ; )@1

 
	[SUBRUTINA PARA COMPILAR PREDICADO SIMPLE]

( @O '	JRST _@_' @I @K ; )@P

	[SUBRUTINA PARA COMPILAR ":"]

( @H '..' @F '	JRST ' @I 1G @K @E @G @X ; )@D
 
	[SUBRUTINA PARA LEER UN CARACTER DEL APARATO DE ENTRADA.]

( R I L ; )@B

	[SUBRUTINA DE LECTURA PARA EL TTY.]

( Z J D ' ' T L ( X '' =
( ( D B ; L ' ' T L ) ' ' T L T L ; ; ) : I '' = ; L : )
IIIAAAA>>AAA>						AA@@@@IIIAAAA>``*U*9/