Re: [Doxygen-users] Error in file XX.f90 line:3468, state 4
Brought to you by:
dimitri
From: Albert <alb...@gm...> - 2014-05-13 17:56:45
|
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 >>> > > >>> > > >>> > >>> > >>> >> >> > |