📄 stadef.for
字号:
SUBROUTINE STADEF*-----------------------------------------------------------------------**--- initialises the statement classification by reading*--- the statement descriptions from internal buffers (data*--- statement) and filling the necessary arrays.**--- output* all variables in common/CLASS/* SSTM in COMMON/ALCAZA/* SNAM in COMMON/ALCAZA/**----------------------------------------------------------------------- include 'param.h' include 'alcaza.h' include 'class.h' include 'flwork.h' include 'condec.h' LOGICAL DOITFL SAVE DOITFL CHARACTER SDESCR(MXSTAT)*86,STEMP*1,SLAST*1,STR1*24,STR2*20*--- SDESCR contains the FORTRAN statement description*--- important for new entries:* - scan order is top - down (see e.g. INTEGER - INTEGERFUNCTION etc.)* - order is alphabetic* - special characters at the end** The numbers correspond to ISTMDS(6)...ISTMDS(22)** no.+prty+name descrpt.* l u s x n k h type information DATA SDESCR( 1)/' 1 0 ASSIGN ASSIGN@TO DEF +99 0 1 1 2 0 0 0 1 0 0 0 0 0 0'/ DEF DATA SDESCR( 2)/' 3 0 BACKSPACE DITO DEF +99 0 0 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 3)/' 4 0 BLOCKDATA DITO DEF +99 0 0 0 1 2 1 0 1 14 0 0 0 0 0'/ DEF DATA SDESCR( 4)/' 5 0 BUFFERIN DITO DEF +99 0 0 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 5)/' 6 0 BUFFEROUT DITO DEF +99 0 0 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 6)/'15 0 CONTINUE DITO DEF +99 0 0 1 0 2 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 7)/' 7 0 CALL DITO DEF +99 0 5 1 2 2 0 1 1 15 2 0 17 0 0'/ DEF DATA SDESCR( 8)/'12 0 COMMON DITO DEF +99 0 0 0 2 2 0 21 1 8 3 0 18 20 0'/ DEF DATA SDESCR( 9)/'14 0 COMPLEXFUNCTION COMPLEX#FUNCTION DEF +99 0 0 0 2 0 1 1 3 4 17 21 2 0 19'/ DEF DATA SDESCR( 10)/'13 0 COMPLEX COMPLEX*@ DEF +99 0 0 0 2 0 0 10 2 4 18 0 0 0 0'/ DEF DATA SDESCR( 11)/'13 0 COMPLEX DITO DEF +99 0 0 0 2 2 0 10 2 4 18 0 0 0 0'/ DEF DATA SDESCR( 12)/' 9 0 CHARACTERFUNCTION CHARACTER#FUNCTION DEF +99 0 0 0 2 0 1 1 3 6 17 21 2 0 19'/ DEF DATA SDESCR( 13)/' 8 0 CHARACTER CHARACTER*@ DEF +99 0 0 0 2 0 0 10 2 6 18 0 0 0 0'/ DEF DATA SDESCR( 14)/' 8 0 CHARACTER DITO DEF +99 0 0 0 2 2 0 10 2 6 18 0 0 0 0'/ DEF DATA SDESCR( 15)/'10 0 CLOSE DITO DEF +99 0 4 1 2 3 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 16)/'16 0 DATA DITO DEF +99 0 0 0 2 2 0 0 1 0 0 0 0 0 0'/ DEF DATA SDESCR( 17)/'19 0 DIMENSION DITO DEF +99 0 0 0 2 2 0 10 2 0 18 0 0 0 0'/ DEF DATA SDESCR( 18)/'20 1 DO DO@, DEF + 3 0 1 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 19)/'20 2 DO DO@?=!, DEF + 3 0 1 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 20)/'20 3 DO DO?=!, DEF + 3 0 1 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 21)/'20 4 DOWHILE DOWHILE(>); DEF + 7 4 1 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 22)/'17 0 DECODE DITO DEF +99 0 4 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 23)/'22 0 DOUBLEPRECISIONFUNCTION DITO DEF +99 0 0 0 2 2 1 1 3 5 17 21 2 0 19'/ DEF DATA SDESCR( 24)/'21 0 DOUBLEPRECISION DITO DEF +99 0 0 0 2 2 0 10 2 5 18 0 0 0 0'/ DEF DATA SDESCR( 25)/'26 0 END END; DEF +99 0 0 1 0 0 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 26)/'71 0 ENDDO ENDDO; DEF +99 0 0 1 0 0 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 27)/'27 0 ENDIF DITO DEF +99 0 0 1 0 2 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 28)/'28 0 ENDFILE DITO DEF +99 0 0 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 29)/'29 0 ENTRY DITO DEF +99 0 0 0 2 2 0 1 2 0 16 1 0 0 0'/ DEF DATA SDESCR( 30)/'30 0 EQUIVALENCE DITO DEF +99 0 0 0 2 2 0 0 1 0 0 0 0 0 0'/ DEF DATA SDESCR( 31)/'31 0 EXTERNAL DITO DEF +99 0 0 0 2 2 0 0 1 12 0 0 0 0 0'/ DEF DATA SDESCR( 32)/'23 0 ELSE ELSE; DEF +99 0 0 1 0 0 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 33)/'24 0 ELSEIF ELSEIF(>)THEN; DEF + 6 4 0 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 34)/'25 0 ENCODE DITO DEF +99 0 4 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 35)/'33 0 FORMAT DITO DEF +99 0 0 0 0 2 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 36)/'34 0 FUNCTION DITO DEF +99 0 0 0 2 2 1 1 2 0 17 2 0 19 0'/ DEF DATA SDESCR( 37)/'37 0 GOTO-(UNCOND.) GOTO@ DEF +99 0 1 1 0 0 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 38)/'36 0 GOTO-(COMP.) GOTO( DEF +99 0 2 1 2 2 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 39)/'35 0 GOTO-(ASS.) GOTO& DEF + 4 0 2 1 2 0 0 0 1 0 0 0 0 0 0'/ DEF DATA SDESCR( 40)/'39 0 IF-(BLOCK) IF(>)THEN; DEF + 3 4 0 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 41)/'40 0 IF-(LOGICAL) IF(>)& DEF + 3 0 0 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 42)/'38 0 IF-(ARITM.) IF(>)@ DEF + 3 0 3 1 2 0 0 0 2 0 17 0 0 0 0'/ DEF DATA SDESCR( 43)/'69 0 ILLEGAL DEF + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 44)/'70 0 INCLUDE INCLUDE DEF +99 0 0 0 1 0 0 0 1 19 0 0 0 0 0'/ DEF DATA SDESCR( 45)/'44 0 INTEGERFUNCTION DITO DEF +99 0 0 0 2 2 1 1 3 1 17 21 2 0 19'/ DEF DATA SDESCR( 46)/'43 0 INTEGER INTEGER*@ DEF +99 0 0 0 2 0 0 10 2 1 18 0 0 0 0'/ DEF DATA SDESCR( 47)/'43 0 INTEGER DITO DEF +99 0 0 0 2 2 0 10 2 1 18 0 0 0 0'/ DEF DATA SDESCR( 48)/'41 0 IMPLICIT DITO DEF +99 0 0 0 0 2 0 2 0 0 0 0 0 0 0'/ DEF DATA SDESCR( 49)/'42 0 INQUIRE DITO DEF +99 0 4 1 2 3 0 0 1 0 0 0 0 0 0'/ DEF DATA SDESCR( 50)/'45 0 INTRINSIC DITO DEF +99 0 0 0 2 2 0 0 1 11 0 0 0 0 0'/ DEF DATA SDESCR( 51)/'48 0 LOGICALFUNCTION DITO DEF +99 0 0 0 2 2 1 1 3 3 17 21 2 0 19'/ DEF DATA SDESCR( 52)/'47 0 LOGICAL LOGICAL*@ DEF +99 0 0 0 2 0 0 10 2 3 18 0 0 0 0'/ DEF DATA SDESCR( 53)/'47 0 LOGICAL DITO DEF +99 0 0 0 2 2 0 10 2 3 18 0 0 0 0'/ DEF DATA SDESCR( 54)/'46 0 LEVEL DITO DEF +99 0 0 0 2 2 0 0 1 0 0 0 0 0 0'/ DEF DATA SDESCR( 55)/'49 0 NAMELIST DITO DEF +99 0 0 0 2 2 0 1 1 9 1 0 0 0 0'/ DEF DATA SDESCR( 56)/'50 0 OPEN DITO DEF +99 0 4 1 2 3 0 0 1 0 0 0 0 0 0'/ DEF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -