Google
 

Trailing-Edge - PDP-10 Archives - DBMS-20_V6.0_bin_9-25-81 - sources/cmlsym.mac
There are 22 other files named cmlsym.mac in the archive. Click here to see a list.
	UNIVERSAL DMLSYM	FOR COBOL 11(460)


;     This software is furnished under a license and may only be used
;       or copied in accordance with the terms of such license.
;
; COPYRIGHT (C) 1974, 1981 BY DIGITAL EQUIPMENT COPRORATION, MAYNARD, MASS.


;THE PURPOSE OF THIS ROUTINE IS DEFINE SYMBOLS USED BY BOTH
;COBOL AND FORDML.
;THERE IS AN ANALOGOUS MODULE CALLED FMLSYM
;WHICH SETS $COB==0.
;THIS COPY (CMLSYM) SETS IT TO 1.

;EDITS
;V10*****************
;NAME	DATE		COMMENTS
;SSC	MAR-5-75	PLACED 6A EDIT %316 DIRECTLY IN V10
;			NOTE THIS IS A NEW MODULE
;********************


	$COB==1

	; EXTERNAL STUFF

	EXTERN ZERO,ONE,TWO,THREE,FOUR,FIVE,SIX
	EXTERN LEXTAB,SYMTAB
	EXTERN NONBL,ANY,BETWEEN
	EXTERN LIN1BP,L1.LEN,LINNBP,LN.LEN,L1.NUM,LN.NUM
	EXTERN EOSBIT,EOFBIT,EOL,NOTEOL,MASKS
	EXTERN ERRCNT,WARNCNT
	EXTERN TYPVEC,TOKVEC,TOKORI,TOKOM1,TOKCNT
	EXTERN RELCHAN,INCHAN,VOKCHAN
	EXTERN RELHDR,INHDR,VOKHDR
	EXTERN RELOPN,VOKOPN,RELENT,VOKENT
	EXTERN SCH.PT,SS.PT,KEY.PT
	EXTERN OBJPTR,VOKPTR,CURN2,ARGWRI,WRIFILL
	EXTERN ERRPTR,SIZONL,SIZTXT			;ONLY FOUND WHEN COBOL
	EXTERN INVSEE,ACCSEE				;INVOKE/ACCESS
	SUBTTL STUFF THAT IS COBOL USED

	;FOR COBOL -- CHANNELS IN P.UNV

	; OFFSETS FOR CHANNEL BLOCK

	OUTINST==1
	BUFPTR==2
	HDR==4
	RING==7

	LOUTMAX==^D63		;CHARS IN STATEMENT FIELD
	SUBTTL VARIOUS MACRO DEFINITIONS

	DEFINE ISTOKEN(TOKEN)<
	  TOK.=0
	  IRP TOKEN,<TOK.=TOK.+1>
	  HLRZ	R0,TOKORI(TOKCUR)
	  MOVEI	R1,TOK.
	  IFG TOK.-1,<
	  CAME R0,[IRP TOKEN,<TOKEN>]-1(R1)
	  SOJG	R1,.-1
	  >
	  IFE TOK.-1,<
	  CAIE	R0,TOKEN
	  MOVEI	R1,0
	  >
	>

	DEFINE IGNORE(TOKEN)<
	HLRZ	R0,TOKORI(TOKCUR)
	CAIN	R0,TOKEN
	ADDI	TOKCUR,1
	>

	DEFINE REQUIRED(TOKEN,ACTION)<
	  IFDIF <TOKEN><EOS>,<
	  HLRZ	R0,TOKORI(TOKCUR)
	  CAIE	R0,$'TOKEN
	  SYNERX	<"TOKEN">,ACTION
	  ADDI	TOKCUR,1
	  >
	  IFIDN <TOKEN><EOS>,<
	  CAME	TOKCUR,TOKCNT		;;LAST TOKEN ALWAYS EOS
	  SYNERX	<"EOS">,ACTION
	  >
	>

	DEFINE ERROR(ERRIDX,REENT,ARGLST)<
	IFNB <ARGLST>,<JRST	[FUNCT	TYPOUT,<ERRIDX,ARGLST>>
	IFB <ARGLST>,<JRST	[FUNCT	TYPOUT,<ERRIDX>>
	IFNB <REENT>,<JRST	REENT>
	IFB <REENT>,<JRST	.+1>
					]
	>

	DEFINE WARNING(ERRIDX,REENT,ARGLST)<		;;JUST FOR DOC
	IFNB <ARGLST>,<JRST	[FUNCT	TYPOUT,<ERRIDX,ARGLST>>
	IFB <ARGLST>,<JRST	[FUNCT	TYPOUT,<ERRIDX>>
	IFNB <REENT>,<JRST	REENT>
	IFB <REENT>,<JRST	.+1>
					]
	>


	DEFINE SYNERX(TEXT,ACTION)<
	  JRST	[MOVEI	TEXTPT,[ASCIZ/TEXT/]
	  IFNB <ACTION>,<
		 SETOM	SUBERR
	  >
		 JRST	TYPERX]
	>

	DEFINE SYNERP(TEXT,ACTION)<
	  JRST	[MOVEI	TEXTPT,[ASCIZ/TEXT/]
	  IFNB <ACTION>,<
		 SETOM	SUBERR
	  >
		 JRST	TYPERP]
	>

	DEFINE OTSERR(ARG,ACTION)<
	  JUMPE	R0,[FILERR	(<ARG>,ACTION)]
	>

	DEFINE ADJUST(REGIS)<
	SUBI	REGIS,1
	LSH	REGIS,1			;;IN OTHER WORDS--DP ARRAY
	>

	DEFINE DOFIND (SURCH)<
	MOVEM	TOKCUR,TC
	MOVEM	TOKCUR,TC.P1
	AOS	TC.P1
	FUNCT	FNDSTR,<TYPVEC,PAMWI,TC,TC.P1,SURCH>
	>

	END