2008-12-24 9 views

Antwort

23

Es wahrscheinlich Werkzeuge sind automatisiert, aber meine Methoden sind weitgehend Heuristik:

  • Sie Kommentare verwenden, um ein ! überall auf der Linie (F90 +) oder eine C in der ersten Spalte (F77)?
  • Verwenden Sie die Schleifen do .. end do (F90 +) oder do .. continue (F77)?
  • Werden die Linien mit & am Ende der Linie (F90 +) oder in Spalte 6 (f77) fortgesetzt?
  • Verwendet der Code module oder type Strukturen (F90)?
  • Wenn der Code Arrays verwendet, handelt es sich bei ihnen um eine einzelne Struktur (F90) oder immer um Schleifen (F77)?
  • Wird dynamischer Speicher (entweder allocatable oder pointer Methoden) verwendet (F90)?

Im Allgemeinen sind diese ausreichend, um zwischen F90 und F77 zu unterscheiden. Die Unterschiede zwischen Fortran 90 und FORTRAN 77 sind viel, viel größer als die Unterschiede zwischen Fortran 90 und Fortran 95, also höre ich normalerweise dort auf.

+0

Einige der Punkte, die die festen und freien Quellform unterscheiden, nicht Fortran 77 von Fortran 90. Feste Quelle Form (mit C in der ersten Spalte & in Spalte 6 usw.) ist auch für Fortran 2008 vollkommen legal. –

2

Wenn Sie Zugriff auf GNU Fortran (Gfortran) haben, können Sie versuchen, es mit den verschiedenen Optionen für --std kompilieren und sehen, welche funktioniert. Sie finden Details zu den Dialektoptionen here.

2

mir das Hinzufügen von Funktionen in Fortran 2003 und 2008 (die gerade von meinem Kopf)

, wenn das Programm parametriert abgeleiteten Datentypen (Fortran 2003) , wenn das Array-Konstruktor eckige Klammern verwendet [] anstelle von (/ /) (Fortran 2003). Wenn Sie sehen, gibt es die Bereitstellung von Coarrays (Fortran 2008)

Obwohl viele Compiler spezielle Funktionen (wie Bessel-Funktionen) als Teil der Erweiterungen haben, ist es ein Bonafide Fortran 2008 Feature.

(wenn Abweichungen lassen Sie mich wissen, ich werde bearbeiten)

Verwandte Themen