Google
 

Trailing-Edge - PDP-10 Archives - bb-kl11i-bm_tops20_v7_0_atpch_1-22 - autopatch/cobold.c15
There are 2 other files named cobold.c15 in the archive. Click here to see a list.
 REP 3/1	;15C1
	SUBTTL	PROCEDURE DIV. SYNTAX SCAN	W.NEELY/CAM/SEB
 WIT
	SUBTTL	PROCEDURE DIV. SYNTAX SCAN	W.NEELY/CAM/SEB/MEM
 INS 5/2	;15C2
	;MEM	4-NOV-85	[1635] Stop putting out an extra start expression 
	;				operator for IF FOO(1:2) EQUALS BAR(1:2)
	;MEM	16-OCT-86	[1631] Add error recovery for when we have dummy datab
	;				 entry
 REP 15/38	;15C3
	P120.2:	SKIPN	TA,TRMLVL	;COMING DOWN FROM HIGHER LEVEL?
 WIT
	P120.2:	MOVEI	TA,OPIF		;[1635] This indicates to PCA94A that we had
		MOVEM	TA,OPRTR+1	;[1635] an AND or OR following an IF
		SKIPN	TA,TRMLVL	;COMING DOWN FROM HIGHER LEVEL?
 INS 41/74	;15C4
		SOS	TA		;[1631]Dummy entry is at 1+@datloc
		CAMN	TA,DATLOC	;[1631]IS IT THE DUMMY ENTRY?
		JRST	P205.3		;[1631]YES - error 
		AOS	TA		;[1631]Restore TA
 REP 54/74	;15C5
		PUSHJ	PP,PCA12.	;Skip to period
 WIT
	P205.3:	PUSHJ	PP,PCA12.	;[1631]Skip to period
 REP 72/145	;15C6
		SKIPN	TC		;[1562] If no current verb
		DMOVE	TC,IMPLOP	;[1562] get it from implop
		DMOVEM	TC,RMOPR	;
	;[1561]	CAIN	TB,OPIF		;Is this an 'IF' clause?
 WIT

	;[1635]  If we have 	IF  FOO(1:2) EQUALS BAR(1:2)
	;[1635]			AND FOO(3:4) EQUALS BAR(3:4)
	;[1635]  then we come here four times for each of the RM. The first time
	;[1635]  OPRTR will be non-zero but the other three times it will be zero.
	;[1635]  We want to put out a '072' for the first RM after a IF, AND or OR.
	;[1635]  If we had an AND or OR then OPRTR+1, and therefore, TB was set to
	;[1635]  OPIF.

		SKIPN	TC		;[1562] If no current verb
		MOVE	TC,IMPLOP	;[1635] get it from implop
		DMOVEM	TC,RMOPR	;
 SUM 252336