SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      36  ALLOCATE AND INSERT ENTRY IN SYMBOL TABLE

   (1)     122  DEALLOCATE SYMBOL TABLE ENTRY

   (1)     153  SEARCH FOR SYMBOL ENTRY

   (1)     202  SEARCH SPECIFIC SYMBOL TABLE FOR ENTRY

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	SYMBOL - SYMBOL TABLE MANIPULATION ROUTINES

                                     0000     2 	.IDENT	/01/

                                     0000     3  

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED UNDER  A LICENSE FOR USE ONLY  ON  A

                                     0000     9 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000    10 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

                                     0000    11 ; OTHER COPIES THEREOF, MAY NOT BE  PROVIDED  OR  OTHERWISE  MADE

                                     0000    12 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000    13 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

                                     0000    14 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

                                     0000    15 ;

                                     0000    16 ; THE INFORMATION IN THIS SOFTWARE  IS  SUBJECT TO CHANGE WITHOUT

                                     0000    17 ; NOTICE AND SHOULD NOT BE CONSTRUED  AS  A COMMITMENT BY DIGITAL

                                     0000    18 ; EQUIPMENT CORPORATION.

                                     0000    19 ;

                                     0000    20 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 ;

                                     0000    23 ; D. N. CUTLER 29-APR-77

                                     0000    24 ;

                                     0000    25 ; SYMBOL TABLE MANIPULATION ROUTINES

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	DEFCMDWRK			;DEFINE WORK AREA OFFSETS

                                     0000    31 	DEFERRCOD			;DEFINE ERROR/STATUS VALUES

                                     0000    32 	DEFSYMTBL			;DEFINE SYMBOL ENTRY OFFSETS

                                     0000    33 	DEFPTRDSC			;DEFINE RESULT PARSE DESCRIPTORS

                                     0000    34 	IDFDEF				;DEFINE INDIRECT STACK OFFSETS

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   2

01              ALLOCATE AND INSERT ENTRY IN SYMBOL TABLE                                                                        (1)



                                     0000    36 	.SBTTL	ALLOCATE AND INSERT ENTRY IN SYMBOL TABLE

                                     0000    37 ;+

                                     0000    38 ; DCL$ALLOCSYM - ALLOCATE AND INSERT ENTRY IN SYMBOL TABLE

                                     0000    39 ;

                                     0000    40 ; THIS ROUTINE IS CALLED TO ALLOCATE AND INSERT A SYMBOL ENTRY IN EITHER THE

                                     0000    41 ; LOCAL OR GLOBAL SYMBOL TABLE.

                                     0000    42 ;

                                     0000    43 ; INPUTS:

                                     0000    44 ;

                                     0000    45 ;	R1 = LENGTH OF SYMBOL VALUE.

                                     0000    46 ;	R2 = ADDRESS OF SYMBOL VALUE.

                                     0000    47 ;	R3 = LENGTH OF SYMBOL NAME.

                                     0000    48 ;	R4 = ADDRESS OF SYMBOL NAME.

                                     0000    49 ;	R5 = ADDRESS OF SYMBOL TABLE LISTHEAD.

                                     0000    50 ;

                                     0000    51 ;	IT IS ASSUMED THAT CONTROL Y/C AST'S ARE DISABLED.

                                     0000    52 ;

                                     0000    53 ; OUTPUTS:

                                     0000    54 ;

                                     0000    55 ;	THE SPECIFIED SYMBOL TABLE IS SEARCHED FOR THE SPECIFIED ENTRY, AND

                                     0000    56 ;	IF FOUND, THE OLD ENTRY IS DEALLOCATED. A SYMBOL TABLE ENTRY IS THEN

                                     0000    57 ;	ALLOCATED, FILLED WITH THE SYMBOL AND VALUE INFORMATION, AND THEN

                                     0000    58 ;	INSERTED IN THE SPECIFIED SYMBOL TABLE.

                                     0000    59 ;

                                     0000    60 ;	R0 LOW BIT CLEAR INDICATES ALLOCATION FAILURE WITH:

                                     0000    61 ;

                                     0000    62 ;		R0 = DCL$_SYMOVF - NO ROOM FOR SYMBOL DEFINITIONS.

                                     0000    63 ;

                                     0000    64 ;	R0 LOW BIT SET INDICATES SUCCESSFUL COMPLETION.

                                     0000    65 ;

                                     0000    66 ;		R1 = ADDRESS OF ALLOCATED SYMBOL ENTRY.

                                     0000    67 ;-

                                     0000    68  

                                 00000000    69 	.PSECT	DCL$ZCODE,BYTE,RD,NOWRT

                                     0000    70 DCL$ALLOCSYM::				;ALLOCATE AND INSERT SYMBOL IN TABLE

                          3E     BB  0000    71 	PUSHR	#^M<R1,R2,R3,R4,R5>	;SAVE SYMBOL ENTRY PARAMETERS

            50            55     D0  0002    72 	MOVL	R5,R0			;SET ADDRESS OF SYMBOL TABLE LISTHEAD

            51            53     7D  0005    73 	MOVQ	R3,R1			;SET SYMBOL PARAMETERS

                          00A2   30  0008    74 	BSBW	DCL$SEARCHT		;SEARCH FOR SYMBOL

            07            50     E9  000B    75 	BLBC	R0,10$			;IF LBC SEARCH FAILURE

                       0A A3     95  000E    76 	TSTB	SYM_B_TYPE(R3)		;PERMANENT SYMBOL?

                          36     12  0011    77 	BNEQ	20$			;IF NEQ YES - REFUSE TO ALLOCATE

                          48     10  0013    78 	BSBB	DCL$DEALLOCSYM		;DEALLOCATE SYMBOL ENTRY

         08 AE            6E     C1  0015    79 10$:	ADDL3	(SP),8(SP),R1		;CALCULATE LENGTH OF SYMBOL STRINGS

                          51         0019       

            51         15 A1     9E  001A    80 	MOVAB	SYM_T_SYMBOL+2+7(R1),R1	;ADD IN FIXED OVERHEAD AND ROUND

                          30     10  001E    81 	BSBB	DCL$ALLDYNMEM		;ALLOCATE DYNAMIC MEMORY

            26            50     E9  0020    82 	BLBC	R0,20$			;IF LBC ALLOCATION FAILURE

         08 A2            51     D0  0023    83 	MOVL	R1,SYM_W_SIZE(R2)	;SET SIZE OF ALLOCATED BLOCK

                          52     DD  0027    84 	PUSHL	R2			;SAVE ADDRESS OF ALLOCATED BLOCK

                          3F     BA  0029    85 	POPR	#^M<R0,R1,R2,R3,R4,R5>	;RETRIEVE SYMBOL PARAMETERS

                          50     DD  002B    86 	PUSHL	R0			;SAVE ADDRESS OF ALLOCATED BLOCK

            65            60     0E  002D    87 	INSQUE	SYM_L_FL(R0),(R5)	;INSERT ENTRY IN SYMBOL TABLE

                          06     BB  0030    88 	PUSHR	#^M<R1,R2>		;SAVE VALUE PARAMETERS

         0C A0            53     90  0032    89 	MOVB	R3,SYM_T_SYMBOL(R0)	;INSERT LENGTH OF SYMBOL

            64            53     28  0036    90 	MOVC	R3,(R4),SYM_T_SYMBOL+1(R0) ;INSERT SYMBOL NAME

                       0D A0         0039       

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   3

01              ALLOCATE AND INSERT ENTRY IN SYMBOL TABLE                                                                        (1)



                          06     BA  003B    91 	POPR	#^M<R1,R2>		;RETRIEVE VALUE PARAMETERS

            83            51     90  003D    92 	MOVB	R1,(R3)+		;INSERT LENGTH OF VALUE

            62            51     28  0040    93 	MOVC	R1,(R2),(R3)		;INSERT VALUE

                          63         0043       

                          02     BA  0044    94 	POPR	#^M<R1>			;RETRIEVE ADDRESS OF SYMBOL ENTRY

                          50     D6  0046    95 	INCL	R0			;SET SUCCESS INDICATOR

                                 05  0048    96 	RSB				;

                          3E     BA  0049    97 20$:	POPR	#^M<R1,R2,R3,R4,R5>	;RESTORE SYMBOL PARAMETERS

                                     004B    98 	STATUS	SYMOVF			;SET SYMBOL TABLE OVERFLOW STATUS

                                 05  004F    99 	RSB				;

                                     0050   100  

                                     0050   101 ;+

                                     0050   102 ; DCL$ALLDYNMEM - DISPATCH TO MEMORY ALLOCATION SUBROUTINE

                                     0050   103 ;

                                     0050   104 ; ENTER HERE TO DISPATCH TO THE MEMORY ALLOCATION ROUTINE

                                     0050   105 ;

                                     0050   106 ; INPUT:

                                     0050   107 ;

                                     0050   108 ;	R1 = SIZE OF BLOCK PLUS ROUND UP FACTOR OF 7

                                     0050   109 ;

                                     0050   110 ; OUTPUTS:

                                     0050   111 ;

                                     0050   112 ;	R1 = SIZE OF BLOCK ALLOCATED

                                     0050   113 ;	R2 = ADDRESS OF BLOCK

                                     0050   114 ;	R3 IS DESTROYED

                                     0050   115 ;-

                                     0050   116  

                                     0050   117 DCL$ALLDYNMEM::				;ALLOCATE DYNAMIC MEMORY

            53         20 AB     9E  0050   118 	MOVAB	PRC_Q_ALLOCREG(R11),R3	;GET ADDRESS OF ALLOCATION LISTHEAD

            51            07     CA  0054   119 	BICL	#7,R1			;TRUNCATE TO QUADWORD MULTIPLE

                 00000000'9F     17  0057   120 	JMP	@#EXE$ALLOCATE		;ALLOCATE SYMBOL TABLE ENTRY

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   4

01              DEALLOCATE SYMBOL TABLE ENTRY                                                                                    (1)



                                     005D   122 	.SBTTL	DEALLOCATE SYMBOL TABLE ENTRY

                                     005D   123 ;+

                                     005D   124 ; DCL$DEALLOCSYM - DEALLOCATE SYMBOL TABLE ENTRY

                                     005D   125 ; DCL$DEADYNMEM  - DEALLOCATE DYNAMIC MEMORY

                                     005D   126 ;

                                     005D   127 ; THIS ROUTINE IS CALLED TO REMOVE A SYMBOL FROM ITS TABLE AND/OR

                                     005D   128 ; DEALLOCATE DYNAMIC MEMORY USED.

                                     005D   129 ;

                                     005D   130 ; INPUTS TO DEALLOCSYM:

                                     005D   131 ;

                                     005D   132 ;	R3 = ADDRESS OF SYMBOL ENTRY.

                                     005D   133 ;

                                     005D   134 ; INPUTS TO DEALDYNMEM:

                                     005D   135 ;

                                     005D   136 ;	R0 = ADDRESS OF BLOCK TO DEALLOCATE

                                     005D   137 ;	R1 = SIZE OF BLOCK

                                     005D   138 ;

                                     005D   139 ;	IT IS ASSUMED THAT CONTROL Y/C AST'S ARE DISABLED.

                                     005D   140 ;

                                     005D   141 ; OUTPUTS:

                                     005D   142 ;

                                     005D   143 ;	THE SYMBOL IS REMOVED FROM ITS TABLE AND/OR ITS STORAGE IS DEALLOCATED.

                                     005D   144 ;-

                                     005D   145  

                                     005D   146 DCL$DEALLOCSYM::			;DEALLOCATE SYMBOL TABLE ENTRY

            50            63     0F  005D   147 	REMQUE	SYM_L_FL(R3),R0		;REMOVE SYMBOL ENTRY FROM ITS TABLE

            51         08 A0     3C  0060   148 	MOVZWL	SYM_W_SIZE(R0),R1	;GET SIZE OF BLOCK TO DEALLOCATE

                                     0064   149 DCL$DEADYNMEM::				;DEALLOCATE DYNAMIC MEMORY

            53         20 AB     9E  0064   150 	MOVAB	PRC_Q_ALLOCREG(R11),R3	;GET ADDRESS OF ALLOCATION LISTHEAD

                 00000000'9F     17  0068   151 	JMP	@#EXE$DEALLOCATE	;DEALLOCATE SYMBOL ENTRY STORAGE

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   5

01              SEARCH FOR SYMBOL ENTRY                                                                                          (1)



                                     006E   153 	.SBTTL	SEARCH FOR SYMBOL ENTRY

                                     006E   154 ;+

                                     006E   155 ; DCL$SEARCH - SEARCH FOR SYMBOL ENTRY

                                     006E   156 ;

                                     006E   157 ; THIS ROUTINE IS CALLED TO SEARCH ALL LOCAL AND GLOBAL SYMBOL TABLES FOR

                                     006E   158 ; AN ENTRY.

                                     006E   159 ;

                                     006E   160 ; INPUTS:

                                     006E   161 ;

                                     006E   162 ;	R1 = LENGTH OF SYMBOL.

                                     006E   163 ;	R2 = ADDRESS OF SYMBOL.

                                     006E   164 ;

                                     006E   165 ; OUTPUTS:

                                     006E   166 ;

                                     006E   167 ;	ALL LOCAL FOLLOWED BY THE GLOBAL SYMBOL TABLE IS SEARCH FOR A SYMBOL

                                     006E   168 ;	MATCH.

                                     006E   169 ;

                                     006E   170 ;	R0 LOW BIT CLEAR INDICATES A SEARCH FAILURE WITH:

                                     006E   171 ;

                                     006E   172 ;		R1 = ZERO.

                                     006E   173 ;

                                     006E   174 ;	R0 LOW BIT SET INDICATES A SYMBOL MATCH WITH:

                                     006E   175 ;

                                     006E   176 ;		R1 = LENGTH OF SYMBOL VALUE.

                                     006E   177 ;		R2 = ADDRESS OF SYMBOL VALUE.

                                     006E   178 ;		R3 = ADDRESS OF SYMBOL ENTRY.

                                     006E   179 ;-

                                     006E   180  

                                     006E   181 DCL$SEARCH::				;SEARCH FOR SYMBOL ENTRY

            7E         38 AB     7D  006E   182 	MOVQ	PRC_Q_LOCAL(R11),-(SP)	;SAVE CURRENT LOCAL SYMBOL TABLE LISTHEAD

                     0084 CB     DD  0072   183 	PUSHL	PRC_L_STACKPT(R11)	;SAVE ADDRESS OF INDIRECT STACK POINTER

            50         38 AB     9E  0076   184 5$:	MOVAB	PRC_Q_LOCAL(R11),R0	;SET ADDRESS OF LOCAL SYMBOL TABLE LISTHEAD

                          31     10  007A   185 	BSBB	DCL$SEARCHT		;SEARCH LOCAL SYMBOL TABLE FOR ENTRY

            1B            50     E8  007C   186 	BLBS	R0,10$			;IF LBS MATCH FOUND

            50            8E     D0  007F   187 	MOVL	(SP)+,R0		;RETRIEVE ADDRESS OF INDIRECT FRAME

                       5C A0     9F  0082   188 	PUSHAB	IDF_K_LENGTH(R0)	;CALCULATE ADDRESS OF NEXT FRAME

         38 AB         70 A0     7D  0085   189 	MOVQ	IDF_Q_LOCAL+IDF_K_LENGTH(R0),PRC_Q_LOCAL(R11) ;REPLACE LISTHEAD

         56 A0            00     E0  008A   190 	BBS	#IDF_V_INPOPN,IDF_W_FLAG(R0),5$ ;IF SET, SEARCH NEXT TABLE

                          E7         008E       

            50         28 AB     9E  008F   191 	MOVAB	PRC_Q_GLOBAL(R11),R0	;SET ADDRESS OF GLOBAL SYMBOL TABLE LISTHEAD

                          18     10  0093   192 	BSBB	DCL$SEARCHT		;SEARCH GLOBAL SYMBOL TABLE FOR ENTRY

                          51     D4  0095   193 	CLRL	R1			;ASSUME NO MATCH FOUND

            0C            50     E9  0097   194 	BLBC	R0,20$			;IF LBC NO MATCH FOUND

            52         0C A3     9A  009A   195 10$:	MOVZBL	SYM_T_SYMBOL(R3),R2	;GET LENGTH OF SYMBOL

            52         0D A342   9E  009E   196 	MOVAB	SYM_T_SYMBOL+1(R3)[R2],R2 ;GET ADDRESS OF VALUE LENGTH

            51            82     9A  00A3   197 	MOVZBL	(R2)+,R1		;GET LENGTH OF VALUE

                          8E     D5  00A6   198 20$:	TSTL	(SP)+			;CLEAN STACK

         38 AB            8E     7D  00A8   199 	MOVQ	(SP)+,PRC_Q_LOCAL(R11)	;RESTORE LOCAL SYMBOL TABLE LISTHEAD

                                 05  00AC   200 	RSB				;

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   6

01              SEARCH SPECIFIC SYMBOL TABLE FOR ENTRY                                                                           (1)



                                     00AD   202 	.SBTTL	SEARCH SPECIFIC SYMBOL TABLE FOR ENTRY

                                     00AD   203 ;+

                                     00AD   204 ; DCL$SEARCHT - SEARCH SPECIFIC SYMBOL TABLE FOR ENTRY

                                     00AD   205 ;

                                     00AD   206 ; THIS ROUTINE IS CALLED TO SEARCH A SPECIFIC SYMBOL TABLE FOR AN ENTRY.

                                     00AD   207 ;

                                     00AD   208 ; INPUTS:

                                     00AD   209 ;

                                     00AD   210 ;	R0 = ADDRESS OF SYMBOL TABLE LISTHEAD.

                                     00AD   211 ;	R1 = LENGTH OF SYMBOL NAME.

                                     00AD   212 ;	R2 = ADDRESS OF SYMBOL NAME.

                                     00AD   213 ;

                                     00AD   214 ; OUTPUTS:

                                     00AD   215 ;

                                     00AD   216 ;	R0 LOW BIT CLEAR INDICATES SEARCH FAILURE.

                                     00AD   217 ;

                                     00AD   218 ;		R1 = LENGTH OF SYMBOL NAME.

                                     00AD   219 ;		R2 = ADDRESS OF SYMBOL NAME.

                                     00AD   220 ;

                                     00AD   221 ;	R0 LOW BIT SET INDICATES SYMBOL FOUND WITH:

                                     00AD   222 ;

                                     00AD   223 ;		R1 = LENGTH OF SYMBOL NAME.

                                     00AD   224 ;		R2 = ADDRESS OF SYMBOL NAME.

                                     00AD   225 ;		R3 = ADDRESS OF SYMBOL ENTRY.

                                     00AD   226 ;-

                                     00AD   227  

                                     00AD   228 DCL$SEARCHT::				;SEARCH SPECIFIC SYMBOL TABLE FOR ENTRY

            53            50     D0  00AD   229 	MOVL	R0,R3			;COPY ADDRESS OF SYMBOL TABLE LISTHEAD

            53            63     D0  00B0   230 10$:	MOVL	SYM_L_FL(R3),R3		;GET ADDRESS OF NEXT ENTRY

            53            50     D1  00B3   231 	CMPL	R0,R3			;END OF TABLE?

                          15     13  00B6   232 	BEQL	20$			;IF EQL YES

            54         0C A3     9E  00B8   233 	MOVAB	SYM_T_SYMBOL(R3),R4	;GET ADDRESS OF SYMBOL LENGTH

            84            51     91  00BC   234 	CMPB	R1,(R4)+		;SYMBOL LENGTH MATCH?

                          EF     12  00BF   235 	BNEQ	10$			;IF NEQ NO

                          1F     BB  00C1   236 	PUSHR	#^M<R0,R1,R2,R3,R4>	;SAVE SEARCH PARAMETERS

            62            51     29  00C3   237 	CMPC	R1,(R2),(R4)		;SYMBOLS MATCH?

                          64         00C6       

                          1F     BA  00C7   238 	POPR	#^M<R0,R1,R2,R3,R4>	;RESTORE SEARCH PARAMETERS

                          E5     12  00C9   239 	BNEQ	10$			;IF NEQ NO

                          50     D6  00CB   240 	INCL	R0			;SET SUCCESS INDICATOR

                                 05  00CD   241 20$:	RSB				;

                                     00CE   242  

                                     00CE   243 	.END

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   7

SYMBOL TABLE                                                                                                                     (1)



BIT...         = 00000001            CLI$_OVRFLW    = 00038160            PRC_L_CLIWRK0    0000005C            

CLI$_ABFNAM    = 000381B8            CLI$_PARMDEL   = 00038110            PRC_L_CLIWRK1    00000060            

CLI$_ABKEYW    = 00038000            CLI$_PROC_ID   = 0003FFF1            PRC_L_CLIWRK2    00000064            

CLI$_ABVERB    = 00038008            CLI$_QUEJOBCRE = 0003FFF9            PRC_L_CLIWRK3    00000068            

CLI$_BADRET    = 00038198            CLI$_REQPRMABS = 00038812            PRC_L_CLIWRK4    0000006C            

CLI$_BADTEXT   = 000381B0            CLI$_RSLOVF    = 00038118            PRC_L_ERRRAB     00000010            

CLI$_BUFOVF    = 00038018            CLI$_SKPDAT    = 00038120            PRC_L_EXMDEPADR  0000008C            

CLI$_COMPLX    = 00038020            CLI$_SPARE0    = 00038010            PRC_L_EXTARG     00000078            

CLI$_CONFQUAL  = 00038802            CLI$_SPARE1    = 00038058            PRC_L_EXTBLK     00000070            

CLI$_CREQUEJOB = 0003884A            CLI$_STKOVF    = 00038128            PRC_L_EXTCOD     00000080            

CLI$_DEFOVF    = 00038028            CLI$_SUBMITERR = 00038852            PRC_L_EXTHND     00000074            

CLI$_DEVALSPL  = 0003885A            CLI$_SYMDEL    = 00038130            PRC_L_EXTPRM     0000007C            

CLI$_DEVNOTFOR = 0003887A            CLI$_SYMOVF    = 00038138            PRC_L_INDEPTH    00000048            

CLI$_DEVNOTSPL = 00038862            CLI$_UNDFIL    = 00038188            PRC_L_INDFAB     0000001C            

CLI$_DIRECT    = 00038030            CLI$_UNDSYM    = 00038140            PRC_L_INDINPRAB  00000014            

CLI$_EXPSYN    = 00038038            CLI$_UNPROPARM = 00038170            PRC_L_INDOUTRAB  00000018            

CLI$_FILOPN    = 00038190            CLI$_UNPROQUAL = 00038168            PRC_L_INPRAB     00000008            

CLI$_ILLVAL    = 0003883A            CLI$_USGOTO    = 00038148            PRC_L_LSTSTATUS  00000094            

CLI$_IMCHNG    = 00038040            CLI$_VALCNVERR = 00038832            PRC_L_ONCTLY     0000009C            

CLI$_IMGFNF    = 00038872            CLI$_VALREQ    = 00038150            PRC_L_ONERROR    00000058            

CLI$_INSFPRM   = 00038048            CMDBUFSIZ      = 000001FC            PRC_L_OUTRAB     0000000C            

CLI$_INVKEY    = 00038178            DCL$ALLDYNMEM    00000050 RG    03   PRC_L_PROCUIC    00000098            

CLI$_INVQUAL   = 0003880A            DCL$ALLOCSYM     00000000 RG    03   PRC_L_SAVAP      00000000            

CLI$_INVQUALNUM= 0003881A            DCL$DEADYNMEM    00000064 RG    03   PRC_L_SAVFP      00000004            

CLI$_INVREQTYP = 00038822            DCL$DEALLOCSYM   0000005D RG    03   PRC_L_SEVERITY   00000040            

CLI$_INVRSP    = 00038180            DCL$SEARCH       0000006E RG    03   PRC_L_STACKLM    00000088            

CLI$_INVUIC    = 000381A8            DCL$SEARCHT      000000AD RG    03   PRC_L_STACKPT    00000084            

CLI$_IVCHAR    = 00038050            EXE$ALLOCATE     ********   X   03   PRC_L_STATUS     00000044            

CLI$_IVDEVTYPE = 0003886A            EXE$DEALLOCATE   ********   X   03   PRC_L_SYMBOL     0000004C            

CLI$_IVFNAM    = 000381C0            GBL...         = 00000000            PRC_M_CNTRLY   = 00000002            

CLI$_IVKEYW    = 00038060            IDF_K_LENGTH     0000005C            PRC_M_DBGQUAL  = 00000200            

CLI$_IVOPER    = 00038068            IDF_L_INPRABCTX  0000000C            PRC_M_DBGTRUE  = 00000400            

CLI$_IVPROT    = 00038070            IDF_L_ONCTLY     00000058            PRC_M_DISABL   = 00000004            

CLI$_IVQLOC    = 00038078            IDF_L_ONERROR    00000008            PRC_M_EXIT     = 00000008            

CLI$_IVSYMB    = 00038080            IDF_L_OUTRABCTX  00000010            PRC_M_GOEOF    = 00000001            

CLI$_IVVALU    = 00038088            IDF_Q_LABEL      0000001C            PRC_M_GOTO     = 00000010            

CLI$_IVVERB    = 00038090            IDF_Q_LOCAL      00000014            PRC_M_HANGUP   = 00001000            

CLI$_MAXPARM   = 00038098            IDF_T_INPDVI     00000034            PRC_M_IND      = 00000020            

CLI$_MULKEY    = 000381A0            IDF_T_OUTDVI     00000024            PRC_M_MODE     = 00000040            

CLI$_NOATFIL   = 000380A0            IDF_V_INPOPN   = 00000000            PRC_M_NOCTLY   = 00004000            

CLI$_NOCCAT    = 000380A8            IDF_W_FLAG       00000056            PRC_M_PAUSE    = 00002000            

CLI$_NOCOMD    = 000380B0            IDF_W_INPDID     0000004A            PRC_M_USRDET   = 00000100            

CLI$_NOKEYW    = 000380B8            IDF_W_INPFID     00000044            PRC_M_VERIFY   = 00000080            

CLI$_NOLIST    = 000380C0            IDF_W_INPIFI     00000000            PRC_M_YLEVEL   = 00000800            

CLI$_NOOPTPRS  = 00038842            IDF_W_INPRFA     00000050            PRC_Q_ALLOCREG   00000020            

CLI$_NOQUAL    = 000380C8            IDF_W_ONLEVEL    00000006            PRC_Q_GLOBAL     00000028            

CLI$_NORMAL    = 00030001            IDF_W_OUTIFI     00000002            PRC_Q_LABEL      00000030            

CLI$_NOTNEG    = 000380D8            IDF_W_OUTISI     00000004            PRC_Q_LOCAL      00000038            

CLI$_NOVALU    = 000380D0            INPBUFSIZ      = 00000084            PRC_V_CNTRLY   = 00000001            

CLI$_NOVALUE   = 0003882A            MSGBUFSIZ      = 00000084            PRC_V_DBGQUAL  = 00000009            

CLI$_NULFIL    = 000380E0            PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            

CLI$_NUMBER    = 000380E8            PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            

CLI$_ONCOMD    = 000380F0            PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            

CLI$_ONERR     = 000380F8            PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            

CLI$_ONEVAL    = 00038158            PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            

CLI$_ONLEVL    = 00038100            PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            

CLI$_ONOVF     = 00038108            PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   8

SYMBOL TABLE                                                                                                                     (1)



PRC_V_MODE     = 00000006            WRK_L_PAROUT     FFFFFFF4            

PRC_V_NOCTLY   = 0000000E            WRK_L_PROMPT     FFFFFFD0            

PRC_V_PAUSE    = 0000000D            WRK_L_PROPTR     FFFFFFDC            

PRC_V_USRDET   = 00000008            WRK_L_QUABLK     FFFFFFE0            

PRC_V_VERIFY   = 00000007            WRK_L_RSLNXT     FFFFFD34            

PRC_V_YLEVEL   = 0000000B            WRK_L_SAVAP      FFFFFFC8            

PRC_W_CLIFLAG    00000052            WRK_L_SAVFP      FFFFFFCC            

PRC_W_ERRIFI     00000052            WRK_L_SAVSP      FFFFFFC4            

PRC_W_FLAGS      00000054            WRK_M_COMMAND  = 00000002            

PRC_W_INPCHAN    00000050            WRK_M_IMCHNG   = 00000004            

PRC_W_ONLEVEL    00000056            WRK_M_INQUIRE  = 00000100            

PTR_K_BLANK    = 00000001            WRK_M_NOSTAT   = 00000200            

PTR_K_COLON    = 00000002            WRK_M_PROMPT   = 00000008            

PTR_K_COMDQUAL = 00000000            WRK_M_QUAL     = 00000010            

PTR_K_COMMA    = 00000005            WRK_M_QUOTE    = 00000020            

PTR_K_ENDLINE  = 00000004            WRK_M_RUNDWN   = 00000001            

PTR_K_LPAREN   = 00000007            WRK_M_STAR     = 00000040            

PTR_K_PARAMETR = 00000003            WRK_M_TRAILSPC = 00000400            

PTR_K_PARMQUAL = 00000001            WRK_M_VERB     = 00000080            

PTR_K_PLUS     = 00000004            WRK_Q_IOSB       FFFFFFD4            

PTR_K_QUALVALU = 00000002            WRK_V_COMMAND  = 00000001            

PTR_K_RPAREN   = 00000006            WRK_V_IMCHNG   = 00000002            

PTR_K_SLASH    = 00000003            WRK_V_INQUIRE  = 00000008            

PTR_L_DESCR      00000000            WRK_V_NOSTAT   = 00000009            

PTR_S_FLAGS    = 00000004            WRK_V_PROMPT   = 00000003            

PTR_S_OFFSET   = 0000000C            WRK_V_QUAL     = 00000004            

PTR_S_TERM     = 00000004            WRK_V_QUOTE    = 00000005            

PTR_S_TYPE     = 00000004            WRK_V_RUNDWN   = 00000000            

PTR_S_VALUE    = 00000008            WRK_V_STAR     = 00000006            

PTR_V_FLAGS    = 00000014            WRK_V_TRAILSPC = 0000000A            

PTR_V_NEGATE   = 00000000            WRK_V_VERB     = 00000007            

PTR_V_OFFSET   = 00000008            WRK_W_FLAGS      FFFFFFFA            

PTR_V_TERM     = 00000018            WRK_W_IMGCHAN    FFFFFFF8            

PTR_V_TYPE     = 0000001C            _$$_           = 0000004E            

PTR_V_VALUE    = 00000000            

RSLBUFSIZ      = 00000180            

SYM_B_TYPE       0000000A            

SYM_K_DECIMAL  = 00000004            

SYM_K_HEXDEC   = 00000005            

SYM_K_LOGICAL  = 00000002            

SYM_K_OCTAL    = 00000003            

SYM_K_PERM     = 00000001            

SYM_K_STRING   = 00000000            

SYM_L_BL         00000004            

SYM_L_FL         00000000            

SYM_T_SYMBOL     0000000C            

SYM_W_SIZE       00000008            

WRK_AB_BUFFER    FFFFFD38            

WRK_AG_RESULT    FFFFFBB4            

WRK_B_VERBTYP    FFFFFFC0            

WRK_K_LENGTH     FFFFFBB4            

WRK_L_CHARPTR    FFFFFFFC            

WRK_L_CMDOUT     FFFFFFBC            

WRK_L_IMAGE      FFFFFFEC            

WRK_L_MAXPARM    FFFFFFE4            

WRK_L_MINPARM    FFFFFFE8            

WRK_L_PARMCNT    FFFFFFF0            

SYMBOL          - SYMBOL TABLE MANIPULATION ROUTINES             22-AUG-1978 01:13:22   VAX-11 MACRO X0.3-11               Page   9

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            FFFFFFFC      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

DCL$ZCODE        000000CE      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

17804. BYTES LEFT IN FREE MEMORY POOL.

976. BYTES OF RECLAIMED MEMORY.

EXE$:SYMBOL,LIS$:SYMBOL/-SP=EXECML$/ML,LIB$:DCL/ML,SRC$:SYMBOL

21 MLB DIR RDS - 419 GETS TO DEFINE 18 MACROS. 30 INTER. FILE WRITES. 

