!*** MODULE $TPADEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! TPARSE CONTROL BLOCK. THIS BLOCK IS ONE OF THE ARGUMENTS USED TO CALL TPARSE, ! AND BECOMES THE ARGUMENT LIST TO ACTION ROUTINES. ! PARAMETER TPA$K_COUNT0 = '00000008'X ! ZERO LEVEL VALUE IS 8 PARAMETER TPA$M_BLANKS = '00000001'X PARAMETER TPA$M_ABBREV = '00000002'X PARAMETER TPA$M_ABBRFM = '00000004'X PARAMETER TPA$M_AMBIG = '00010000'X PARAMETER TPA$K_LENGTH0 = '00000024'X ! LENGTH OF ZERO LEVEL PARAMETER BLOCK PARAMETER TPA$C_LENGTH0 = '00000024'X ! LENGTH OF ZERO LEVEL PARAMETER BLOCK STRUCTURE /TPADEF/ INTEGER*4 TPA$L_COUNT ! ARGUMENT COUNT (NUMBER OF LONGWORDS) UNION MAP INTEGER*4 TPA$L_OPTIONS ! OPTIONS LONGWORD END MAP MAP PARAMETER TPA$S_BLANKS = 1 PARAMETER TPA$V_BLANKS = 0 ! PROCESS BLANKS AND TABS EXPLICITLY PARAMETER TPA$S_ABBREV = 1 PARAMETER TPA$V_ABBREV = 1 ! ALLOW MINIMAL ABBREVIATION PARAMETER TPA$S_ABBRFM = 1 PARAMETER TPA$V_ABBRFM = 2 ! ALLOW FIRST MATCH ABBREVIATION PARAMETER TPA$S_AMBIG = 1 PARAMETER TPA$V_AMBIG = 16 ! AMBIGUOUS KEYWORD AT THIS STATE BYTE %FILL (1) END MAP MAP BYTE %FILL(1:3) BYTE TPA$B_MCOUNT ! MINIMUM ABBREVIATION ON KEYWORDS END MAP END UNION INTEGER*4 TPA$L_STRINGCNT ! BYTE COUNT OF STRING BEING PARSED INTEGER*4 TPA$L_STRINGPTR ! ADDRESS OF STRING BEING PARSED INTEGER*4 TPA$L_TOKENCNT ! BYTE COUNT OF CURRENT MATCHING TOKEN INTEGER*4 TPA$L_TOKENPTR ! ADDRESS OF MATCHING TOKEN UNION MAP UNION MAP INTEGER*4 TPA$L_CHAR ! ASCII CODE OF SINGLE CHARACTER TOKEN END MAP MAP BYTE TPA$B_CHAR ! BYTE FORM OF SINGLE CHAR CELL END MAP END UNION INTEGER*4 TPA$L_NUMBER ! NUMERIC VALUE OF NUMERIC TOKEN END MAP MAP INTEGER*4 TPA$Q_NUMBER(2) ! 64-bit NUMERIC VALUE OF NUMERIC TOKEN END MAP END UNION INTEGER*4 TPA$L_PARAM ! PARAMETER LONGWORD FROM STATE TABLE END STRUCTURE ! TPADEF ! ! TPARSE CONTROL BLOCK. THIS BLOCK IS ONE OF THE ARGUMENTS USED TO CALL TPARSE, ! AND BECOMES THE ARGUMENT LIST TO ACTION ROUTINES. ! PARAMETER TPA64$K_COUNT0 = -1 ! ZERO LEVEL VALUE IS -1 PARAMETER TPA64$M_BLANKS = '00000001'X PARAMETER TPA64$M_ABBREV = '00000002'X PARAMETER TPA64$M_ABBRFM = '00000004'X PARAMETER TPA64$M_AMBIG = '00010000'X PARAMETER TPA64$K_LENGTH0 = '00000050'X ! LENGTH OF ZERO LEVEL PARAMETER BLOCK PARAMETER TPA64$C_LENGTH0 = '00000050'X ! LENGTH OF ZERO LEVEL PARAMETER BLOCK STRUCTURE /TPA64DEF/ INTEGER*4 TPA64$L_COUNT ! ARGUMENT COUNT (NUMBER OF LONGWORDS) UNION MAP INTEGER*4 TPA64$L_OPTIONS ! OPTIONS LONGWORD END MAP MAP PARAMETER TPA64$S_BLANKS = 1 PARAMETER TPA64$V_BLANKS = 0 ! PROCESS BLANKS AND TABS EXPLICITLY PARAMETER TPA64$S_ABBREV = 1 PARAMETER TPA64$V_ABBREV = 1 ! ALLOW MINIMAL ABBREVIATION PARAMETER TPA64$S_ABBRFM = 1 PARAMETER TPA64$V_ABBRFM = 2 ! ALLOW FIRST MATCH ABBREVIATION PARAMETER TPA64$S_AMBIG = 1 PARAMETER TPA64$V_AMBIG = 16 ! AMBIGUOUS KEYWORD AT THIS STATE BYTE %FILL (1) END MAP MAP BYTE %FILL(1:3) BYTE TPA64$B_MCOUNT ! MINIMUM ABBREVIATION ON KEYWORDS END MAP END UNION INTEGER*4 TPA64$Q_STRINGDESC(2) ! DSC64 first quadword of string being parsed INTEGER*4 TPA64$Q_STRINGCNT(2) ! BYTE COUNT OF STRING BEING PARSED INTEGER*8 TPA64$Q_STRINGPTR ! ADDRESS OF STRING BEING PARSED INTEGER*4 TPA64$Q_TOKENDESC(2) ! DSC64 first quadword OF CURRENT MATCHING TOKEN INTEGER*4 TPA64$Q_TOKENCNT(2) ! BYTE COUNT OF CURRENT MATCHING TOKEN INTEGER*8 TPA64$Q_TOKENPTR ! ADDRESS OF MATCHING TOKEN UNION MAP INTEGER*4 TPA64$Q_CHAR(2) ! ASCII CODE OF SINGLE CHARACTER TOKEN END MAP MAP BYTE TPA64$B_CHAR ! BYTE FORM OF SINGLE CHAR CELL END MAP END UNION INTEGER*4 TPA64$Q_NUMBER(2) ! NUMERIC VALUE OF NUMERIC TOKEN INTEGER*4 TPA64$Q_PARAM(2) ! PARAMETER LONGWORD FROM STATE TABLE END STRUCTURE ! TPA64DEF !DEC$ END OPTIONS