TITLE DMLERR ;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 CORPORATION SEARCH GENDCL,DMLSYM,STRING SEGMEN ;EDITS ;V11**************** ;NAME DATE COMMENTS ;BSM SEP-22-77 [265] IF INVALID PRIVACY KEY, JUST FLAG AS ; WARNING INCASE RUNNING UNDER BATCON ;V10***************** ;NAME DATE COMMENTS ;SSC MAR-5-75 PLACED 6A EDIT %316 DIRECTLY IN V10 ; NOTE THIS IS A NEW MODULE FOR COBOL ;******************** ENTRY TYPOUT IFNDEF $COB,<$COB==0> ;FORDML/COBOL? IFE $COB,> IFN $COB,> IFN $COB,< DEFINE DATA(NAM,SIZ)< EXTERN NAM > > REG(CAP,3) REG(ELEMPT,4) DATA(ERRAREA,16) DATA(ARG.T1) ;COBOL USED ROUTINES MAY NOT HAVE WRITABLE ARGLISTS IFE $COB,< ERRPTR: POINT 7,ERRAREA XWD 16*5,0 DATA(TEMPBP,2) DATA(ARG.T2) ;EVEN THO TURNED OFF FOR COBOL, WILL ENFORCE NON-WRITABLE ARGLSTS DATA(TEMPNO) DATA(NUMAREA) EXP 0 ;MAKE INHERENTLY ASCIZ NUMTXT: POINT 7,NUMAREA XWD 5,5 ;THE WIDTH OF A LINE NUMBER > ;IFE $COB SUBTTL MISC CONSTANTS $FUNCT (DMLERR) ;FORCE HISEG CRLF: ASCIZ/ / ANULL: POINT 7,ZERO XWD 1,1 BLANK: STRIPT < > SUBTTL MESSAGE TEXTS MSG..=0 ;USED IN MESSAG MACRO MSGLIST: IFE $COB,< MESSAG(DMLXIS,<-8,%DMLXIS. EXTRA INPUT SPECS ARE IGNORED.>) MESSAG(DMLXOS,<-8,%DMLXOS. EXTRA OUTPUT SPECS ARE IGNORED.>) MESSAG(DMLFSU,<-1,-7,?DMLFSU. SYMBOL AFTER "FIND" IS UNRECOGNIZABLE.>) MESSAG(DMLELW,<-1,-7,?DMLELW. ENCOUNTERED [,-4,] WHILE ,-2,-2>) MESSAG(DMLASI,<-8,%DMLASI. ALL MEANINGLESS SWITCHES ARE IGNORED.>) MESSAG(DMLWCD,<-7,?DMLWCD. WILD CARDING IN OUTPUT DIRECTORY.>) MESSAG(DMLPAU,<-1,-7,?DMLPAU. PHRASE AFTER "FIND IDENTIFIER" UNRECOGNIZABLE.>) MESSAG(DMLSUM,<[DMLSUM. ,-6, ,-3, ERRORS AND ,-3, WARNINGS.]>) MESSAG(DMLNAM,<-6>) MESSAG(DMLNIS,<-8,%DMLNIS. NO INVOKE SEEN BEFORE FIRST DML STATEMENT.>) MESSAG(DMLOIA,<-7,-1,?DMLOIA. ONLY ONE INVOKE ALLOWED PER PROGRAM-UNIT>) MESSAG(DMLSTL,<-1,-7,?DMLSTL. STATEMENT TOO LONG OR "." MISSING.>) MESSAG(DMLLSN,<-8,%DMLLSN. STATEMENT NUMBER GREATER THAN 99999 -- TRUNCATED.>) MESSAG(DMLLTL,<-8,%DMLLTL. LINE,-3, TOO LONG.>) MESSAG(DMLLSE,<-8,%DMLLSE. LINE SEQUENCE NUMBER ,-3, NOT FOLLOWED BY "TAB">) MESSAG(DMLOPF,<-7,?DMLOPF. OPEN FAILURE FOR ",-5,".>) MESSAG(DMLWNI,<-7,?DMLWNI. WILD-SPEC = NON-WILD-SPEC IS UNDEFINED.>) MESSAG(DMLCFE,<-8,%DMLCFE. DBMS COMMENT FOLLOWED BY IMMEDIATE EOF.>) MESSAG(DMLESP,<-1,-8,%DMLESP. EXTRA SYMBOLS AFTER "* DBMS">) MESSAG(DMLICI,<-8,%DMLICI. ILLEGAL CHARACTER IN INPUT ON LINE,-3>) MESSAG(DMLSIE,<-7,?DMLSIE. SOURCE FILE INPUT ERROR--TRY AGAIN>) > ;END IFE $COB MESSAG(DMLANN,<-7,?DMLANN ALIASED NAME NOT IN SUB-SCEHEMA>) MESSAG(DMLCOS,<-1,-7,?DMLCOS. CANNOT OPEN/LOOKUP SCHEMA FILE ,-6,.>) MESSAG(DMLNSB,<-1,-7,?DMLNSB. NO SCHEMA BLOCK IN .SCH FILE--REBUILD IT>) MESSAG(DMLNWP,<-8,%DMLNWP DATA-NAMES WITHOUT PSEUDONYMS ENCOUNTERED>) MESSAG(DMLSAF,<-7,?DMLSAF SCHEMA ACCESS FAILURE--CHECK SCHEMA FILE BEFORE RETRYING>) MESSAG(DMLSSI,<-1,-7,?DMLSSI. SUB-SCHEMA SPECIFIED NOT IN SCHEMA.>) MESSAG(DMLBDK,<-1,-7,%DMLBDK. BAD PRIVACY KEY GIVEN.>) MESSAG(DMLINP,<-8,%DMLINP. REFERENCED NON-DATA-BASE ITEM ,-6, HAS NO PSEUDONYM>) MESSAG(DMLDUP,<-7,?DMLDUP. DATA BASE NAME ,-6, MULTIPLY DEFINED>) SUBTTL MESSAGE PROCESSOR $FUNCT (TYPOUT,) MOVE CAP,AP MOVE ELEMPT,@MIDX(CAP) ADDI CAP,1 ;UPDATE CUR ARG MOVE ELEMPT,MSGLIST(ELEMPT) ;NOW CONTAINS PTR TO 1ST ELEM OF THE MESSAG MSG.LOOP: MOVE R2,0(ELEMPT) ;GET ELEMENT -- EITHER ADDR OF ASCIZ STRING ;ACTION INDEX (NEGATIVE) ;OR ZERO. END OF MESSAGE JUMPE R2,MSGEND ;ZERO IS END COND JUMPL R2,MSGCASES OUTSTR 0(R2) ;GT 0 IMPLIES PTS AT ASCIZ STRING AOJA ELEMPT,MSG.LOOP MSGCASES: MOVNS R2 JRST @CASVEC(R2) CASVEC: [HALT] CAS1 ;TYPES LINE# AND LINE IN ERROR CAS2 ;TYPES ASCIZ STRING CAS3 ;TYPES A NUMBER (BLANK PADDED) CAS4 ;TYPES TEXT OF TWO TOKENS CAS5 ;USES SCAN TO TYPE FILE BLK CAS6 ;TYPES STRING PTED AT BY STRING PTR CAS7 ;INTERNALLY KEEPS TRACK OF ERRORS CAS8 ;DITTO FOR WARNINGS IFE $COB,< ;MUCH SIMPLER CAS1: DCOPY TEMPBP,LIN1BP COPY TEMPNO,L1.NUM YOYO LINTXT, SKIPE R1,LN.NUM JRST [COPY TEMPNO,R1 DCOPY TEMPBP,LINNBP YOYO LINTXT, JRST .+1] AOJA ELEMPT,MSG.LOOP CAS2: OUTSTR @0(CAP) ADDI CAP,1 AOJA ELEMPT,MSG.LOOP CAS3: COPY ARG.T1,@0(CAP) LINK CNVSTR, OUTSTR NUMAREA ADDI CAP,1 AOJA ELEMPT,MSG.LOOP CAS4: MOVE R1,@0(CAP) CAML R1,TOKCNT ;CAN'T PRINT 2 TOKS IF CUR IS LAST JRST [COPI TOKVEC(R1),BLANK JRST .+1] HRRZ R0,TOKORI(R1) MOVEM R0,ARG.T1 HRRZ R0,TOKVEC(R1) MOVEM R0,ARG.T2 LINK CATSTR, JRST C6END CAS5: SAVE MOVE R1,@0(CAP) MOVE R2,@1(CAP) PUSHJ P,.TOLEB## ;ENTRY WITHIN SCAN TO TYPE FILE SPEC RESTOR ADDI CAP,2 AOJA ELEMPT,MSG.LOOP > ;END IFE $COB CAS6: COPI ARG.T1,@0(CAP) LINK CATSTR, C6END: OUTSTR ERRAREA ADDI CAP,1 AOJA ELEMPT,MSG.LOOP IFE $COB,< CAS7: AOS ERRCNT AOJA ELEMPT,MSG.LOOP CAS8: AOS WARNCNT AOJA ELEMPT,MSG.LOOP > IFN $COB,< CAS1: CAS2: CAS3: CAS4: CAS5: CAS7: CAS8: AOJA ELEMPT,MSG.LOOP > MSGEND: OUTSTR CRLF RETURN SUBTTL ROUTINES NEEDED BY THE MESSAGE CASES IFE $COB,< $YOYO LINTXT, LINK CNVSTR, OUTSTR NUMAREA ;PUT OUT LINE NUMBER LINK FNDCHR, MOVEM R0,TEMPBP+1 ;SET LENGTH BEFORE EOL CHARS LINK CATSTR, OUTSTR [ASCIZ/ /] OUTSTR ERRAREA OUTSTR CRLF RETURN ;$UTIL APPSIX, ; ; MOVEI R0,@SOURCE(AP) ; HRLI R0,440600 ;APP.LP: ; ILDB C1,R0 ; RETURN E,C1 ; ADDI C1,40 ; IDPB C1,TEMPBP ; CAMGE CURLEN,@LENMAX(AP) ; AOJA CURLEN,APP.LP ; RETURN > END