我正在尝试编译一些非常旧的Fortran(Fortran66)代码并遇到一些问题,我希望有人可以评论或帮助我解决错误。特别是,这个旧代码使用了大量的Hollerith常量(是的......它真的是旧代码)用于文本/字符。不用说,我收到一些警告信息,代码无法编译。编辑尝试将其更改为更现代的文本声明几乎是不可能的,因为我只是不确定哪些代码会破坏。
我不是这方面的专家,所以不知道如何解决这个问题。我很感激一些建议。
以下是样本声明声明
IMPLICIT REAL*8 (A-H,O-Z)
PARAMETER (MRTOT =10000000, MITOT =1000000, MNUMNP=18500)
REAL*8 IHED( 9),CPSTM,CPETM,STTIM,EDTIM,ACCTIM,USETIM
CHARACTER MNBLR*1, DUMMY*80
CHARACTER*9 FILE1,FILE2
CHARACTER*80 TITLE,FMT
DIMENSION RA(6000),T(12), NDOTLT(1000)
DIMENSION IPR1(2,10),IPR2(2,10),UATMX(MNUMNP,2),VATMX(MNUMNP,2)
EQUIVALENCE (IA,RA)
DATA IPR2/20*0/,IPR1/20*0/
DATA IIIEND/3HEND /,IIIEXE/3HEXE/,IIIEIG/3HEIG /
COMMON /R/A ( MRTOT )
COMMON /I/IA( MITOT )
COMMON /JOINO/LPEL
COMMON /HENNI/DACCUM( MNUMNP, 2 )
character*5 input
和一些错误消息:
DATA IIIEND/3HEND /,IIIEXE/3HEXE/,IIIEIG/3HEIG /
1
Warning: Legacy Extension: Hollerith constant at (1)
dynamic.f:618:72: Error: Syntax error in argument list at (1)
dynamic.f:23:49:
DATA IIIEND/3HEND /,IIIEXE/3HEXE/,IIIEIG/3HEIG /
1
Warning: Extension: Conversion from HOLLERITH to INTEGER(4) at (1)