Newsgroup: it.comp.os.linux.software
Titolo: Fortran e compilazione

Buongiorno a tutti!
        Allora, una domanda facile facile :-)
        Ho installato nella mia distro Mandrake il pacchetto g77 e 
le sue dipendenza, in modo da poter compilare i programmi scritti per Fortr
an (77 chiaramente). 
        Il problema č questo: all'uni usiamo macchine che si collegano
 ad un TrueUnix64. Per programmare facciamo cosě: $ emacs ciao.f90 &
e scriviamo il programma (nel mio pc scrivo f al posto di f90). Salviamo e 
compiliamo: $ f90 ciao.f90 -o ciao.exe
e se non ci sono errori il prog parte, altrimenti riporta gli errori.
        Provo a farlo nel mio pc di casa. Scrivo il programma (il piů f
acile, giusto per vedere se funge!!): 
--------------------------------------------------------------
[hal@LocalHostLinux hal]$ g77 ciao.f -o ciao.exe
ciao.f:1: 
   PROGRAM ciao
   ^
Invalid first character at (^) [info -f g77 M LEX]
ciao.f:2: 
   WRITE (*,*) 'ciao'
   ^
Invalid first character at (^) [info -f g77 M LEX]
ciao.f:3: 
   END PROGRAM ciao
   ^
Invalid first character at (^) [info -f g77 M LEX]
--------------------------------------------------------------
Bhč?! Le ho provate tutte... dal scrivere tutto in corsivo a tutto in 
maiuscolo... non so che pesci prendere... qualcuno mi da una dritta please?
Denghiu!
Buona domenica,
 
_____________________________
H A L

maiuscolo... non so che pesci prendere... qualcuno mi da una dritta please?
fortran non e' case sensitive per quanto riguarda i comandi; puoi
scrivere program, PROGRAM, PrOgRaM ottenendo lo stesso risultato
un suggerimento: quando ti segnala un errore e non riesci a capire che
vuole, esegui il comando che ti suggerisce; in questo caso
info -f g77 M LEX
Ciao ^__^

 Invalid first character at (^) [info -f g77 M LEX]
Il fortran 77 *non ha* un forma libera (come il fortran90). Le istruzioni 
*devono* cominciare alla colonna 7:
      program ciao
      implicit real(a-h,o-z)
      .......
Le prime 5 colonne servono ad eventuali numeri di riga. La colonna 6 e' 
riservata al carattere di continuazione della riga precedente:
Se su tru64 usi il compilatore fortran90 su un file che si chiama .f90 lui 
accetta la forma libera del fortran90 anche se le istruzioni sono quelle 
vecchie del fortran77 e non usi niente di nuovo. Ma g77 e' un compilatore 
fortran77 edi default accetta solo la forma a colonne fisse
Se usi il comando:
$ info -f g77 M LEX
scoprirai che se aggiungi l'opzione -ffree-form in fase di compilazione g77 
sembra poter compilare anche in free-form stile f90.
Ciao.
-- 
Enrico Bodo  -   Postdoc Fellow       
University of Rome "La Sapienza"    
Department of Chemistry        

        Ok, grazie per la dritta. Non ero a conoscenza della distinzione di r
ientro di colonna obbligatorio in f77.
Ho fato come mi avete suggerito e ha funzionato!
        Però, ho anche provato a digitare l'istruzione $ info -f g77 M LEX, i
n modo da poter risolvere questo tipo di problemi da solo in futuro, ma m
i dice "info: g77: No such file or directory"... 
        O sono rinco per l'ora... o che altro?
Grazie mille,
H A L

 i dice "info: g77: No such file or directory"... 
$ rpm -qf /usr/share/info/g77.info.gz
gcc-g77-3.2-7
Sulla redhat8 i file della documentazione info sono contenuti nel pacchetto
gcc-g77 che contiene pure i programmi. Non so pero' se su Mandrake tocca 
installare qualcosa di diverso.
$ rpm -ql pacchetto_di_g77 
dovrebbe farti vedere i file installati dal pacchetto. Magari hanno messo 
solo il man...
-- 
Enrico Bodo  -   Postdoctoral Research Fellow      


 solo il man...
 
infatti... grazie lo stesso Enrico!
A presto e grazie ancora!
-- 
_____________________________
H A L