.TITLE CMTAB .IDENT /M03.0/ ; ; COPYRIGHT (C) 1976 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- ; SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY ; OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE ; AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM ; AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. ; ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL ; EQUIPMENT CORPORATION. ; ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. ; ; VERSION M02 ; ; AUTHOR: D. N. CUTLER 15-FEB-76 ; ; MODIFICATIONS ; J. CLEMENT ; added many new commands (DEFINE,FLAGS,ENABLE,HEADER,UNDERLINE..) ; ; Non DSR commands and non standard commands are commented ; ; RUNOFF COMMAND TABLE ; ; LOCAL MACRO DEFINITIONS ; ; The table structure goes as follows: ; CM is a table entry ; CMSUB is a common entry pointing to subentries ; Mandatory characters are in uppercase ; Lowercase chars mark end of abbreviated name ; Each string is preceeded by a string count ; CM strings are terminated by a negative byte plus status bits ; CMSUB strings are terminated by 37. ; ; GENERATE COMMAND TABLE ENTRY ; .MACRO CM EP,NAM,FLAGS .PSECT STRING,LCL,D,RO .BYTE 1$-. .ASCII ^NAM^ 1$: .PSECT DSPTCH,LCL,D,RO .WORD EP .ENDM ; ; Synonym entry (follows regular entry) ; Must not be last entry in a table ; .MACRO SYN NAM,FLAGS .PSECT STRING,LCL,D,RO .BYTE 1$-.+200 .ASCII ^NAM^ 1$: .PSECT DSPTCH,LCL,D,RO .ENDM ; ; Start subtable ; .MACRO CMSUB EP,NAM .PSECT STRING,LCL,D,RO .BYTE 1$-. .ASCII ^NAM^<37> 1$: .psect DSPTCH,lcl,d,ro .WORD EP .ENDM ; ; Macro to set up start of table ; .MACRO CMBEG .PSECT STRING,LCL,D,RO $$$=. .psect DSPTCH,lcl,d,ro .WORD $$$ .ENDM ; ; COMMAND TABLE ; .psect STRING,LCL,D,RO .even COMTAB:: .WORD ACTAB,BCTAB,CCTAB,DCTAB,ECTAB,FCTAB,GCTAB,HCTAB .WORD ICTAB,JCTAB,KCTAB,LCTAB,MCTAB,NCTAB,OCTAB,PCTAB .WORD QCTAB,RCTAB,SCTAB,TCTAB,UCTAB,VCTAB,WCTAB,XCTAB .WORD YCTAB,ZCTAB .PSECT DSPTCH,LCL,D,RO ACTAB: CMBEG CM APNDX,,BRKF!FOTF!NOTF SYN ,BRKF!FOTF!NOTF CMSUB A1, CMSUB A1,<> .WORD 0 ; marks end of table ; ; ; ; If this is changed must change N2A ; .psect STRING,LCL,D,RO A1STR: ; String address this .psect DSPTCH,LCL,D,RO A1: CMBEG CM AUBRK,,FOTF!NOTF CM AUHYP,,FOTF!NOTF CM AUTOP,,FOTF CM AUSTL,,FOTF!RELF SYN ,FOTF!RELF CM AUTTL,,FOTF!RELF .WORD 0 BCTAB: CMBEG CM BGBAR,<B> SYN <EGIN BAR> CM LINSKP,<lANK>,BRKF CM BREAK,<ReAK>,BRKF .WORD 0 ; marks end of table CCTAB: CMBEG CM CLAYOU,<HAPTER LAYOUT>,FOTF!NOTF!LCKF ; Non dsr SYN <HLO>,FOTF!NOTF!LCKF ; Non dsr CM CHPTR,<HaPTER>,BRKF!FOTF!NOTF CM COMNT,<OMMENT> CMSUB C1,<ENTER > CMSUB C1,<ENTRE > CMSUB C1,< > .WORD 0 ; marks end of table C1: CMBEG CM CENTRT,<TEXT>,BRKF!RELF ; Non dsr CM CENTER,<lINE>,BRKF!RELF ; Non dsr CM CENTER,<>,BRKF!RELF ; Non dsr .WORD 0 ; marks end of table DCTAB: CMBEG CM DSAPN,<AX>,FOTF!LCKF CM DSCHP,<CH>,FOTF!LCKF CM DSELE,<LE>,FOTF!LCKF CM DSLEV,<HL>,FOTF!LCKF CM DSNUM,<NM>,FOTF!LCKF CM DSSUBP,<SP>,FOTF!LCKF CM DOINX,<X>,BRKF!FOTF SYN <O INDEX>,BRKF!FOTF CMSUB D2,<ISPLAY > CMSUB D3,<EFINE > CMSUB D1,<ISABLE > CMSUB D1,<> .WORD 0 ; marks end of table ; ; <DISABLE > ; ; If E1 is changed this must be changed also ; D1: .WORD E1STR .WORD DSCBR .WORD DSESC ; Non dsr .WORD DSEQU ; Non dsr .WORD DSHYP .WORD DSINX .WORD DSOVR .WORD DSSUB .WORD DSTOC .WORD DSTAB ; Non dsr .WORD DSUNL .WORD 0 ; marks end of table ; ; <DISPLAY > ; D2: CMBEG CM DSAPN,<APPENDIX>,FOTF!LCKF CM DSCHP,<CHAPTER>,FOTF!LCKF CM DSELE,<ELEMENTS>,FOTF!LCKF CM DSLEV,<LEVELS>,FOTF!LCKF CM DSNUM,<NUMBER>,FOTF!LCKF CM DSSUBP,<SUBPAGE>,FOTF!LCKF .WORD 0 ; marks end of table ; ; <DEFINE > ; D3: CMBEG CM DFCOM,<COMMAND>,FOTF!BRKF!NOTF!TEXF CM DFESC,<ESCAPE>,FOTF!BRKF!NOTF!TEXF ; Non dsr CM DFMAC,<SUBSTITUTE>,FOTF!BRKF!NOTF!TEXF ; Non dsr CM DFSUP,<SUPERSCRIPT>,FOTF!BRKF!NOTF!TEXF ; Non dsr CM DFSUB,<SUBSCRIPT>,FOTF!BRKF!NOTF!TEXF ; Non dsr CM DFVSP,<VARIABLE SPACE>,FOTF!BRKF!NOTF!TEXF ; Non dsr .WORD 0 ; marks end of table ECTAB: CMBEG CM ENBAR,<B> CM ECENT,<CN>,BRKF ; Non dsr CM FOOTE,<FN> CM ELIPS,<LLiPSES>,FOTF ; Non dsr CM ELIST,<LS>,BRKF ELCMD:: CM ELTRL,<Li>,BRKF CMSUB E1,<NABLE > CM ENDIF,<NDIF> CMSUB E2,<ND > CM ENOTC,<N>,BRKF CM ENDEQ,<SEQ>,BRKF!FOTF!NOTF ; Non dsr CM PAGEC,<S>,BRKF!FOTF CM ENTEX,<TX>,BRKF!FOTF!NOTF ; Non dsr CMSUB E1,<> .WORD 0 ; marks end of table ; ; <ENABLE > ; .psect STRING,LCL,D,RO E1STR: ; String address this .psect DSPTCH,LCL,D,RO E1: CMBEG CM ENCBR,<BAR> SYN <BB> CM ENESC,<EScAPE> ; Non dsr CM ENEQU,<EQuATION>,FOTF ; Non dsr CM ENHYP,<HYpHENATION>,BRKF CM ENINX,<INDEXING> SYN <IX> CM ENOVR,<OVeRSTRIKING> CM ENSUB,<SUBSTITUTION> ; Non dsr SYN <SST> ; Non dsr CM ENTAB,<TABS> ; Non dsr SYN <TB> ; Non dsr CM ENTOC,<TOC> SYN <TC> CM ENUNL,<UNdERLINING> CM ENALV,<LEvELS>,FOTF!RELF!LCKF ; Non dsr .WORD 0 ; marks end of table ; ; <END > ; E2: CMBEG CM ENBAR,<BAR> CM ECENT,<CENTER>,BRKF ; Non dsr CM FOOTE,<FOOTNOTE> CM ELIST,<LIST>,BRKF CM ELTRL,<LITERAL>,BRKF CM ENOTC,<NOTE>,BRKF CM ENDEQ,<SEPARATED EQUATION>,BRKF!FOTF!NOTF; Non dsr CM PAGEC,<SUBPAGE>,BRKF!FOTF CM ENTEX,<TEXT>,BRKF!FOTF!NOTF ; Non dsr CM ENDTOC,<TOC>,BRKF!FOTF ; Non dsr .WORD 0 ; marks end of table FCTAB: CMBEG CM FIGDF,<GD>,BRKF!FOTF!TEXF!NOTF SYN <IGURE DEFERRED>,BRKF!FOTF!TEXF!NOTF CM FIGUR,<G>,BRKF!FOTF!TEXF SYN <IGURE>,BRKF!FOTF!TEXF CM FTITL,<IRST TITLE>,FOTF SYN <T>,FOTF CM FILLN,<iLL>,BRKF CM FOOTN,<N>,FOTF!TEXF SYN <OOTNOTE>,FOTF!TEXF CMSUB F1,<LAGS > CMSUB F1,<L > .WORD 0 ; marks end of table ; ; <FLAGS > or <FL > ; ; If this table is changed N2B must be changed also ; .psect STRING,LCL,D,RO F1STR: ; String address this .PSECT DSPTCH,LCL,D,RO F1: CMBEG CM ENACFL,<ACCEPT>,FOTF CM ENBRFL,<BREAK>,FOTF CM ENCFL,<CAPITALIZE>,FOTF CM ENNFL,<CONTROL>,FOTF CM ENEFL,<ESCAPE>,FOTF ; Non dsr CM FLEQU,<EQUATION>,FOTF ; Non dsr CM ENHFL,<HYPHENATE>,FOTF CM ENIFL,<INDEX>,FOTF CM ENLFL,<LOWERCASE>,FOTF CM ENOFL,<OVERSTRIKE>,FOTF CM ENQFL,<SPACE>,FOTF CM ESPFL,<SPECIAL>,FOTF ; Non dsr CM ENSIFL,<SUBINDEX>,FOTF CM ENSBFL,<SUBSTITUTE>,FOTF CM ENUFL,<UNDERLINE>,FOTF CM ENSFL,<UPPERCASE>,FOTF CM ENAFL,<ALL>,FOTF CM ENAFL,<>,FOTF .WORD 0 ; marks end of table HCTAB: CMBEG CM HSPSW,<ALF SPACING>,NOTF!FOTF!TEXF ; Non dsr CM HEADR,<L>,BRKF!FOTF!NOTF CM ENHYP,<YpHENATION>,BRKF ; NON STANDARD CMSUB H1,<EADER > CMSUB H1,<D > .WORD 0 ; marks end of table ; ; <HEADER > ; H1: CMBEG CM HEADR,<LEVEL>,BRKF!FOTF!NOTF!RELF CM HNOPG,<NO PAGE>,FOTF!LCKF ; Non dsr CM HPAGE,<PAGE>,FOTF!LCKF ; Non dsr CM HEDSP,<SPaCING>,FOTF!LCKF ; Non dsr CM HEADU,<UPPER>,FOTF!LCKF CM HEADL,<LOWER>,FOTF!LCKF CM HEADM,<MIXED>,FOTF!LCKF CM HEADP,<>,FOTF!LCKF ; Non dsr .WORD 0 ; marks end of table ICTAB: CMBEG CM IFNOT,<F NOT> CM IF,<F> CM TSTPG,<MMEDIATE TEST PAGE>,BRKF!TEXF ; Non dsr SYN <TP>,BRKF!TEXF ; Non dsr CM TSTTX,<MMEDIATE TEST TEXT>,BRKF!TEXF ; Non dsr SYN <TT>,BRKF!TEXF ; Non dsr CM INDLV,<NDENT LEVELS>,FOTF!LCKF ; Non dsr CM INDENT,<nDENT>,BRKF CM INDEX,<NDEX> .WORD 0 ; marks end of table JCTAB: CMBEG CM JUSTN,<uSTIFY>,BRKF .WORD 0 ; marks end of table KCTAB: CMBEG CM KEEPN,<eEP> .WORD 0 ; marks end of table LCTAB: CMBEG CM LSTEL,<E>,BRKF!FOTF CM LAYOU,<AYOUT>,BRKF!FOTF!LCKF SYN <O>,BRKF!FOTF!LCKF CM LSTEL,<IST ELEMENT>,BRKF!FOTF CM LISTC,<S>,BRKF!FOTF SYN <IST>,BRKF!FOTF CM LWCAS,<C> SYN <OWER CASE> CM SETLM,<M>,BRKF!RELF SYN <EFT MARGIN>,BRKF!RELF CM INDENT,<eFT>,BRKF CM LITRL,<ITeRAL>,BRKF!FOTF!NOTF SYN <T>,BRKF!FOTF!NOTF CM LOCKP,<OCK>,FOTF!LCKF!NOTF!LCKF ; Non dsr .WORD 0 ; marks end of table NCTAB: CMBEG CM NAPDX,<MAX>,RELF!FOTF CM NCHPT,<MCH>,RELF!FOTF CM NUMON,<M>,RELF!FOTF ; NON STANDARD CM NLEVL,<MLV>,RELF!FOTF CM NULST,<MLS>,RELF!FOTF CM NUMON,<MPG>,RELF!FOTF CM NSPAG,<MSPG>,RELF!FOTF CM NUMOF,<NM>,FOTF!LCKF CM NOTE,<T>,BRKF!NOTF SYN <OTE>,BRKF!NOTF CM DSCFL,<FC>,FOTF ; NON STANDARD CM DSHFL,<FH>,FOTF ; NON STANDARD CMSUB N1,<UMBER > CMSUB N2,<O > CMSUB N2,<> .WORD 0 ; marks end of table ; ; <NUMBER > ; N1: CMBEG CM NAPDX,<APPENDIX>,RELF!FOTF CM NCHPT,<CHAPTER>,RELF!FOTF CM NLEVL,<LEVEL>,RELF!FOTF CM NULST,<LIST>,RELF!FOTF CM NUMON,<PAGE>,RELF!FOTF CM NSPAG,<SUBPAGE>,RELF!FOTF CM NUMON,<>,RELF!FOTF ; NON STANDARD .WORD 0 ; marks end of table ; ; <NO > ; N2: CMBEG CMSUB N2A,<AUTO> CMSUB N2A,<A> CM NELIP,<ELLiPSES>,FOTF ; Non dsr CM FILOF,<FiLL>,BRKF CM NHSPSW,<HALF SPACING>,FOTF!NOTF!TEXF ; Non dsr CM NHEAD,<HEADER>,FOTF!LCKF SYN <HD>,FOTF!LCKF CM DSHYP,<HYpHENATION>,BRKF ; NON STANDARD CM JUSOF,<JuSTIFY>,BRKF CM NKEEP,<KeEP> CM NOCHP,<NUMBER CHAPTER>,FOTF!LCKF ; Non dsr CM NUMOF,<NUMBER>,FOTF!LCKF CM NPERS,<PERIOD>,FOTF SYN <PR>,FOTF CM NOSPC,<SPaCE> CM NTITL,<TITLE>,FOTF!LCKF!NOTF ; Non dsr CM UNLNC,<UNdERLINE>,FOTF ; Non dsr CM NVSP,<VARIABLE SPACING>,BRKF!FOTF!LCKF ; Non dsr SYN <VARSP>,BRKF!FOTF!LCKF ; Non dsr CMSUB N2B,<FLAGS > CMSUB N2B,<FL > .WORD 0 ; marks end of table ; ; <Auto> ; ; If this is changed must also change A1STR N2A: .WORD A1STR .WORD NAUBRK .WORD NAUHYP .WORD NAUTO .WORD NAUSTL .WORD NAUTL .WORD 0 ; ; either <NO FLAGS> or <NFL> ; ; Note if table F1 is changed this must also change ; N2B: .WORD F1STR .WORD DSACFL .WORD DSBRFL .WORD DSCFL .WORD DSNFL .WORD DSEFL ; Non dsr .WORD NFLEQ ; Non dsr .WORD DSHFL .WORD DSIFL .WORD DSLFL .WORD DSOFL .WORD DSQFL .WORD DSPFL ; Non dsr .WORD DSSIFL .WORD DSSBFL .WORD DSUFL .WORD DSSFL .WORD DSAFL .WORD DSAFL .WORD 0 ; marks end of table PCTAB: CMBEG CM PARAG,<aRAGRAPH>,BRKF!FOTF CM SETPG,<S>,BRKF!FOTF!LCKF!RELF SYN <AGE SIZE>,BRKF!FOTF!LCKF!RELF SYN <APER SIZE>,BRKF!FOTF!LCKF!RELF CM CPAGE,<G>,BRKF!FOTF SYN <AGE>,BRKF!FOTF CM PERSP,<R>,FOTF SYN <ERIOD>,FOTF CM PERFN,<ERMANENT FOOTNOTE>,FOTF!NOTF SYN <FN>,FOTF!NOTF CM PINDX,<X>,BRKF!FOTF CM PINDX,<RINT INDEX>,BRKF!FOTF .WORD 0 ; marks end of table RCTAB: CMBEG CM SETRM,<M>,BRKF!RELF SYN <IGHT MARGIN>,BRKF!RELF CM RIGHJ,<iGHT>,BRKF CM REQUR,<EQuIRE>,FOTF!NOTF CM RSESC,<ESET ESCAPE>,FOTF ; Non dsr CM RSSUB,<ESET SUBSTITUTE>,FOTF ; Non dsr .WORD 0 ; marks end of table SCTAB: CMBEG CM BEGEQ,<EPARATED EQUATION>,BRKF!FOTF!NOTF; Non dsr SYN <EQ>,BRKF!FOTF!NOTF ; Non dsr CM SSP,<PaCING>,BRKF CM SKIP,<kiP>,BRKF CM SENTC,<END TOC> SYN <TC> CM SETPR,<ET PARAGRAPH>,FOTF SYN <PR>,FOTF CM SETSTL,<T>,FOTF SYN <UBTTL>,FOTF ; NON STANDARD SYN <UBTITLE>,FOTF CM TPAGE,<UBPAGE>,BRKF!FOTF SYN <PG>,BRKF!FOTF CM STAND,<D>,BRKF!FOTF!RELF ; NON STANDARD SYN <TANDARD>,BRKF!FOTF!LCKF!RELF ; NON STANDARD CM STYCH,<TYLE CHAPTER>,BRKF!FOTF!LCKF ; NON STANDARD SYN <TCH>,BRKF!FOTF!LCKF ; NON STANDARD CM STYHD,<TYLE HEADERS>,BRKF!FOTF!LCKF SYN <THL>,BRKF!FOTF!LCKF .WORD 0 ; marks end of table TCTAB: CMBEG CM TSTPG,<EST PAGE>,BRKF!FOTF!TEXF SYN <P>,BRKF!FOTF!TEXF CM TSTTX,<EST TEXT>,BRKF!FOTF!TEXF ; Non dsr SYN <T>,BRKF!FOTF!TEXF ; Non dsr CM TEXTD,<EXT DEFERRED>,BRKF!FOTF!NOTF ; Non dsr SYN <XD>,BRKF!FOTF!NOTF ; Non dsr CM TEXTC,<EXT>,BRKF!FOTF!NOTF ; Non dsr SYN <X>,BRKF!FOTF!NOTF ; Non dsr CM SETTL,<iTLE>,FOTF CM SETTM,<OP MARGIN>,BRKF!RELF!FOTF!LCKF SYN <M>,BRKF!RELF!FOTF CM SETTAB,<S>,FOTF SYN <AB STOPS>,FOTF CM TABRI,<AB RIGHT>,FOTF ; Non dsr SYN <R>,FOTF CM TABLF,<AB LEFT>,FOTF ; Non dsr SYN <L>,FOTF CM BETOC,<OC>,FOTF ; Non dsr .WORD 0 ; marks end of table UCTAB: CMBEG CM UPCAS,<C> ; Non dsr SYN <PPER CASE> CMSUB U1,<NDERLINE > CMSUB U1,<N > .WORD 0 ; marks end of table U1: CMBEG CM UNLSP,<SPACES>,FOTF ; Non dsr CM UNLNS,<NO SPACES>,FOTF ; Non dsr CM UNLCH,<>,FOTF ; Non dsr .WORD 0 ; marks end of table VCTAB: CMBEG CM VARSP,<ARIABLE SPACING>,BRKF!FOTF!LCKF ; Non dsr SYN <ARSP>,BRKF!FOTF!LCKF ; Non dsr CM VARIAN,<ARIANT>,LCKF ; Non dsr .WORD 0 ; marks end of table XCTAB: CMBEG CM INDEX,<>, ; ; Nonexistant char entries ; GCTAB: MCTAB: OCTAB: QCTAB: WCTAB: YCTAB: ZCTAB: .WORD 0 ; marks end of table .END