1.2 GNU Fortran и GCC
GNU Fortran является частью GCC, GNU Compiler Collection. GCC состоит из набора фронтендов для различных языков, которые переводят исходный код в язык-независимую форму, называемую GENERIC. Затем эта форма обрабатывается общим средним звеном, которое выполняет оптимизацию, а затем передаётся одному из набора бэкендов, генерирующих код для различных архитектур компьютеров и операционных систем.
Функционально это реализуется с помощью программы-драйвера (gcc), которая предоставляет командную строку интерфейса для компилятора. Она вызывает соответствующую программу фронтенда компилятора (например, f951 для Fortran) для каждого файла в исходном коде, а затем вызывает ассемблер и линкер по мере необходимости для получения скомпилированного результата. В копии GCC, скомпилированной с поддержкой языка Fortran, gcc распознаёт файлы с расширениями .f, .for, .ftn, .f90, .f95, .f03 и .f08 как исходный код Fortran и компилирует его соответствующим образом. Также предоставляется программа-драйвер gfortran, которая идентична gcc, за исключением того, что она автоматически подключает библиотеки времени выполнения Fortran в скомпилированную программу.
Исходные файлы с расширениями .f, .for, .fpp, .ftn, .F, .FOR, .FPP и .FTN обрабатываются как фиксированной формы. Исходные файлы с расширениями .f90, .f95, .f03, .f08, .F90, .F95, .F03 и .F08 обрабатываются как свободной формы. Версии с заглавными буквами любого из этих форматов обрабатываются через предварительную обработку. Исходные файлы с расширением нижнего регистра .fpp также обрабатываются через предварительную обработку.
В данном руководстве подробно описывается фронтенд для Fortran, который обрабатывает синтаксис и семантику языка программирования. Аспекты GCC, относящиеся к оптимизирующим этапам и генерации кода бэкендом, описаны в руководстве GCC; см. Введение в Руководстве по использованию GNU компилятора GCC. Эти два руководства вместе предоставляют полную справку по компилятору GNU Fortran.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gfortran/GNU-Fortran-and-GCC.html