Google
 

Trailing-Edge - PDP-10 Archives - BB-W661B-BM_1984 - tools/txtunv.rel
There are no other files named txtunv.rel in the archive.
 0qR1PH	 4	 >		
	..TXP==1		
    ..CNS<P>			
    ..TXF==0			
    ..TXB=="^"		
    IFE ..	 TXC-"^",<..TXF==1>
				
	..TXC==ASCII\A\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<	 A>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<A>,\..TXF)>
				
	..TXC==AS	 "CII\R\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<R>)
			IFE..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<R>,\..TXF)>
				
	..TXC==ASCII\S\_-35		
	IFN ..TXB,<IFN ..TXB-	 3..TXC,..CNS(<S>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<S>,\..TXF)>
				 ;	
	..TXC==ASCII\I\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<I>)
		   IFE ..TXB-..T	 DXC,..TXB==0>
	IFE ..TXB,<..TXQ(<I>,\..TXF)>
				
	..TXC==ASCII\N\_-35		
	IFN ..TX	 LB,<IFN ..TXB-..TXC,..CNS(<N>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<N>,	 U\..TXF)>
				
	..TXC==ASCII\G\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<G>)
		   	 ]IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<G>,\..TXF)>
				
	..TXC==ASCII\ \_-35	 f		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(< >)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TX	 nB,<..TXQ(< >,\..TXF)>
				
	..TXC==ASCII\M\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CN	 wS(<M>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<M>,\..TXF)>
				
	..TXC=	 =ASCII\A\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<A>)
		   IFE ..TXB-..TXC,..TXB==	 0>
	IFE ..TXB,<..TXQ(<A>,\..TXF)>
				
	..TXC==ASCII\C\_-35		
	IFN ..TXB,<IFN ..T	 XB-..TXC,..CNS(<C>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<C>,\..TXF)>
	 				
	..TXC==ASCII\R\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<R>)
		   IFE ..TXB-	 !..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<R>,\..TXF)>
				
	..TXC==ASCII\O\_-35		
	IFN .	 *.TXB,<IFN ..TXB-..TXC,..CNS(<O>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<	 2O>,\..TXF)>
				
	..TXC==ASCII\ \_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(< >)
			 ;   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(< >,\..TXF)>
				
	..TXC==ASCII\D\_	 C-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<D>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE .	 L.TXB,<..TXQ(<D>,\..TXF)>
				
	..TXC==ASCII\E\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,.	 T.CNS(<E>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<E>,\..TXF)>
				
	..T	 ]XC==ASCII\F\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<F>)
		   IFE ..TXB-..TXC,..TX	 eB==0>
	IFE ..TXB,<..TXQ(<F>,\..TXF)>
				
	..TXC==ASCII\I\_-35		
	IFN ..TXB,<IFN 	 n..TXB-..TXC,..CNS(<I>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<I>,\..TXF)	 v>
				
	..TXC==ASCII\N\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<N>)
		   IFE ..T	 XB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<N>,\..TXF)>
				
	..TXC==ASCII\I\_-35		
	IF	 N ..TXB,<IFN ..TXB-..TXC,..CNS(<I>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TX	 Q(<I>,\..TXF)>
				
	..TXC==ASCII\T\_-35		
	IFN	..TXB,<IFN ..TXB-..TXC,..CNS(<T>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<T>,\..TXF)>
				
	..TXC==ASCII\	 !I\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<I>)
		   IFE ..TXB-..TXC,..TXB==0>
	IF	 )E ..TXB,<..TXQ(<I>,\..TXF)>
				
	..TXC==ASCII\O\_-35		
	IFN ..TXB,<IFN ..TXB-..TX	 2C,..CNS(<O>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<O>,\..TXF)>
				
		 :..TXC==ASCII\N\_-35		
	IFN ..TXB,<IFN ..TXB-..TXC,..CNS(<N>)
		   IFE ..TXB-..TXC,.	 C.TXB==0>
	IFE ..TXB,<..TXQ(<N>,\..TXF)>
	
    ..TXC1				
    IFN ..TXB,<IFN <..TX	 KB-"^">,<..TXER(PEA)>>
    ..TXEF==..TXEF!..TXEG		
    IFN ..TXEF,<..TERR<PARSING MA	 TCRO DEFINITION>>


DEFINE ..TEXT (C) <

    ..TXF==0				;;SET TOP PROCESSING LEV	 \EL
    ..TXB==0				;;CLEAR THE BREAK CHARACTER
    ..TXP==0				;;CLEAR TEXT PROCESS	 eING FLAG
    ..TXEG==<..TXEF==0>			;;CLEAR ERROR REGISTERS
    IRPC C,<				;;PARSE 	 mTHE STRING
	..TXC==ASCII\C\_-35		;;GET CHARACTER VALUE
	IFN ..TXB,<IFN ..TXB-..TXC,	 v..CNS(<C>)
		   IFE ..TXB-..TXC,..TXB==0>
	IFE ..TXB,<..TXQ(<C>,\..TXF)>>	;;CALL PR	 ~OPER PROCESSOR
    ..TXC1				;;TERMINATE TEXT IF ANY
    IFN ..TXB,<IFN <..TXB-"^">	 ,<..TXER(PEA)>>
    ..TXEF==..TXEF!..TXEG		;;GET ANY ERRORS
    IFN ..TXEF,<..TERR<	 C>>
> ;END OF ..TEXT


;;HERE WHEN BREAK CHARACTER IS NOT SET TO DISPATCH TO
;AP	 PROPRIATE PROCESSOR

DEFINE ..TXQ(C,P) <..TXQ'P(<C>)>


;HERE FOR THE VERY FIRST	   CHARACTER AND FOR EACH CHARACTER
;FOLLOWING THE COLLECTION OF A VALID ARGUMENT

D	 )EFINE ..TXQ0(C) <

    IFN ..TXC-"^",<..TXC0(<C>)>		;;STORE AND INIT TEXT
    IFE 	 1..TXC-"^",<..TXF==1>>		;;UNLESS WE HAVE "^"


;;HERE TO PROCESS THE QUALIFIER

;	 :;MAKE SURE WE HAVE A VALID QUALIFER AND DO SPECIAL CASE
;;CHECK TO ALLOW A QUOTED "^	 B".
;;SETS THE NEXT FUNCTION TO PROCESS WIDTH IF QUALIFIER
;;ACCEPTS ANY ARGUMENTS E	 KLSE FORCES RETURN TO TOP LEVEL.

DEFINE ..TXQ1(C) <

    IFE ..TXC-"^",<..TXC0(<C	 S>)>	;;STORE IF SPECIAL CHARACTER
    IFN ..TXF,<			;;ELSE
	..TXF==0		;;ASSUME TOP L	 \EVEL
	IFDEF .TQCH'C,<		;;IF QUALIFIER IS VALID
	    IFDEF ..TQM'C,..TQM'C ;;EXECUTE	 d MACRO IF DEFINED
	    IFN <.TQCH'C_-^D18>,<..TXF==2>>>
    IFE ..TXF-2,<..TXC1(<C>	 m)	;;CLOSE CURRENT TEXT STRING
	..ICNS			;;CLEAR ACCUMULATED TEXT
	..CNS<..TXA(.TQCH	 u'C,>>	;;SET STRING TO CALL ..TXA MACRO
    ..TXEG==..TXEG!..TXEF>	;;REMEMBER ANY ERR	 ~ORS

^L;HERE TO PROCESS WIDTH

;THIS MACRO APPENDS ALL NUMERIC CHARACTERS TO THE 	 STRING WHICH
;IS BEING ACCUMULATED.  WHEN THE FIRST NON NUMERIC IS ENCOUNTERED
;THE	  JUSTIFICATION PROCESSOR IS CALLED.

DEFINE ..TXQ2(C) <
    ..TXF==3				;;ASSUME J	 USTIFICATION
    IFGE ..TXC-"0",IFLE ..TXC-"9",<..TXF==2>;;UNLESS ARGUMENT IS NUMERI	  C
    IFE ..TXF-2,<..CNS(C)>		;;APPEND NUMERIC ARGUMENT
    IFE ..TXF-3,<..CNS<,>			 (;;ELSE CLOSE WIDTH
		 ..TXQ3(C)>>		;;AND PROCESS JUSTIFICATION


;HERE TO PROCESS	 1 JUSTIFICATION

;STORE JUSTIFICATION ARGUMENT AND SETUP TO PROCESS FILL CHARACTER
	 9;OR PROCESS FIRST ADDRESS DELIMITER

DEFINE	..TXQ3(C) <
    ..TXF==4				;;ASSUME N	 BEXT ARG IS FILL
    IFE ..TXC-"/",<..TXF==5>		;;UNLESS FIRST SLASH
    IFE ..TXC-"[	 J",<..TXF==5>		;;OR ADDRESS DELIMITER
    IFE ..TXF-4,<..CNS<C,>>		;;STORE JUSTIFICAT	 SION ARG
    IFE ..TXF-5,<..CNS<,,>		;;OR CLOSE JUSTIF AND FILL
		 ..TXQ5(C)>>		;;AN	 [D PROCESS DELIMITER


;HERE TO PROCESS FILL CHARACTER

;IF CHARACTER IS NOT ADDR	 dESS DELIMITER WE STORE IT AS THE FILL
;CHARACTER AND SETUP TO PROCESS A SLASH.  IF T	 lHE ARGUMENT IS
;A DELIMITER WE CLOSE THE FILL CHARACTER ARGUMENT AND PROCESS
;IT.
	 u
DEFINE ..TXQ4(C) <
    ..TXF==4				;;ASSUME WE HAVE FILL CHARACTER
    IFE ..TXC-	 }"/",..TXF==5		;;UNLESS IT IS ADDRESS
    IFE ..TXC-"[",..TXF==5		;;DELIMITER
    IF	 E ..TXF-5,<..CNS<,>		;;ELSE CLOSE FILL ARGUMENT
		 ..TXQ5<C>>		;;AND PROCESS DELIMIT	 ER
    IFE ..TXF-4,<..CNS<C,>		;;STORE FILL CHARACTER
		 ..TXF==5>>		;;SET TO PROCE	 SS DELIMITER


^L;HERE TO PROCESS FIRST ADDRESS DELIMITER

;HERE WE SET OUR NEXT	  FUNCTION TO PROCESS FINAL DELIMITER

DEFINE ..TXQ5(C) <
    ..TXF==6				;;SET NEX	 (T FUNCTION
    IFE ..TXC-"/",..TXB=="/"		;;SET FINAL BREAK CHARACTER
    IFE ..TXC-	 0"[",..TXB=="]"
    IFE ..TXB-"]",..CNS<[>		;;STORE START OF LITERAL
    IFE ..TXB,.	 9.TXF==5>			;;IGNORE ANY JUNK


;HERE TO PROCSS FINAL DELIMITER AND BUILD AN ARGUME	 ANT BLOCK

DEFINE ..TXQ6(C) <
    ..TXF==0			;;BACK TO TOP LEVEL
    IFE ..TXC-"]"	 J,..CNS<]>	;;STORE END OF LITERAL
    ..CNS<)>			;;TERMINATE ARGUMENT LIST
    ..GCN	 RS			;;DO THE ..TXA MACRO
    ..TXEG==..TXEG!..TXEF>	;;REMEMBER ANY ERRORS


SUBTT	 [L	ASCII TEXT STRING STORAGE MACRO DEFINITIONS

;HERE TO STORE A CHARACTER IN AN ASC	 cII STRING.  A CHECK IS MADE
;TO ENSURE THAT WE ARE PROCESSING ASCII TEXT.

DEFINE 	 l..TXC0(C) <
    IFE ..TXP,<			;;INITIALIZE TEXT PARSING
	..ICNS			;;CLEAR ACCUMULAT	 tED STRING
	..CNS<ASCIZ\>		;;START ASCIZ LITERAL
	..TXP==1>		;;REMEMBER WE ARE DOING	 } TEXT
    ..CNS<C>			;;APPEND THE CHARACTER
    ..TXF==0			;;BACK TO TOP LEVEL
   	  ..TXB=="^">			;;SET TOP LEVEL BREAK


;HERE TO TERMINATE TEXT PROCESSING AND BUIL	 D TEXT ARGUMENT

DEFINE ..TXC1(C) <

    IFN ..TXP,<			;;IGNORE IF NOT DOING TEXT	 
	..CNS<\>		;;CLOSE ASCIZ LITERAL
	EXP <FLD(.TQCHT,TXT.FN)+[..GCNS]>>;;BUILD THE AR GUMENT
    ..TXP==0>			;;CLEAR TEXT PROCESSING FLAG

	END	"R54	R54hB~R54z.|`/4`	K{`f:SO.c^}.`
	@T$9_.xd%	otT+#R`|U6w_.eV?6etX`dUqRU	UqRUQUqRUfUqRUl`UqRV'UqRV?PkU/`UqRW@PkU1 UqRW7|	PkU2UqRWjUqRWoUqRWoUqRWqUqRWrUqRWrUqRX;pUqRXM	Pb`Gg3P2nP2n(W/rtW/rtP2pP2u	W6K@W6LEW6}uW6 W6yW7eW7(qW7J@W%?	WTI@W*W
W
W	W

WW	W
W
WWWWWW	WW	WWW
W	WWWWPFrWkWmW-Wr	WJW PG(W%W8GW>PH WWz	WW{
W\Wd=
Wpz
Wv-Wx
Wx,W|GW+W:PIo	WQ#WRWRVWR[WR^H@/~XH`^}.h	( &