6.2.1 Инструкции ENCODE и DECODE
GNU Fortran не поддерживает инструкции ENCODE и DECODE. Эти инструкции лучше заменить инструкциями READ и WRITE, связанными с внутренними файлами (переменными и массивами CHARACTER), которые являются частью стандарта Fortran с Fortran 77. Например, фрагмент кода
INTEGER*1 LINE(80)
REAL A, B, C
c ... Code that sets LINE
DECODE (80, 9000, LINE) A, B, C
9000 FORMAT (1X, 3(F10.5))заменить на:
CHARACTER(LEN=80) LINE
REAL A, B, C
c ... Code that sets LINE
READ (UNIT=LINE, FMT=9000) A, B, C
9000 FORMAT (1X, 3(F10.5))Аналогично, заменить фрагмент кода
INTEGER*1 LINE(80)
REAL A, B, C
c ... Code that sets A, B and C
ENCODE (80, 9000, LINE) A, B, C
9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5))на следующий:
CHARACTER(LEN=80) LINE
REAL A, B, C
c ... Code that sets A, B and C
WRITE (UNIT=LINE, FMT=9000) A, B, C
9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5))
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gfortran/ENCODE-and-DECODE-statements.html