C---------------------------------------------------------------------- C- C- Created 17-MAY-1990 MICHIGAN STATE UNIVERSITY, TRIGGER CONTROL SOFTWARE C- C---------------------------------------------------------------------- C- C- This file declares the common blocks and variables that are used by the C- parsing code. C- Most of the constants have a prefix. C- C class C- I index C- M member (of a class) C- MAX highest numbered member C- MES message C- T token C- C---------------------------------------------------------------------- C C This array converts from the section index to section token. C INTEGER INDEX_TO_SECTION(1:MAX_NUM_SECTIONS) C C------------------------------------------------------------------------- C C Widths of the dimensions of the common block arrays. These are put into C a common block to make porting across sections easier. To get the width C of a particular dimension of a particular section, use C WIDTHS(,I_xxx_INDEX) C INTEGER WIDTHS(1:MAX_NUM_DIMENSIONS,1:MAX_NUM_SECTIONS) C C---------------------------------------------------------------------- C C The order the common block array dimensions represent variables. C CHANNEL and LOOKUP are always encoded into one dimension, so that C dimension is marked as LOOKUP. If CHANNEL is active in a section but C not LOOKUP, that dimension is marked as CHANNEL. If there are eight C valid lookup quantities instead of the usual six, use token T_TOT to C represent CHANNEL and LOOKUP. C INTEGER VARIABLE_ORDER(1:MAX_NUM_DIMENSIONS,1:MAX_NUM_SECTIONS) C C---------------------------------------------------------------------- C C The number of active variables in each section. This counts CHANNEL and C LOOKUP seperate. C INTEGER NUM_ACTIVE_VARIABLES(1:MAX_NUM_SECTIONS) C C---------------------------------------------------------------------- C C The current line number C INTEGER LINE_NUMBER C C---------------------------------------------------------------------- C C The global error status C INTEGER LSM_ERROR_SEVERITY, LSM_ERROR_CODE, LSM_ERROR_LINE, & LSM_IOSTAT C C---------------------------------------------------------------------- C C The definition of the common block all these can be found in. C COMMON /WIDTHS_CMN/ LINE_NUMBER, WIDTHS, VARIABLE_ORDER, & NUM_ACTIVE_VARIABLES, DATA_TYPE, INDEX_TO_SECTION C C---------------------------------------------------------------------- C C The definition of the common block the global error status flags are C stored in. C COMMON /LSM_ERROR/ LSM_ERROR_SEVERITY, & LSM_ERROR_CODE, LSM_ERROR_LINE, LSM_IOSTAT C C---------------------------------------------------------------------- C C The strings represented by each token. They are kept in a seperate C common block because FORTRAN 77 does not allow CHARACTER C variables and INTEGER variables to appear in the same common block C CHARACTER*20 TOKEN_STRING(1:MAX_NUM_TOKENS) C COMMON /TOKEN_STRING_CMN/ TOKEN_STRING C C------------------------------------------------------------------------- C C Compilation Flags C LOGICAL VERBOSE, DIAGNOSTICS, ANALYSIS, ABORT_ON_ERROR C PARAMETER ( VERBOSE = .FALSE. , DIAGNOSTICS = .FALSE., ANALYSIS = & .FALSE., ABORT_ON_ERROR = .TRUE. ) C C-------------------------------------------------------------------------