У меня есть куча файлов на Fortran 77, которые используют нестандартную структурную нотацию ( описано здесь ):
STRUCTURE /item/
INTEGER id
CHARACTER(LEN=200) description
REAL price
END STRUCTURE
Это, очевидно, синтаксис, который использовался некоторыми старымикомпиляторы, но позже были стандартизированы в Fortran 90 следующим образом:
TYPE item
INTEGER id
CHARACTER(LEN=200) description
REAL price
END TYPE
Я хочу использовать sed
или другой подходящий инструмент для автоматической обработки моих исходных файлов, чтобы найти все варианты использования старого синтаксиса.и исправьте их, чтобы использовать обновленный синтаксис (т.е. измените все экземпляры «структуры» на «тип» и удалите косые черты).Я уверен, что могу создать некоторый набор регулярных выражений, чтобы сделать это, но я не достаточно опытен в этой области, чтобы начать.
Кстати, есть аналогичная несовместимость с записьюнотация, также описанная в ссылке:
RECORD /item/ pear, store_catalog(100)
становится:
TYPE(item) pear, store_catalog(100)
Я предполагаю, что аналогичные методы можно использовать и для исправления этих случаев.