PROCEDURE  <CMTAB - Runoff command table>,010005
;+
; 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.
;
; Written: 15-Feb-76, -0.0.0-, D.N. Cutler
;
; Modified: 12-Jan-80, -1.0.0-, Henry R. Tumblin
;	Produced Duke supported version
;
; Verified: 12-Jan-80, -1.0.0-, Henry R. Tumblin
	.IF	DF	A$$RAP
;
; Modified 26-Aug-80, -1.0.1-, John D. Leonard
;	Added SETSS commandto allow sub/superscripts to move
;	1/8 line increments.
;
; Modified: 02-Oct-80, -1.0.2-, John D. Leonard
; 	Changed so spacing command does not cause a break
;
; Modified: 08-Oct-80, -1.0.3-, John D. Leonard
;	Added .NNPL, .OP, .OPJ, OB, .TM, .EQ, .EEQ
;
; Modified: 05-Nov-80, -1.0.4-, John D. Leonard
;	Added .SUBD/.SUB , substitute string delimited, substitute string, command
;
; Modified: 06-Jan-81, -1.0.5-, John D. Leonard
;	Removed relative argument modifier from .CENTER command.
	.ENDC
;-

	.SBTTL	RUNOFF COMMAND TABLE

	.GLOBL	LOOKUP			; command lookup table index

; equated symbols

;	command flag byte definitions
;

NOTF=1				; note processing active
FOTF=2				; footnote processing active
RELF=4				; relative number conversion (1=yes)
FPGF=20				; flush pending page (1=yes)
ENDF=40				; corresponds to end flag in trailing byte
BRKF=100			; corresponds to break flag in trailing byte

;
;  local macro definitions
;
;	generate command table entry
;

	.MACRO	CM EP,NAM,FLAGS
	PDATA	STRING
	$$$=.
	.ASCII	^NAM^<FLAGS+200>
	PDATA	DSPTCH
	.WORD	EP,$$$
	.PSECT
	.ENDM

	.MACRO	POINTE,NAME,INDIC
	.IF	NB	INDIC
	.IF	IDN	<GLOBAL>,INDIC
	.GLOBL	NAME
	.ENDC
	.ENDC
	PDATA	DSPTCH
NAME:
	.PSECT
	.ENDM

	.SBTTL	COMMAND TABLE

	PDATA	DSPTCH
CMTAB::

	POINTER	A
	CM	AUTOP,<AP>,BRKF
	CM	APNDX,<APPENDIX>,BRKF!FOTF!NOTF
	CM	AUTOP,<AUTOPARAGRAPH>,BRKF
	CM	APNDX,<AX>,BRKF!FOTF!NOTF

	POINTER	B
	CM	LINSKP,<B>,BRKF
	CM	BGBAR,<BB>
	CM	BGBAR,<BEGIN BAR>
	.IF DF	R$$SCR
	CM	LINSKP,<BL>,BRKF
	.ENDC	;R$$SCR
	CM	LINSKP,<BLANK>,BRKF
	CM	BREAK,<BR>,BRKF
	CM	BREAK,<BREAK>,BRKF

	POINTER	C
	CM	CENTER,<C>,BRKF!FPGF
	.IF DF	R$$SCR
	CM	CENTER,<CE>,BRKF!FPGF
	.ENDC	;R$$SCR
	CM	CENTER,<CENTER>,BRKF!FPGF
	CM	CENTER,<CENTRE>,BRKF!FPGF
	CM	CHPTR,<CH>,BRKF!FOTF!NOTF
	.IF DF	R$$SCR
	CM	CHANG,<CHA>
	.ENDC	;R$$SCR
	CM	CHANG,<CHANGE>
	CM	CHPTR,<CHAPTER>,BRKF!FOTF!NOTF
	CM	CHR,<CHR>,BRKF!FOTF!NOTF
	.IF DF	R$$SCR
	CM	COMNT,<CO>
	.ENDC	;R$$SCR
	CM	COMNT,<COMMENT>

	POINTER	D
	CM	DATE,<DA>
	CM	DATET,<DAT>
	CM	DSCBR,<DBB>
	CM	DSCBR,<DISABLE BAR>
	CM	DOINX,<DO INDEX>,BRKF!FOTF!FPGF
	CM	DOINX,<DOINDEX>,BRKF!FOTF!FPGF
	CM	DOINX,<DX>,BRKF!FOTF!FPGF

	POINTER	E
	CM	ENBAR,<EB>
	CM	ENCBR,<EBB>
	.IF	DF	A$$RAP
	CM	EQOFF,<EEQ>,BRKF!RELF
	.ENDC
	POINTER	ELCMD,GLOBAL
	CM	ELTRL,<ELI>,BRKF!ENDF
	POINTER	ELSTC,GLOBAL
	CM	ELIST,<ELS>,BRKF!ENDF
	POINTER	ENOTE,GLOBAL
	CM	ENOTC,<EN>,BRKF!ENDF
	CM	ENCBR,<ENABLE BAR>
	CM	ENBAR,<END BAR>
	CM	ELIST,<END LIST>,BRKF!ENDF
	CM	ELTRL,<END LITERAL>,BRKF!ENDF
	CM	ENOTC,<END NOTE>,BRKF!ENDF
	.IF	NDF	A$$RAP
	CM	CPAGE,<END SUBPAGE>,BRKF!FOTF
	.IFF
	CM	PAGEC,<END SUBPAGE>,BRKF!FOTF
	.ENDC
	CM	ELIST,<ENDLIST>,BRKF!ENDF
	CM	ELTRL,<ENDLITERAL>,BRKF!ENDF
	CM	ENOTC,<ENDNOTE>,BRKF!ENDF
	.IF	NDF	A$$RAP
	CM	CPAGE,<ENDSUBPAGE>,BRKF!FOTF
	.IFF
	CM	PAGEC,<ENDSUBPAGE>,BRKF!FOTF
	CM	PAGEC,<ES>,BRKF!FOTF
	CM	EQON,<EQ>,BRKF!RELF
	.ENDC

	POINTER	F
	CM	FILLN,<F>,BRKF
	CM	FIGURE,<FG>,FOTF!FPGF
	CM	FIGUR,<FGD>,BRKF!FOTF!FPGF
	CM	FILLN,<FI>,BRKF
	CM	FIGUR,<FIGURE>,BRKF!FOTF!FPGF
	CM	FILLN,<FILL>,BRKF
	CM	FTITL,<FIRSTTITLE>,FOTF
	CM	FTITL,<FIRST TITLE>,FOTF
	CM	ENCFL,<FL CAPITALIZE>
	CM	ENHFL,<FL HYPHENATE>
	CM	ENCFL,<FLAGS CAPITALIZE>
	CM	ENHFL,<FLAGS HYPHENATE>
	CM	ENCFL,<FLAGSCAPITALIZE>
	CM	ENHFL,<FLAGSHYPHENATE>
	CM	FOOTN,<FN>,FOTF
	CM	FOOTN,<FOOTNOTE>,FOTF
	CM	FTITL,<FT>,FOTF

	POINTER	H
	CM	HEADP,<HD>,FOTF
	CM	HEADR,<HEADER LEVEL>,BRKF!FOTF!FPGF!NOTF
	CM	HEADP,<HEADER>,FOTF
	CM	HEADR,<HEADERLEVEL>,BRKF!FOTF!FPGF!NOTF
	CM	HEADR,<HL>,BRKF!FOTF!FPGF!NOTF
	CM	HYPHN,<HY>,BRKF
	CM	HYPHN,<HYPHENATION>,BRKF

	POINTER	I
	CM	INDENT,<I>,BRKF
	.IF DF	R$$SCR
	CM	INDENT,<ID>,BRKF
	.ENDC	;R$$SCR
	CM	INHDR,<IHL>,BRKF!FOTF!FPGF!NOTF
	CM	INDIRC,<IN>,FOTF	; include files
	CM	INDIRC,<INCLUDE>,FOTF	; include files
	CM	INDENT,<INDENT>,BRKF
	CM	INDEXO,<INDEX OFFSET>	;  ...
	CM	INDEX,<INDEX>,FPGF
	.IF DF	R$$SCR
	CM	INDEXO,<INDEX OFFSET>
	CM	INDEXO,<INDEXOFFSET>
	.ENDC	;R$$SCR
	CM	INDEXO,<IO>		; index offset
	.IF DF	R$$SCR
	CM	INDEX,<IX>,FPGF
	.ENDC	;R$$SCR

	POINTER	J
	CM	JUSTN,<J>,BRKF
	.IF DF	R$$SCR
	CM	JUSTN,<JS>,BRKF
	.ENDC	;R$$SCR
	CM	JUSTN,<JUSTIFY>,BRKF

	POINTER	L
	CM	LSTELA,<LA>,BRKF
	CM	LWCAS,<LC>
	CM	LSTEL,<LE>,BRKF	
	CM	LSTELB,<LEB>,BRKF
	CM	LSTC,<LEC>,BRKF
	CM	SETLM,<LEFT MARGIN>,BRKF!RELF
	CM	SETLM,<LEFTMARGIN>,BRKF!RELF
	CM	LSTL,<LEL>,BRKF
	CM	LSTELN,<LEN>,BRKF
	CM	LSTR,<LER>,BRKF
	CM	STPGTP,<LINE>,FOTF
	CM	LSTEL,<LIST ELEMENT>,BRKF
	CM	LISTC,<LIST>,BRKF
	CM	LSTEL,<LISTELEMENT>,BRKF
	CM	LITRL,<LIT>,BRKF
	CM	LITRL,<LITERAL>,BRKF
	CM	SETLM,<LM>,BRKF!RELF
	CM	LWCAS,<LOWER CASE>
	CM	LWCAS,<LOWERCASE>
	CM	LISTC,<LS>,BRKF	
	.IF DF	R$$SCR
	CM	LITRL,<LT>,BRKF
	.ENDC	;R$$SCR

	POINTER	M
	CM	PRNTLN,<MESSAGE>
	CM	PRNTLN,<MSG>

	POINTER	N
	CM	NAUTO,<NAP>
	CM	NCHPT,<NC>
	CM	FILOF,<NF>,BRKF
	CM	DSCFL,<NFC>
	CM	DSHFL,<NFH>
	CM	DSAFL,<NFL>
	CM	NHEAD,<NHD>,FOTF
	CM	NHYPH,<NHY>,BRKF
	CM	JUSOF,<NJ>,BRKF
	CM	NUMON,<NM>
	CM	NUMOF,<NNM>
	.IF	DF	A$$RAP
	CM	NUMLWO,<NNPL>
	.ENDC
	CM	NAUTO,<NO AUTOPARAGRAPH>
	CM	FILOF,<NO FILL>,BRKF
	CM	DSCFL,<NO FLAGS CAPITALIZE>
	CM	DSHFL,<NO FLAGS HYPHENATE>
	CM	DSAFL,<NO FLAGS>
	CM	NHEAD,<NO HEADER>,FOTF
	CM	NHYPH,<NO HYPHENATION>,BRKF
	CM	JUSOF,<NO JUSTIFY>,BRKF
	CM	NUMOF,<NO NUMBER>
	CM	NPERS,<NO PERIOD>
	CM	NAUTO,<NOAUTOPARAGRAPH>
	CM	FILOF,<NOFILL>,BRKF
	CM	DSCFL,<NOFLAGSCAPITALIZE>
	CM	DSHFL,<NOFLAGSHYPHENATE>
	CM	DSAFL,<NOFLAGS>
	CM	NHEAD,<NOHEADER>,FOTF
	CM	NHYPH,<NOHYPHENATION>,BRKF
	CM	JUSOF,<NOJUSTIFY>,BRKF
	CM	NUMOF,<NONUMBER>
	CM	NPERS,<NOPERIOD>
	CM	NOTE,<NOTE>,BRKF!FPGF!NOTF
	CM	NUMLW,<NPL>
	CM	NPERS,<NPR>
	CM	NOTE,<NT>,BRKF!FPGF!NOTF
	CM	NOTEC,<NTC>,BRKF!FPGF!NOTF
	CM	NAPDX,<NUMBER APPENDIX>
	CM	NCHPT,<NUMBER CHAPTER>
	CM	NUMON,<NUMBER>
	CM	NAPDX,<NUMBERAPPENDIX>
	CM	NCHPT,<NUMBERCHAPTER>
	.IF DF	R$$SCR
	CM	NAPDX,<NX>
	.ENDC	;R$$SCR
	.IF	DF	A$$RAP

	POINTER	O
	CM	OVERB,<OB>,BRKF!FPGF
	CM	OVERP,<OP>FPGF
	CM	OVERPJ,<OPJ>FPGF
	.ENDC

	POINTER	P
	CM	PARAG,<P>,BRKF!FOTF
	CM	SETPG,<PAGE SIZE>,BRKF!FOTF!RELF
	CM	CPAGE,<PAGE>,BRKF!FOTF		
	CM	SETPG,<PAGESIZE>,BRKF!FOTF!RELF
	CM	SETPG,<PAPER SIZE>,BRKF!FOTF!RELF
	CM	SETPG,<PAPERSIZE>,BRKF!FOTF!RELF
	CM	PARAG,<PARAGRAPH>,BRKF!FOTF
	CM	PERSP,<PERIOD>
	CM	CPAGE,<PG>,BRKF!FOTF		
	CM	SELM,<PLM>,BRKF!RELF
	CM	PARAG,<PP>,BRKF!FOTF
	CM	PERSP,<PR>
	CM	PINDX,<PRINT INDEX>,BRKF!FOTF!FPGF
	CM	PINDX,<PRINTINDEX>,BRKF!FOTF!FPGF
	CM	SERM,<PRM>,BRKF!RELF
	CM	SETPG,<PS>,BRKF!FOTF!RELF
	CM	PINDX,<PX>,BRKF!FOTF!FPGF

	POINTER	R
	CM	SETRM,<RIGHT MARGIN>,BRKF!RELF
	CM	SETRM,<RIGHTMARGIN>,BRKF!RELF
	CM	SETRM,<RM>,BRKF!RELF

	POINTER	S
	CM	SKIPL,<S>,BRKF
	.IF DF	R$$SCR
	CM	TPAGE,<SB>,BRKF!FOTF
	.ENDC	;R$$SCR
	CM	STAND,<SD>,BRKF!FOTF!RELF
	CM	SETN,<SETN>
	.IF	DF	A$$RAP
	CM	SETSS,<SETSS>
	.ENDC
	CM	SHDR,<SHL>,BRKF!FOTF!FPGF!NOTF
	CM	SKIPL,<SK>,BRKF
	CM	SKIPL,<SKIP>,BRKF
	.IF	NDF	A$$RAP
	CM	SSP,<SP>,BRKF
	CM	SSP,<SPACING>,BRKF
	.IFF
	CM	SSP,<SP>
	CM	SSP,<SPACING>
	.ENDC
	CM	SETSTL,<ST>,FOTF
	CM	STAND,<STANDARD>,BRKF!FOTF!RELF
	.IF	DF	A$$RAP
	CM	SUBST,<SUB>
	CM	SUBSTD,<SUBD>
	.ENDC
	CM	TPAGE,<SUBPAGE>,BRKF!FOTF
	CM	SETSTL,<SUBTITLE>,FOTF
	CM	SETSTL,<SUBTTL>,FOTF
	CM	SWPFIL,<SWAP>

	POINTER	T
	CM	SETTL,<T>,FOTF
	.IF DF	R$$SCR
	CM	SETTL,<TI>,FOTF
	.ENDC	;R$$SCR
	CM	SETTAB,<TAB STOPS>,FOTF!RELF
	CM	SETTAB,<TABSTOPS>,FOTF!RELF
	CM	TSTPG,<TEST PAGE>,BRKF!FOTF
	CM	TSTPG,<TESTPAGE>,BRKF!FOTF
	CM	SETTL,<TITLE>,FOTF
	.IF	DF	A$$RAP
	CM	SETTM,<TM>
	.ENDC
	CM	TSTPG,<TP>,BRKF!FOTF
	CM	SETTAB,<TS>,FOTF!RELF

	POINTER	U
	CM	UPCAS,<UC>
	CM	UPCAS,<UPPER CASE>
	CM	UPCAS,<UPPERCASE>

	POINTER	X
	CM	INDEX,<X>,FPGF

	PDATA	DSPTCH

ECTAB::
	.PSECT


	.sbttl	command index table

	PDATA	LOOKUP

LOOKUP:	.WORD	A
	.WORD	B
	.WORD	C
	.WORD	D
	.WORD	E
	.WORD	F
	.WORD	0
	.WORD	H
	.WORD	I
	.WORD	J
	.WORD	0
	.WORD	L
	.WORD	M
	.WORD	N
	.WORD	O
	.WORD	P
	.WORD	0
	.WORD	R
	.WORD	S
	.WORD	T
	.WORD	U
	.WORD	0
	.WORD	0
	.WORD	X
	.WORD	0
	.WORD	0

	.END
