Tidigare skrevs alla Fortran-program i ett hålkortsbaserat system där kolumnerna var mycket viktiga, och den verkliga programtexten (källkoden) strängt taget bara fick finnas i kolumnerna 7 till 72. Sedan 1979 använder inte ens jag längre några hålkort. En ny form för källkoden har därför skapats.
Ett vanligt fel är att man låter den verkliga programtexten börja för tidigt (före kolumn 7), vilket ger att kompilatorn oftast noterar ett fel, eller låter den fortsätta för långt åt höger (efter kolumn 72), vilket kompilatorn oftast ej noterar som fel.
En rad under fri form får innehålla upp till 132 tecken (inklusive eventuella blanka).
PRINT *, ' Detta är en lång utmatningsrads första del', *' och detta är dess andra del!'Under fix form tillåtes maximalt 19 fortsättningsrader.
Under fri form markerar man i stället på den rad som skall fortsättas att en fortsättningsrad följer,
PRINT *, ' Detta är en lång utmatningsrads första del', & ' och detta är dess andra del!'dvs man fortsätter numera en rad med att ge ett "ampersand" eller "och son", dvs tecknet &, på slutet av den gamla raden.
Under fri form tillåtes maximalt 39 fortsättningsrader.
Ibland kan det hända att en viss identifierare eller ett visst numeriskt uttryck inte får plats på raden. Man kan då under fri form avbryta var som helst med tecknet & och sedan på nästa rad ge ett nytt & som första icke-blanka tecken. Man fortsätter sedan direkt från detta & utan blank. Tecknet & fungerar således som ett slags avstavningstecken.
PI = 3.141592653589793kan således skrivas helt ekvivalent
PI = 3.14159265& &3589793Notera även att det är det sista & på en rad som fungerar som fortsättningstecken, det går därför alldeles utmärkt att skriva en textsträng innehållande &.
Det kan ibland vara önskvärt att göra tvärtom, nämligen att ha flera satser på samma rad. Detta sker med hjälp av semikolon, samt med utropstecken före eventuell avslutande kommentar på raden. Det var däremot ej möjligt att ha flera logiska satser på samma rad under Fortran 77 och tidigare.
A = 0.0 ; B = 1.0 ; C = 2.0 ! InitieringOvanstående gäller den nya fria formen. Även i den gamla kolumnorienterade formen får man numera använda semikolon och utropstecken mellan kolumnerna 7 och 72, men man kan där ej fortsätta med & och ej skriva kommandon i kolumn 1 till 6 eller 73 till 80.
Notera att under den nya fria formen så är blanka signifikanta, dvs mitt favoritexempel
DO 25 I = 1. 25ger kompileringsfel eftersom kompilatorn inte hittar något komma mellan undre och övre gräns, medan den komprimerade versionen
DO25I = 1.25ger samma resultat som den okomprimerade under Fortran 77 eller under den gamla fixa formen av Fortran 90, nämligen att variabeln DO25I tilldelas värdet 1,25.
Under fri form inledes kommentarer med ! var som helst på raden och avslutas med radslut. Notera att C eller * ej är tillåtna som kommentartecken under den fria formen.
Observera att kommentarrader ej kan fortsättas eftersom även tecknet & där behandlas som tillhörigt kommentaren. Däremot kan man fritt lägga in kommentarrader även bland fortsättningsrader. Man kan naturligtvis "fortsätta" kommentarrader genom att ge ett ! i kolumn 1 på nästa rad, men då blir det formellt en ny kommentar.
Ovanstående gäller den nya fria formen. Utropstecken i någon av kolumnerna 1 till 5 eller 7 till 72 betyder naturligtvis kommentar även i den gamla fixa formen, men i kolumn 6 betyder både ! och ; som tidigare fortsättningsrad. Notera att under Fortran 77 är däremot utropstecken inte tillåtet i kolumn 2 till 5 (om det inte finns en kommentarsymbol redan i kolumn 1).
A = 0.0 ; B = 3.0 ! First variables ; C = 17.0 ; D = 33.0Lösning.
(9.2) Är följande rader korrekt Fortran 90?
Y = SIN(MAX(X1,X2)) * EXP( -COS(X3)**I ) - TAN(AT& & AN(X4))Lösning.
program TEST ! kolumn 73 ! | write(*,*) & & ' test ' end ! | ! kolumn 6Detta är ej strikt standard Fortran 77 eftersom varken & eller ! finns i den standardiserade tecken-uppsättningen. Däremot passar ovanstående konstruktion perfekt för programsegment som med satsen INCLUDE (se närmare Appendix 3, avsnitt 1) ibland skall inkluderas i Fortran 90 programenheter under den gamla fixa formen, ibland under den nya fria formen. Programsegmentet skall då skrivas som om blanka vore signifikanta.