Fortran: Fortran 2003: Programmaufbau

<<< zur Fortran-Startseite
<< Fortran 2003 Bibliotheken >>
< Programmaufbau Datentypen >


Programmaufbau und Zeilenformat

Bearbeiten

Der grundlegende Programmaufbau und das Zeilenformat von Fortran 90/95 wurden in Fortran 2003 beibehalten. Neben der free source form ist aus Kompatibilitätsgründen auch noch immer die alte, aus FORTRAN 77 bekannte, fixed source form gültig.

Eine Zeile darf auch in Fortran 2003 bei Verwendung der free source form standardmäßig maximal 132 Zeichen beinhalten. Ein symbolischer Name darf nun höchstens 63 Zeichen lang sein. Eine Anweisung darf sich maximal über 256 Zeilen erstrecken. Das Zeilenfortsetzungszeichen ist wie in Fortran 90/95 das Kaufmanns-Und: &. Mit Fortran 2023 wurden diese Beschränkungen deutlich aufgeweicht. Eine Zeile darf nun 10000 Zeichen enthalten. Eine Anweisung darf nun insgesamt aus 1 Mio. Zeichen bestehen.

Zeichenvorrat

Bearbeiten

Der Fortran 2003-Zeichenvorrat wurde gegenüber Fortran 90/95 erweitert:

Großbuchstaben: A bis Z
Kleinbuchstaben: a bis z
Ziffern: 0 bis 9
FORTRAN 77-Sonderzeichen: + - * / = ( ) : , . ' $ und Leerzeichen
Fortran 90/95-Sonderzeichen: _ ! ? " & ; < >
Fortran 2003-Sonderzeichen: \ [ ] { } ~ ` ^ | # @
FORTRAN 77
neu bei Fortran 90/95
neu bei Fortran 2003

Anwendungsgebiet der neu hinzugekommenen Zeichen

Bearbeiten

Von den in Fortran 2003 neu zugefügten Zeichen haben nur die eckigen Klammern einen konkreten Anwendungsbereich als Kennzeichnung von Feldkonstruktoren. Ein Feldkonstruktor darf neben der aus Fortran 95 bekannten Form

(/ werte /)

nun auch mit eckigen Klammern geschrieben werden

[ werte ]

Beispiel:

Fortran 2003 (oder neuer)-Code
! bsp.f03

program bsp
  implicit none
  
  integer, dimension( 3 ) :: a = [ 20, 33, 55 ]
  integer, dimension( 2 ) :: b = (/ 44, 55 /)
  
  write( *, *) a
  write( *, *) b 

! Ausgabe: 
!   20 33 55
!   44 55
end program bsp

Kompilieren, linken:

gfortran -o bsp bsp.f03

Der Block

Bearbeiten

Beispiel:

Fortran 2003 (oder neuer)-Code
program block
  implicit none
  real a
  a = 3.1415

  block
    real a
    a = 2.7182
    print *, a
  end block

  print *, a
end program block

Ausgabe:

2.71819997
3.14150000



<<< zur Fortran-Startseite
<< Fortran 2003 Bibliotheken >>
< Programmaufbau Datentypen >