Trailing-Edge
-
PDP-10 Archives
-
BB-AE97C-BM
-
sources/pardata.req
There are 10 other files named pardata.req in the archive.  Click here to see a list.
!
! This module contains all the data required for parsing. This consists
! of any required macros, literals, command keyword tables and parse
! tables. This is referenced by PRPARCOM.B36.
 !****************************************************************************
 !*									     *
 !*  COPYRIGHT (c) 1984, 1985                                                *
 !*  BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.			     *
 !*		ALL RIGHTS RESERVED.					     *
 !* 									     *
 !*  THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED  *
 !*  ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE  *
 !*  INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER  *
 !*  COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY  *
 !*  OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY  *
 !*  TRANSFERRED.							     *
 !* 									     *
 !*  THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE  *
 !*  AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT  *
 !*  CORPORATION.							     *
 !* 									     *
 !*  DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS  *
 !*  SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.		     *
 !*									     *
 !****************************************************************************
!
! Created:	2-Mar-83  C.Gill
!
    REQUIRE
	'EDTSRC:SUPPORTS';		! Support flags
!
! The following external must be defined here to simplify the layout of
! PRPARCOM.
!
    EXTERNAL
	GETJFN_BLOCK,			! GTJFN block
	CMD_BUF;			! Command buffer
!
! GLOBAL STORAGE:
!
!+
! The following block is used by the COMND JSYS.
!-
GLOBAL
	ATOM_BUF : VECTOR [CH$ALLOCATION (ATOM_LEN, BYTE_SIZE)], ! Atom buffer
	CSB : VECTOR [10] INITIAL (
		0,
		$PRIIN*%O'1000000'+$PRIOU,	! Primary JFN's - may change
		0,				! Prompt pointer
		CH$PTR (CMD_BUF,, BYTE_SIZE),	! Command buffer
		CH$PTR (CMD_BUF,, BYTE_SIZE),
		256,				! Length of command buffer
		256,
		CH$PTR (ATOM_BUF,, BYTE_SIZE),	! Local atom buffer
		ATOM_LEN,
		GETJFN_BLOCK);			! GTJFN block for filespecs
!+
! The following tables are the command and switch name tables used during
! parsing. All tables must be alphabetically ordered.
!-
	CMDTAB (CMD_TABLE,				! Main command table
		'C',(CM_INV + CM_ABR),CMD_TABLE+2,	! CHANGE
		'CHANGE',,COM_CHANGE,
		'CLEAR',,COM_CLEAR,
		'COPY',,COM_COPY,
		'D',(CM_INV + CM_ABR),CMD_TABLE+7,	! DELETE
		'DEFINE',,COM_DEFINE,
		'DELETE',,COM_DELETE,
		'E',CM_NOR,0,
		'EXIT',,COM_EXIT,
		'F',(CM_INV + CM_ABR),CMD_TABLE+12,	! FIND
		'FILL',,COM_FILL,
		'FIND',,COM_FIND,
		'HELP',,COM_HELP,
		'I',(CM_INV + CM_ABR),CMD_TABLE+16,	! INSERT
		'INCLUDE',,COM_INCLUDE,
		'INSERT',,COM_INSERT,
		'MOVE',,COM_MOVE,
		'NEXT',,COM_SUBS_NEXT,
		'PRINT',,COM_PRINT,
		'PUSH',,COM_PUSH,
		'QUI',CM_NOR,0,
		'QUIT',,COM_QUIT,
		'R',(CM_INV + CM_ABR),CMD_TABLE+24,	! REPLACE
		'REPLACE',,COM_REPLACE,
		'RESEQUENCE',,COM_RESEQ,
		'S',(CM_INV + CM_ABR),CMD_TABLE+29,	! SUBSTITUTE
		'SET',,COM_SET,
		'SHOW',,COM_SHOW,
		'SUBSTITUTE',,COM_SUBS,
		'T',(CM_INV + CM_ABR),CMD_TABLE+33,	! TYPE
		'TAB',,COM_TADJ,
		'TRACE',(CM_INV),COM_TRACE,
		'TYPE',,COM_TYPE,
		'WRITE',,COM_WRITE,
		'XDDT',(CM_INV),COM_XDDT);
!+,
! Other keyword tables,
!-,
	CMDTAB (ADJ_CMD,			! TAB keyword
		'ADJUST',,0);
	CMDTAB (DEF_CMD_AS,			! AS
		'AS',,0);
	CMDTAB (DEF_CMD_TBL,			! DEFINE keywords
		'KEY',,COM_DEFINE,
		'MACRO',,COM_DEF_MAC);
	CMDTAB (RAN_CMD_TBL,			! Range keywords
		'ALL',,RAN_ALL,
		'AND',,RAN_AND,
		'B',(CM_INV + CM_ABR),RAN_CMD_TBL+5,
		'BEFORE',,RAN_BEFORE,
		'BEGIN',,RAN_BEGIN,
		'BUFFER',,RAN_BUFFER,
		'END',,RAN_END,
		'FOR',,RAN_FOR,
		'LAST',,RAN_LAST,
		'ORIGINAL',,RAN_ORIG,
		'REST',,RAN_REST,
		'SELECT',,RAN_SELECT,
		'THRU',,RAN_THRU,
		'WHOLE',,RAN_WHOLE);
	CMDTAB (RAN_CMD_COMP,			! Compound range keywords
		'AND',,RAN_AND,
		'FOR',,RAN_FOR,
		'THRU',,RAN_THRU);
	CMDTAB (RAN_CMD_SLR,			! SLR range keywords
		'BEGIN',,RAN_BEGIN,
		'END',,RAN_END);
	CMDTAB (RAN_CMD_ALL,			! ALL keyword
		'ALL',,RAN_ALL);
	CMDTAB (RAN_CMD_AND,			! AND keyword
		'AND',,RAN_AND);
	CMDTAB (RAN_CMD_TO,			! Parse 'TO'
		'TO',,RAN_THRU);
	CMDTAB (COP_SWT_TBL,			! COPY switches
		'DUPLICATE',,SWT_DUPL,
		'QUERY',,SWT_QUERY);
	CMDTAB (DEL_SWT_TBL,			! DELETE switches
		'QUERY',,SWT_QUERY);
	CMDTAB (EXI_SWT_TBL,			! EXIT switches
		'GO',,SWT_GO,
		'SAVE',,SWT_SAVE,
		'SEQUENCE',,SWT_SEQU);
	CMDTAB (QIT_SWT_TBL,			! QUIT switches
		'SAVE',,SWT_SAVE);
	CMDTAB (RES_SWT_TBL,			! RESEQUENCE switches
		'SEQUENCE',,SWT_SEQU);
	CMDTAB (SUB_SWT_TBL,			! SUBSTITUTE switches
		'BRIEF',,SWT_BRIEF,
		'NOTYPE',,SWT_NOTYP,
		'QUERY',,SWT_QUERY);
	CMDTAB (TYP_SWT_TBL,			! TYPE switches
		'BRIEF',,SWT_BRIEF,
		'STAY',,SWT_STAY);
	CMDTAB (SET_OPT_TBL,			! SET options
		'AUTOREPEAT',,SET_AUTO,
		'CASE',,SET_CASE,
		'COMMAND',,SET_COMND,
		'CONTROL-T',,SET_CTRLT,
		'CURSOR',,SET_CURSR,
		'ENTITY',,SET_NTITY,
		'FNF',,SET_FNF,
		'HELP',,SET_HELP,
		'KEYPAD',,SET_KEY,
		'LINES',,SET_LINES,
		'MODE',,SET_MODE,
		'NOAUTOREPEAT',,SET_NOAUT,
		'NOCONTROL-T',,SET_NOCTLT,
		'NOFNF',,SET_NOFNF,
		'NOKEYPAD',,SET_NOKEY,
		'NONUMBERS',,SET_NONUM,
		'NOQUIET',,SET_NOQIT,
		'NOREPEAT',,SET_NORPT,
		'NOSUMMARY',,SET_NOSUM,
		'NOTAB',,SET_NOTAB,
		'NOTRUNCATE',,SET_NOTRU,
		'NOVERIFY',,SET_NOVER,
		'NOWRAP',,SET_NOWRP,
		'NUMBERS',,SET_NUMB,
		'PARAGRAPH',,SET_PARA,
		'PROMPT',,SET_PROMPT,
		'QUIET',,SET_QUIET,
		'REPEAT',,SET_REPT,
		'SCREEN',,SET_SCRN,
		'SEARCH',,SET_SRCH,
		'SUMMARY',,SET_SUMM,
		'TAB',,SET_TAB,
		'TERMINAL',,SET_TERM,
		'TEXT',,SET_TEXT,
		'TRUNCATE',,SET_TRUNC,
		'VERIFY',,SET_VERFY,
		'WORD',,SET_WORD,
		'WRAP',,SET_WRAP);
	CMDTAB (SHO_OPT_TBL,			! SHOW options
		'AUTOREPEAT',,SHO_AUTO,
		'BUFFER',,SHO_BUFF,
		'CASE',,SHO_CASE,
		'COMMAND',,SHO_COMND,
		'CONTROL-T',,SHO_CTRLT,
		'CURSOR',,SHO_CURSR,
		'ENTITY',,SHO_NTITY,
		'FILES',,SHO_FILES,
		'FNF',,SHO_FNF,
		'HELP',,SHO_HELP,
		'KEY',,SHO_KEY,
		'KEYPAD',,SHO_KEYPD,
		'LINES',,SHO_LINES,
		'MODE',,SHO_MODE,
		'NUMBERS',,SHO_NUM,
		'PARAGRAPH',,SHO_PARA,
		'PROMPT',,SHO_PROMPT,
		'QUIET',,SHO_QUIET,
		'REPEAT',,SHO_REPT,
		'SCREEN',,SHO_SCRN,
		'SEARCH',,SHO_SRCH,
		'SUMMARY',,SHO_SUMM,
		'TAB',,SHO_TAB,
		'TERMINAL',,SHO_TERM,
		'TEXT',,SHO_TEXT,
		'TRUNCATE',,SHO_TRUNC,
		'VERIFY',,SHO_VRFY,
		'VERSION',,SHO_VERS,
		'WORD',,SHO_WORD,
		'WRAP',,SHO_WRAP);
	CMDTAB (SHO_KEY_TBL,			! SHOW KEY keywords
		'GOLD',,KEY_GOLD);		! Drops into SHO_KEY_GOLD
	CMDTAB (SHO_KEY_GOLD,			! SHOW KEY GOLD keywords
		'C',CM_NOR,0,			! Might be key name
		'CONTROL',,KEY_CONT,
		'D',CM_NOR,0,
		'DELETE',,KEY_DEL
%IF SUPPORT_VT220
%THEN
		,'F',CM_NOR,0,
		'FUNCTION',,KEY_FUNC
%FI
		)
	CMDTAB (ENTITY_TBL,			! ENTITY keywords
		'PAGE',,ENT_PAGE,
		'PARAGRAPH',,ENT_PARA,
		'SENTENCE',,ENT_SENT,
		'WORD',,ENT_WORD);
	CMDTAB (CASE_TBL,			! SET CASE keywords
		'LOWER',,SET_CLOWR,
		'NONE',,SET_CNONE,
		'UPPER',,SET_CUPPR);
	CMDTAB (MODE_TBL,			! SET MODE keywords
		'CHANGE',,SET_MCHNG,
		'LINES',,SET_MLINE);
	CMDTAB (SEARCH_TBL,			! SET SEARCH keywords
		'BEGIN',,SET_SBEG,
		'BOUNDED',,SET_SBND,
		'CASE-INSENSITIVE',,SET_CI,
		'CI',,SET_CI,
%IF SUPPORT_VT220
%THEN
		'DI',,SET_DI,
		'DIACRITICAL-INSENSITIVE',,SET_DI,
%FI
		'END',,SET_SEND,
		'EXACT',,SET_SEXCT,
		'GENERAL',,SET_SGEN,
		'IGNORE',CM_INV,SET_SIGN,
		'NOIGNORE',CM_INV,SET_SNIGN,
		'UNBOUNDED',,SET_SUNB,
		'WPS',,SET_SWPS);
	CMDTAB (TERM_TBL,			! SET TERMINAL keywords
		'EDIT',,SET_EDIT,
%IF SUPPORT_VT220
%THEN
		'EIGHTBIT',,SET_8BIT,
%FI
		'HARDCOPY',,SET_HCPY,
		'HCPY',,SET_HCPY,
		'NOEDIT',,SET_NEDIT,
%IF SUPPORT_VT220
%THEN
		'NOEIGHTBIT',,SET_N8BIT,
%FI
		'NOSCROLL',,SET_NSCRL,
		'SCROLL',,SET_SCRL,
		'VT100',,SET_VT100,
		'VT52',,SET_VT52);
	CMDTAB (PROMPT_TBL,			! SET PROMPT keywords
		'HCCHANGE',,SET_PHCCH,
		'INSERT',,SET_PINS,
		'KEYPAD',,SET_PKEY,
		'LINE',,SET_PLINE,
		'NINSERT',,SET_PNINS,
		'NOKEYPAD',,SET_PNKEY,
		'QUERY',,SET_PQRY);
	CMDTAB (TEXT_TBL,			! SET TEXT keywords
		'END',,SET_TEND,
		'PAGE',,SET_TPAGE);
	CMDTAB (WORD_TBL,			! SET WORD keywords
		'DELIMITER',,SET_WDEL,
		'NODELIMITER',,SET_WNDEL);
	CMDTAB (PARA_TBL,			! SET PARAGRAPH keywords
		'NOWPS',,SET_PNWPS,
		'WPS',,SET_PWPS);
	CMDTAB (TRACE_TBL,			! TRACE keywords
		'CLOSE',,TRC_CLOSE,
		'LIST',,TRC_LIST,
		'OFF',,TRC_OFF,
		'ON',,TRC_ON,
		'OPEN',,TRC_OPEN,
		'RESET',,TRC_RESET);
	CMDTAB (TRACE_SWT,			! TRACE switches
		'LOCATION',,SWT_LOCN,
		'STACK',,SWT_STACK);
!+
! Break mask and extra keyword for SUBSTITUTE
!-
    OWN
	BREAK_MASK : VECTOR [4] INITIAL (%O'20000000', 0, 0, 0);
	CMDTAB (NEXT_TBL,
		'NEXT',,0);
!+
! Break mask for TRACE routine and symbol names.
!-
    OWN
	TRR_BREAK : VECTOR [4] INITIAL (FLDB0$,
					FLDB1$ AND NOT %O'030010000000',
					FLDB2$,
					FLDB3$);
!+
! Break mask for buffer names
!-
    OWN
	BUFFER_MASK : VECTOR [4] INITIAL (FLDB0$,
					 FLDB1$,
					 FLDB2$ AND NOT %O'20',
					 FLDB3$);
!+
! Break mask for range keywords
!-
    OWN
	RANGE_MASK : VECTOR [4] INITIAL (KEYB0$,
					 KEYB1$ OR %O'20000000',
					 KEYB2$,
					 KEYB3$);
!+
! The following data are the function descriptor blocks for the COMND JSYS.
!-
    GLOBAL
	FD_INI : FLDDB$ (TYP=$CMINI),		! Init the parser
	FD_CMT : FLDDB$ (TYP=$CMCFM,		! Implied TYPE
			FLGS=CM_SDH,
			HLPM='Press return to type the next line'),
	FD_CMM : FLDDB$ (TYP=$CMFLD,		! Parse a macro name
			HLPM='Range to type',
			LST=FD_CMT),
	FD_CMD : FLDDB$ (TYP=$CMKEY,		! Parse the overall command
			DATA=CMD_TABLE,
			LST=FD_CMM),
	FD_CFM : FLDDB$ (TYP=$CMCFM),		! Confirm
	FD_VAL : FLDDB$ (TYP=$CMNUX,		! Parse a decimal number
			DATA=10),
	FD_COP : FLDDB$ (TYP=$CMSWI,		! COPY switches
			DATA=COP_SWT_TBL),
	FD_DEL : FLDDB$ (TYP=$CMSWI,		! DELETE and MOVE switches
			DATA=DEL_SWT_TBL),
	FD_EXI : FLDDB$ (TYP=$CMSWI,		! EXIT command switches
			DATA=EXI_SWT_TBL),
	FD_QIT : FLDDB$ (TYP=$CMSWI,		! QUIT switches
			DATA=QIT_SWT_TBL),
	FD_RES : FLDDB$ (TYP=$CMSWI,		! RESEQUENCE and WRITE switches
			DATA=RES_SWT_TBL),
	FD_DEF : FLDDB$ (TYP=$CMKEY,		! DEFINE keywords
			DATA=DEF_CMD_TBL),
	FD_AS  : FLDDB$ (TYP=$CMKEY,		! AS
			DATA=DEF_CMD_AS),
	FD_SUB : FLDDB$ (TYP=$CMSWI,		! SUBSTITUTE switches
			DATA=SUB_SWT_TBL),
	FD_UQS : FLDDB$ (TYP=$CMUQS,		! SUBSTITUTE string
			DATA=BREAK_MASK),
	FD_SNX : FLDDB$ (TYP=$CMKEY,		! NEXT keyword
			DATA=NEXT_TBL,
			HLPM='String to be replaced or  '),
	FD_TYP : FLDDB$ (TYP=$CMSWI,		! TYPE switches
			DATA=TYP_SWT_TBL),
	FD_FIL : FLDDB$ (TYP=$CMFIL),		! EXIT command filespec
	FD_R82 : FLDDB$ (TYP=$CMTOK,		! Parse minus sign
			DATA=CH$PTR (UPLIT ('-'))),
	FD_R81 : FLDDB$ (TYP=$CMTOK,		! Parse plus sign
			DATA=CH$PTR (UPLIT ('+')),
			LST=FD_R82),
	FD_RN8 : FLDDB$ (TYP=$CMKEY,		! Post THRU parsing
			DATA=RAN_CMD_ALL,
			LST=FD_R81),
	FD_ANC : FLDDB$ (TYP=$CMTOK,		! Parse AND sign
			DATA=CH$PTR (UPLIT (',')),
			LST=FD_RN8),
	FD_AND : FLDDB$ (TYP=$CMKEY,		! Post AND parsing
			DATA=RAN_CMD_AND,
			LST=FD_ANC),
	FD_RNN : FLDDB$ (TYP=$CMNUX,		! Parse a decimal number
			FLGS=CM_SDH,
			DATA=10),
	FD_RN7 : FLDDB$ (TYP=$CMTOK,		! Parse buffer sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('=')),
			LST=FD_RNN),
	FD_RN6 : FLDDB$ (TYP=$CMTOK,		! Parse decimal point or dot
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('.')),
			LST=FD_RN7),
	FD_RN5 : FLDDB$ (TYP=$CMTOK,		! Parse minus sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('-')),
			LST=FD_RN6),
	FD_RN4 : FLDDB$ (TYP=$CMTOK,		! Parse plus sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('+')),
			LST=FD_RN5),
	FD_RN3 : FLDDB$ (TYP=$CMTOK,		! Parse AND sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT (',')),
			LST=FD_RN4),
	FD_RN2 : FLDDB$ (TYP=$CMTOK,		! Parse THRU sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT (':')),
			LST=FD_RN3),
	FD_RN1 : FLDDB$ (TYP=$CMTOK,		! Parse FOR sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('#')),
			LST=FD_RN2),
	FD_RNS : FLDDB$ (TYP=$CMQST,		! Parse a quoted string
			FLGS=CM_SDH,
			LST=FD_RN1),
	FD_RNK : FLDBK$ (TYP=$CMKEY,		! Simple range parsing
			FLGS=CM_SDH,
			DATA=RAN_CMD_TBL,
			BRKM=RANGE_MASK,
			HLPM='Range specification',
			LST=FD_RNS),
	FD_RNG : FLDDB$ (TYP=$CMTOK,		! '%' on keyword
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('%')),
			LST=FD_RNK),
	FD_RS5 : FLDDB$ (TYP=$CMNUX,		! Parse a decimal number
			FLGS=CM_SDH,
			DATA=10,
			HLPM='Line number'),
	FD_RS4 : FLDDB$ (TYP=$CMQST,		! Parse a quoted string
			LST=FD_RS5),
	FD_RS3 : FLDDB$ (TYP=$CMTOK,		! Parse decimal point or dot
			DATA=CH$PTR (UPLIT ('.')),
			LST=FD_RS4),
	FD_RS2 : FLDDB$ (TYP=$CMTOK,		! Parse minus sign
			DATA=CH$PTR (UPLIT ('-')),
			LST=FD_RS3),
	FD_RS1 : FLDDB$ (TYP=$CMTOK,		! Parse plus sign
			DATA=CH$PTR (UPLIT ('+')),
			LST=FD_RS2),
	FD_RSR : FLDDB$ (TYP=$CMKEY,		! SLR range keywords
			DATA=RAN_CMD_SLR,
			LST=FD_RS1),
	FD_RNA : FLDDB$ (TYP=$CMKEY,		! ALL range keyword
			DATA=RAN_CMD_ALL),
	FD_RC3 : FLDDB$ (TYP=$CMTOK,		! FOR sign
			DATA=CH$PTR (UPLIT ('#'))),
	FD_RC2 : FLDDB$ (TYP=$CMTOK,		! AND sign
			DATA=CH$PTR (UPLIT (',')),
			LST=FD_RC3),
	FD_RC1 : FLDDB$ (TYP=$CMTOK,		! THRU sign
			DATA=CH$PTR (UPLIT (':')),
			LST=FD_RC2),
	FD_RCM : FLDDB$ (TYP=$CMKEY,		! Compound range keywords
			DATA=RAN_CMD_COMP,
			LST=FD_RC1),
	FD_RNM : FLDDB$ (TYP=$CMTOK,		! Minus sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('-')),
			LST=FD_RCM),
	FD_RNP : FLDDB$ (TYP=$CMTOK,		! Plus sign
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('+')),
			HLPM='"+" or "-"',
			LST=FD_RNM),
	FD_DOT : FLDDB$ (TYP=$CMTOK,		! Decimal point
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('.')),
			HLPM='Line number'),
	FD_RNF : FLDBK$ (TYP=$CMFLD,		!Parse a field
			FLGS=CM_SDH,
			BRKM=BUFFER_MASK,
			HLPM='Buffer name'),
	FD_RT1 : FLDDB$ (TYP=$CMKEY,		! Parse 'TO' or '%TO'
			DATA=RAN_CMD_TO),
	FD_RTO : FLDDB$ (TYP=$CMTOK,		! '%' on TO keyword
			FLGS=CM_SDH,
			DATA=CH$PTR (UPLIT ('%')),
			LST=FD_RT1),
	FD_ADJ : FLDDB$ (TYP=$CMKEY,		! TABS ADJUST
			DATA=ADJ_CMD,
			LST=FD_VAL),
	FD_TXT : FLDDB$ (TYP=$CMTXT),		! Parse a text string (for HELP)
	FD_QST : FLDDB$ (TYP=$CMQST),		! Parse a quoted string
	FD_COL : FLDDB$ (TYP=$CMTOK,		! Parse a colon
			DATA=CH$PTR (UPLIT (':'))),
	FD_SET : FLDDB$ (TYP=$CMKEY,		! SET options
			DATA=SET_OPT_TBL),
	FD_SHO : FLDDB$ (TYP=$CMKEY,		! SHOW options
			DATA=SHO_OPT_TBL),
	FD_ENT : FLDDB$ (TYP=$CMKEY,		! SET ENTITY options
			DATA=ENTITY_TBL),
	FD_CAS : FLDDB$ (TYP=$CMKEY,		! SET CASE options
			DATA=CASE_TBL),
	FD_MOD : FLDDB$ (TYP=$CMKEY,		! SET MODE options
			DATA=MODE_TBL),
	FD_SCH : FLDDB$ (TYP=$CMKEY,		! SET SEARCH options
			DATA=SEARCH_TBL),
	FD_TRM : FLDDB$ (TYP=$CMKEY,		! SET TERMINAL options
			DATA=TERM_TBL),
	FD_PRO : FLDDB$ (TYP=$CMKEY,		! SET PROMPT options
			DATA=PROMPT_TBL),
	FD_TEX : FLDDB$ (TYP=$CMKEY,		! SET TEXT options
			DATA=TEXT_TBL),
	FD_WRD : FLDDB$ (TYP=$CMKEY,		! SET WORD options
			DATA=WORD_TBL),
	FD_PAR : FLDDB$ (TYP=$CMKEY,		! SET PARAGRAPH options
			DATA=PARA_TBL),
	FD_KYS : FLDDB$ (TYP=$CMFLD,		! Part of FD_KYN
			FLGS=CM_SDH),
	FD_KYN : FLDDB$ (TYP=$CMQST,		! Parse a character
			HLPM='Name of key to define',
			LST=FD_KYS),
	FD_SKV : FLDDB$ (TYP=$CMNUX,		! DEFINE KEY number
			DATA=10,
			FLGS=CM_SDH,
			HLPM='Number of key to define',
			LST=FD_KYN),
	FD_SKG : FLDDB$ (TYP=$CMKEY,		! SHOW KEY GOLD options
			DATA=SHO_KEY_GOLD,
			LST=FD_SKV),
	FD_SKY : FLDDB$ (TYP=$CMKEY,		! SHOW KEY options
			DATA=SHO_KEY_TBL,
			LST=FD_SKG),
	FD_TRC : FLDDB$	(TYP=$CMKEY,		! Parse TRACE options
			DATA=TRACE_TBL),
	FD_TRR : FLDBK$	(TYP=$CMFLD,		! TRACE routine or symbol
			FLGS=CM_SDH,
			BRKM=TRR_BREAK,
			HLPM='Symbol name'),
	FD_TRS : FLDDB$ (TYP=$CMSWI,
			DATA=TRACE_SWT),
	FD_EN2 : FLDDB$ (TYP=$CMCFM),		! Parse <CR><LF>
	FD_END : FLDDB$ (TYP=$CMTOK,		! Parse '\' between commands
			DATA=CH$PTR (UPLIT ('\')),
			LST=FD_EN2);
!
! End of PRDATA.R36
!