perm filename PARSE.MS[MEW,AIL] blob sn#091957 filedate 1974-03-19 generic text, type T, neo UTF8

	1) PARSE vs. 2) PARSE[S,AIL]	SRCCOM	03-19-74	02:12	PAGES 1,1

******** PARSE **** PAGE 1
1)	COMMENT ⊗   VALID 00022 PAGES VERSION 17-1(14)
1)	RECORD PAGE   DESCRIPTION
*** PARSE[S,AIL] *** PAGE 1
2)	COMMENT ⊗   VALID 00022 PAGES VERSION 17-1(13)
2)	RECORD PAGE   DESCRIPTION


******** PARSE **** PAGE 2
1)	021  102100000016  ⊗;
1)	COMMENT ⊗
1)	VERSION 17-1(14) 3-17-74 BY RLS INSTALL TENEX
1)	VERSION 17-1(13) 1-11-74 BY JRL CMU CHANGE
*** PARSE[S,AIL] *** PAGE 2
2)	021  102100000015  ⊗;
2)	COMMENT ⊗
2)	VERSION 17-1(13) 1-11-74 BY JRL CMU CHANGE


******** PARSE **** PAGE 15
1)	TENX <
1)		TRNE	PTR,400000	;FOR TENEX, A CONTROL-H INTERRUPT
1)		 JRST	 NOINTR	
1)		 SETZM	 .DBG.	
1)		 SETZM	MULTP
1)		JRST	INTR
1)	>;TENX
1)	NOINTR:	TLNN	PTR,200000
1)		SOSLE	SCBCNT		;AND HAVE WE DONE ENOUGH OF THEM?
*** PARSE[S,AIL] *** PAGE 15
2)	NOINTR:	TLNN	PTR,200000	;IS IT A SCAN BREAK?
2)		SOSLE	SCBCNT		;AND HAVE WE DONE ENOUGH OF THEM?


******** PARSE **** PAGE 16
1)	NOTENX <
1)		CALL6	(A,DDTOUT)	;USED TO BE A CALL 
1)	>;NOTENX
1)	TENX <
1)		HRROI	A,(A)
1)		JSYS	PSOUT
1)	>;TENX
1)		SKIPE	SCNBRK		;DON'T VOLUNTEER STACK ON SCANNER
*** PARSE[S,AIL] *** PAGE 16
2)		CALL6	(A,DDTOUT)	;USED TO BE A CALL 
2)		SKIPE	SCNBRK		;DON'T VOLUNTEER STACK ON SCANNER



	1) PARSE vs. 2) PARSE[S,AIL]	SRCCOM	03-19-74	02:12	PAGES 16,16

******** PARSE **** PAGE 16
1)		PUUO	13,		;Any chars waiting?
1)		 PUUO	1,["#"]		;Prompt.
1)	INN:	PUUO	A		;Get a char from user
1)	;Let debugger know about lowercase.
1)		CAIE	A,"p"		
*** PARSE[S,AIL] *** PAGE 16
2)		INSKIP	A		;ANY CHARS WAITING?
2)		 OUTCHR ["#"]		;NO, TYPE WAITING MESSAGE
2)	INN:	TTCALL	A		;GET A CHAR FROM USER
2)	; let debugger know about lower case
2)		CAIE	A,"p"		


******** PARSE **** PAGE 22
1)	NOTENX <
1)		JUMPGE	D,POSFIL	;MIGHT BE NEGATIVE
*** PARSE[S,AIL] *** PAGE 22
2)		JUMPGE	D,POSFIL	;MIGHT BE NEGATIVE


******** PARSE **** PAGE 22
1)	>;NOTENX
1)	TENX <
1)		EXCH	1,TEMP
1)		EXCH	2,D
1)		MOVE	D+1,C
1)		HRRZI	C,=10
1)		JSYS	NOUT
1)		 JFCL
1)		EXCH	1,TEMP
1)		EXCH	2,D
1)		MOVE	C,D+1
1)		POPJ	P,
1)	>;TENX
1)	DSCR ASCFIL
1)	CAL PUSHJ from routines which create text lines
1)	PAR A is input BP (JFN also legal on TENEX)
1)	 BKR is break char
*** PARSE[S,AIL] *** PAGE 22
2)	DSCR ASCFIL
2)	CAL PUSHJ from routines which create text lines
2)	PAR A is input BP
2)	 BKR is break char


******** PARSE **** PAGE 22
1)	↑ASCFIL:

	1) PARSE vs. 2) PARSE[S,AIL]	SRCCOM	03-19-74	02:12	PAGES 22,22

1)	TENX <
1)		CAMN	TEMP,[-1]	;NOT DOING OUTPUT IF JFN=-1
1)		 POPJ	P,
1)	>;TENX
1)	CAME	A,FILBP
1)		 JRST	 NOARROW		;NOT YET (OR NOT AGAIN)
1)		MOVEI	B,12
1)		PUSHJ	P,ASCDPB	;NO, USE LINEFEED TO
1)	NOARROW:
*** PARSE[S,AIL] *** PAGE 22
2)	↑ASCFIL:CAME	A,FILBP
2)		 JRST	 NOARROW		;NOT YET (OR NOT AGAIN)
2)		MOVEI	B,12
2)		IDPB	B,TEMP		;NO, USE LINE FEED TO
2)	NOARROW:


******** PARSE **** PAGE 22
1)	FDIPB:	PUSHJ	P,ASCDPB		;NO -- STORE THIS ONE
1)		JRST	ASCFIL
1)	NOTENX<
1)	ASCDPB:	IDPB	B,TEMP
1)		POPJ	P,
1)	>;NOTENX
1)	TENX <
1)	ASCDPB:	EXCH	A,TEMP
1)		JSYS	BOUT	;WORKS FOR BYTE PTRS AS WELL AS JFNS
1)		EXCH	A,TEMP
1)		POPJ	P,
1)	>;TENX
1)	; SIXBIT INPUT IN A
*** PARSE[S,AIL] *** PAGE 22
2)	FDIPB:	IDPB	B,TEMP		;NO -- STORE THIS ONE
2)		JRST	ASCFIL
2)	; SIXBIT INPUT IN A