
                               					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   1
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

0001    !
0002    !			  COPYRIGHT (c) 1982 BY
0003    !	      MOSTEK CORPORATION, CARROLLTON TX
0004    !
0005    ! This software is furnished under a license and may be used and  copied
0006    ! only  in  accordance  with  the  terms  of  such  license and with the
0007    ! inclusion of the above copyright notice.  This software or  any  other
0008    ! copies  thereof may not be provided or otherwise made available to any
0009    ! other person.  No title to and ownership of  the  software  is  hereby
0010    ! transferred.
0011    !
0012    ! The information in this software is subject to change  without  notice
0013    ! and  should  not  be  construed  as  a commitment by MOSTEK
0014    ! CORPORATION.
0015    !
0016    ! MOSTEK assumes no responsibility for the use or  reliability  of  its
0017    ! software on equipment which is not supplied by MOSTEK.
0018    !
0019     
0020    !++
0021    ! FACILITY:
0022    !   MOSTEK CORPORATION
0023    !
0024    ! ABSTRACT: Match a disk name for the parser against a list of disks
0025    !   
0026    !
0027    ! ENVIRONMENT: VAX/VMS unpriv
0028    !   
0029    !
0030    ! AUTHOR: Gary Smith, CREATION DATE: 4/05/83
0031    !
0032    ! MODIFIED BY:
0033    !
0034    !--
0035    !
0036    ! TABLE OF CONTENTS:
0037    !
0038    !
0039    ! INCLUDE FILES: mousesubs.for
0040    !
0041    !
0042    ! MACROS: none
0043    !
0044    !
0045    ! EQUATED SYMBOLS: see above
0046    !
0047    !
0048    ! EXTERNAL REFERENCES: none
0049    !
0050     
0051    !++
0052    ! FUNCTIONAL DESCRIPTION: VMATCH takes the list of disks (built by BUILD_DISK)
0053    !                         and matches the possible disk name against the list.
0054    !                         If the match is successful, then the translation
0055    !                         sequence is updated to reflect this otherwise a
0056    !                         failure is returned to the parser.
0057    !

                               					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   2
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

0058    !
0059    ! FORMAL PARAMETERS: IN    -> the input symbol sequence
0060    !                    KF    -> where to start matching in IN
0061    !                    KL    -> where to stop matching in IN
0062    !                    ITS   -> translations sequence buffer i.e a PCB
0063    !                    LTR   -> where to start putting things in ITS
0064    !                    IRC   -> success or failure of the match
0065    !
0066    !
0067    !
0068    ! IMPLICIT INPUTS: the disk list formed by BUILD_DISK
0069    !
0070    !
0071    !
0072    ! IMPLICIT OUTPUTS: none
0073    !
0074    !
0075    !
0076    ! ROUTINE VALUE and
0077    ! COMPLETION CODES: 1 -> success
0078    !                   0 -> failure
0079    !
0080    !
0081    !
0082    ! SIDE EFFECTS: none to date
0083    !
0084    !
0085    !
0086    !--
0087              SUBROUTINE VMATCH(IN, KF, KL, ITS, LTR, IRC)
0088     
0089              include 'mousesubs.for'
0307     
0308              integer in(1), its(1), disk_number
0309     
0310              character * (name_siz) disk_list(max_disks)
0311     
0312              common / v_common / disk_list
0313     
0314     
0315    !++
0316    ! run thru all the disks
0317    !--
0318     
0319              do i = 1, max_disks
0320                 disk_number = i
0321     
0322                 do j = 1, mk$length(disk_list(i))
0323                    if ( in(kf+j-1) .ne. ichar(disk_list(i)(j:j)) ) goto 20
0324                 end do
0325     
0326                 goto 30
0327    20           continue
0328              end do
0329             
0330              goto 100
0331     

VMATCH                         					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   3
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

0332    !++
0333    ! v found, put in translation
0334    !--
0335     
0336    30        continue
0337     
0338              kf=kf + mk$length(disk_list(i))
0339              its(ltr+1) = 4
0340              its(ltr+2) = 2
0341              its(ltr+3) = disk_number
0342              its(ltr+4) = 13
0343     
0344    !++
0345    ! increment translation length and return success
0346    !--
0347     
0348              ltr = ltr + 4
0349              irc = 1
0350              return
0351     
0352    !++
0353    ! return indicating failure
0354    !--
0355     
0356    100       irc = 0
0357              return
0358              end




PROGRAM SECTIONS

    Name				 Bytes   Attributes

  0 $CODE                                  221   PIC CON REL LCL   SHR   EXE   RD NOWRT LONG
  2 $LOCAL                                 100   PIC CON REL LCL NOSHR NOEXE   RD   WRT LONG
  3 V_COMMON                               256   PIC OVR REL GBL   SHR NOEXE   RD   WRT LONG

    Total Space Allocated                  577


ENTRY POINTS

    Address  Type  Name                                        References

  0-00000000       VMATCH                                         87     


VARIABLES

    Address  Type  Name                            Attributes  References

  2-00000000  I*4  DISK_NUMBER                                   308       320=      341     
  2-00000004  I*4  I                                             319=      320       322       323       338     
 AP-00000018@ I*4  IRC                                            87       349=      356=    
  2-00000008  I*4  J                                             322=      323(3)  

VMATCH                         					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   4
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

 AP-00000008@ I*4  KF                                             87       323       338(2)= 

 AP-0000000C@ I*4  KL                                             87     
 AP-00000014@ I*4  LTR                                            87       339       340       341       342       348(2)= 


ARRAYS

    Address  Type  Name          Attributes        Bytes  Dimensions       References

  3-00000000  CHAR DISK_LIST     COMM               256  (16)              310       312       322A      323       338A    
 AP-00000004@ I*4  IN                                 4  (1)                87       308       323     
 AP-00000010@ I*4  ITS                                4  (1)                87       308       339=      340=      341=    
									   342=    


PARAMETER CONSTANTS

  Type  Name                                                   References

   I*2  ARRLOCPK                                                 236#    
   I*2  ARRTRAPK                                                 237#    
   CHAR ASCII_DELTA_TIME                                          94        95#    
   I*2  BIGHOLE                                                  270#    
   I*2  BJOBCNT                                                  126#    

   I*2  BUFIO                                                    147#    
   I*2  CEF                                                      193#    
   I*2  COLPG                                                    191#    
   I*2  COM                                                      202#    
   I*2  COMO                                                     203#    

   I*2  COMPAT                                                   124#    
   I*2  CPU_SIZE                                                 129#      301     
   I*2  CUR                                                      204#    
   I*2  DEPLOCPK                                                 238#    
   I*2  DEQ                                                      252#    

   I*2  DIRHIT                                                   156#    
   I*2  DIRIO                                                    146#    
   I*2  DIRMISS                                                  157#    
   I*2  DISK_SIZE                                                296#      301     
   I*2  DLCKFND                                                  253#    

   I*2  DLCKSRCH                                                 254#    
   I*2  DZROFLTS                                                 178#    
   I*2  D_COUNT                                                  287#    
   I*2  ENQCVT                                                   255#    
   I*2  ENQNEW                                                   250#    

   I*2  ENQNOTQD                                                 256#    
   I*2  ENQWAIT                                                  251#    
   I*2  EXEC                                                     121#    
   I*2  EXTHIT                                                   158#    
   I*2  EXTMISS                                                  159#    

   I*2  FAULTS                                                   179#    

VMATCH                         					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   5
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

   I*2  FCP_CACHE                                                136#    
   I*2  FCP_CALLS                                                135#    
   I*2  FCP_CPU                                                  137#    
   I*2  FCP_READ                                                 138#    

   I*2  FCP_SIZE                                                 141#      301     
   I*2  FCP_WRITE                                                139#    
   I*2  FIDHIT                                                   160#    
   I*2  FIDMISS                                                  161#    
   I*2  FPG                                                      201#    

   I*2  FREEBLOCKS                                               288#    
   I*2  FREECNT                                                  170#    
   I*2  GETDVI_EF                                                109#    
   I*2  HIB                                                      197#    
   I*2  HIBO                                                     198#    

   I*2  HISWPCNT                                                 216#    
   I*2  HIT                                                      153#    
   I*2  HOLECNT                                                  269#    
   I*2  HOLESUM                                                  273#    
   I*2  HOSWPCNT                                                 215#    

   I*2  IDLE                                                     125#    
   I*2  IJOBCNT                                                  127#    
   I*2  INT                                                      123#    
   I*2  IRPCNT                                                   268#    
   I*2  ISPAGCNT                                                 211#    

   I*2  ISWPCNT                                                  212#    
   I*2  KERNEL                                                   119#    
   I*2  KEY_SIZE                                                 115#    
   I*2  LEF                                                      195#    
   I*2  LEFO                                                     196#    

   I*2  LOCK_SIZE                                                261#      301     
   I*2  LOGNAM                                                   148#    
   I*2  LRPCNT                                                   274#    
   I*2  MAX_DISKS                                                294#      296       310       319     
   I*2  MBREADS                                                  149#    

   I*2  MBWRITES                                                 150#    
   I*2  MEM_SIZE                                                 173#      301     
   I*2  MFYCNT                                                   171#    
   I*2  MISC_SIZE                                                165#      301     
   I*2  MWAIT                                                    192#    

   I*2  NAME_SIZ                                                 295#      310     
   I*2  NET_SIZE                                                 245#      301     
   I*2  NUM_MODES                                                130#    
   I*2  OPCNT                                                    289#    
   I*2  OPEN                                                     155#    

   I*2  OPENS                                                    154#    
   I*2  OSWPCNT                                                  214#    
   I*2  PER_DISK                                                 293#      296     
   I*2  PFW                                                      194#    

VMATCH                         					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   6
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

   I*2  PGFLT_SIZE                                               186#      301     

   I*2  POOL_SIZE                                                281#      301     
   I*2  PREADIO                                                  180#    
   I*2  PREADS                                                   182#    
   I*2  PROCCNT                                                  213#    
   I*2  PWRITES                                                  183#    

   I*2  PWRITIO                                                  181#    
   I*2  QUOHIT                                                   162#    
   I*2  QUOMISS                                                  163#    
   I*2  RCVBUFFL                                                 239#    
   I*2  RDFLTS                                                   184#    

   I*2  REC_SIZE                                                 301#    
   I*2  REFCNT                                                   290#    
   I*2  RES                                                      231#    
   I*2  RESPONSE_SIZE                                            230#      301     
   I*2  SCH_SIZE                                                 206#      301     

   I*2  SMALLCNT                                                 272#    
   I*2  SMALLHOLE                                                271#    
   I*2  SPLIT                                                    152#    
   I*2  SRPCNT                                                   275#    
   CHAR STANDARD_NEST_FILE                                       101       102#    

   I*2  SUPER                                                    120#    
   I*2  SUSP                                                     199#    
   I*2  SUSPO                                                    200#    
   I*2  SWAP_SIZE                                                218#      301     
   I*2  SWAP_SPARES                                              219#    

   I*2  TIME_SIZE                                                224#      301     
   I*2  TRANSCNT                                                 291#    
   I*2  TRCNGLOS                                                 240#    
   I*2  TURN                                                     151#    
   I*2  USED                                                     292#    

   I*2  USER                                                     122#    
   I*2  WAIT_EF                                                  108#    


LABELS

    Address   Label                                            References

  0-00000087  20                                                 323       327#    
  0-0000008E  30                                                 326       336#    
  0-000000D9  100                                                330       356#    

VMATCH                         					21-Apr-1983 15:39:51	VAX-11 FORTRAN V3.2-37              Page   7
								 6-Apr-1983 08:52:59	CAD$VOLSET:[GARY.STATS.SOURCE]VMATCH.FOR;10 

FUNCTIONS AND SUBROUTINES REFERENCED

  Type  Name                                                   References

   I*4  MK$LENGTH                                                322       338     


  +----------------------------------------------+
  |           KEY TO REFERENCE FLAGS             |
  |   =   - Value Modified                       |
  |   #   - Defining Reference                   |
  |   A   - Actual Argument, possibly modified   |
  |   D   - Data Initialization                  |
  |  (n)  - Number of occurrences on line        |
  +----------------------------------------------+



COMMAND QUALIFIERS

  FORTRAN /DEBUG/OBJECT=OBJ:VMATCH/LIST=LIS:VMATCH/CONT=99/CROSS/NOOPT SRC:VMATCH

  /CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW)
  /DEBUG=(SYMBOLS,TRACEBACK)
  /STANDARD=(NOSYNTAX,NOSOURCE_FORM)
  /SHOW=(NOPREPROCESSOR,NOINCLUDE,MAP)
  /F77  /NOG_FLOATING  /I4  /NOOPTIMIZE  /WARNINGS  /NOD_LINES  /CROSS_REFERENCE  /NOMACHINE_CODE  /CONTINUATIONS=99


COMPILATION STATISTICS

  Run Time:           2.18 seconds
  Elapsed Time:       2.91 seconds
  Page Faults:        495
  Dynamic Memory:     844 pages
