Re: [Doxygen-users] Error in file XX.f90 line:3468, state 4
Brought to you by:
dimitri
From: Albert <alb...@gm...> - 2014-05-14 12:57:17
|
Hi Fabian, In which version of doxygen did you try the EXTENSION_MAPPING as it is new to version 1.8.7? Albert On Wed, May 14, 2014 at 2:54 PM, Fabian Nick <fab...@sc... > wrote: > Hi Albert, > > thanks for your efforts. > > Since the error only occured in one file, I think we can live with this > quick fix for the time being. > We'll have to see how our usage of Doxygen develops anyway. (Our code has > grown over quite some years already so it won't be easy do document > everything and have a nice and clean documentation) > > Regarding the EXTENSION_MAPPING parameter: I tried setting it to > FortranFree but the error still occured in the "non-fixed" version of the > source file. > > Best regards, > Fabian > > ----- Original Message ----- > > From: "Albert" <alb...@gm...> > > To: "Fabian Nick" <fab...@sc...> > > Cc: dox...@li... > > Sent: Tuesday, 13 May, 2014 7:56:38 PM > > Subject: Re: [Doxygen-users] Error in file XX.f90 line:3468, state 4 > > > > > > Posting on forum as well. > > > > > > > > > > > > On Tue, May 13, 2014 at 7:46 PM, Albert < alb...@gm... > > > wrote: > > > > > > > > > > > > Hi Fabian, > > > > I had a quick look. > > > > In version 1.8.7 placing as first line" > > ! > > > > i.e. a space followed by an exclamation mark solves the problem. > > > > In version 1.6.1 the file is still preprocessed but the error is gone > > and the file looks OK (but maybe in more complex situations problems > > do occur). > > > > > > Determination of free or fixed formatted code is not really possible > > there are always exceptions possible. In compilers this is often > > solved by means of the extension and a switch. In doxygen 1.8.7 the > > possibility exists to specify the type (free or fixed formatted) > > Fortran code by means of EXTENSION_MAPPING in the Doxyfile: > > # Doxygen selects the parser to use depending on the extension of the > > files it > > # parses. With this tag you can assign which parser to use for a > > given > > # extension. Doxygen has a built-in mapping, but you can override or > > extend it > > # using this tag. The format is ext=language, where ext is a file > > extension, and > > # language is one of the parsers supported by doxygen: IDL, Java, > > Javascript, > > # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format > > Fortran: > > # FortranFixed, free formatted Fortran: FortranFree, unknown > > formatted Fortran: > > # Fortran. In the later case the parser tries to guess whether the > > code is fixed > > # or free formatted code, this is the default for Fortran type > > files), VHDL. For > > # instance to make doxygen treat .inc files as Fortran files (default > > is PHP), > > # and .f files as C (default is Fortran), use: inc=Fortran f=C. > > # > > # Note For files without extension you can use no_extension as a > > placeholder. > > # > > # Note that for custom extensions you also need to set FILE_PATTERNS > > otherwise > > # the files are not read by doxygen. > > > > EXTENSION_MAPPING = > > > > > > > > > > Albert > > > > > > > > > > > > > > > > On Tue, May 13, 2014 at 2:15 PM, Albert < alb...@gm... > > > wrote: > > > > > > > > > > > > Hi Fabian, > > > > Very nice small example. I'll have a look in the evening. > > > > Albert > > > > (got message through both channels) > > > > > > > > > > > > > > On Tue, May 13, 2014 at 1:42 PM, Fabian Nick < > > fab...@sc... > wrote: > > > > > > Hi Albert, > > > > unfortunately I cannot send you the source file. However I was able > > to boil it down to the one attached. For convenience, I also > > attached the config file I used (it's just the one generated by > > doxygen -g though...) > > > > Notice the leading blanks. > > The version attached does NOT work. However, if there are equally > > many leading blanks before "subroutine testsub" and "end subroutine" > > it works! > > Also, removing the module declarations helps as well. > > > > If you need more information, just let me know! > > > > Thanks, > > > > Fabian > > > > ----- Original Message ----- > > > From: "Albert" < alb...@gm... > > > > To: "Fabian Nick" < fab...@sc... > > > > Cc: dox...@li... > > > > > > > Sent: Tuesday, 13 May, 2014 1:12:57 PM > > > Subject: Re: [Doxygen-users] Error in file XX.f90 line:3468, state > > > 4 > > > > > > > > > > > > > > > > > > Hi Fabian, > > > > > > > > > It is always hard to find these kind of errors. What I do is that I > > > reduce the file and see what happens (good old trial and error > > > removing half of the file etc.). > > > > > > Is it possible for you to post the file? (I could have a look in > > > the > > > evening. > > > > > > Albert > > > > > > > > > > > > > > > On Tue, May 13, 2014 at 1:07 PM, Fabian Nick < > > > fab...@sc... > wrote: > > > > > > > > > Hi Albert, > > > > > > no the Prepassing line is not present. Just "preprocessing..." and > > > "parsing..." > > > I tried the extra line starting with "!" anyway, but it didn't > > > help. > > > > > > Using 1.8.7 didn't help either, however the error is now reported > > > in > > > line 3467 (as opposed to 3468 before). > > > > > > And yes, the file does compile properly. > > > Are there any constructs (like strings containing '!' in the > > > source) > > > I could look out for? > > > > > > Regards, > > > Fabian > > > > > > > > > > > > ----- Original Message ----- > > > > From: "Albert" < alb...@gm... > > > > > To: "Fabian Nick" < fab...@sc... > > > > > Cc: dox...@li... > > > > Sent: Tuesday, 13 May, 2014 12:55:10 PM > > > > Subject: Re: [Doxygen-users] Error in file XX.f90 line:3468, > > > > state > > > > 4 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Fabian, > > > > > > > > The line number is the number where it saw a problem and in this > > > > case > > > > this is when the file has been completely parsed. > > > > The state 4 means an error with SubprogBody, so something not > > > > ended > > > > properly (I assume the file compiles properly). > > > > > > > > You are using version 1.6.1 and the current version is 1.8.7 so > > > > an > > > > upgrade would certainly help. > > > > During the run does it say something about prepassing XX.f90 ? > > > > so like: > > > > Reading .../XX.f90 > > > > Prepassing fixed form of .../XX.f90 > > > > Parsing file XX.f90 > > > > > > > > The line > > > > Prepassing fixed form of .../XX.f90 > > > > should not be present, if present try to place a ! as fist line > > > > in > > > > the XX.f90 file. > > > > > > > > > > > > Anyhow upgrading to 1.8.7 is a very good idea. > > > > > > > > > > > > Albert > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, May 13, 2014 at 11:46 AM, Fabian Nick < > > > > fab...@sc... > wrote: > > > > > > > > > > > > Hi everyone, > > > > > > > > when trying to run doxygen on a large (Fortran-)project, I get > > > > the > > > > "Error in file XX.f90 line:3468, state 4" error. The interesting > > > > thing is that the file only has 3466 lines... > > > > The file is in fixed format. Somewhere on the web it was said > > > > that > > > > enabling the C-preprocessor might help but it doesn't in my case. > > > > I > > > > also read that there was a bug which was fixed in version 1.5.6 > > > > (I > > > > think), however I'm using version 1.6.1. > > > > > > > > Any advice on what I could try? > > > > > > > > Regards, > > > > Fabian > > > > > > > > > ------------------------------------------------------------------------------ > > > > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For > > > > FREE > > > > Instantly run your Selenium tests across 300+ browser/OS combos. > > > > Get unparalleled scalability from the best Selenium testing > > > > platform > > > > available > > > > Simple to use. Nothing to install. Get started now for free." > > > > http://p.sf.net/sfu/SauceLabs > > > > _______________________________________________ > > > > Doxygen-users mailing list > > > > Dox...@li... > > > > https://lists.sourceforge.net/lists/listinfo/doxygen-users > > > > > > > > > > > > > > > > > > > > > > > |