On 2006-08-11 17:39-0700 [EMAIL PROTECTED] wrote:

Thanks Karl, that got me looking in the right direction:

Changing the line

<fixed_fmt>^[cC*dD].*\n { return EOSTMT; }

to:

^[cC*dD].*\n { return EOSTMT; }

in cmDependsFortranLexer.in.y fixes the problem.  This forces the parser to 
ignore comment lines.


Thanks very much for working on CMake fortran issues, Bryan!  For the PLplot
project, we have had to deploy some ugly workarounds (e.g., "Use" ==> "Use_"
in comments) to get around this fortran parsing issue for fixed-length style
fortran source so getting this issue fixed is important to us.

I don't understand flex, but the above looks similar to a regular expression
which I do understand.  Thus, I have a question about the change you have
suggested above.  Won't that fail to parse free-form fortran code correctly
that starts with [cC*dD] in the first column but which is not a comment?
This may be an unlikely scenario (especially if the parsing is only looking
for a very limited set of things in the fortran code), but nevertheless it
makes me a bit uneasy.

To me, the real issue is that somehow fixed format fortran code is not being
recognized.  I assume that is the function of the <fixed_fmt> above, but it
is obviously not working for some reason so you had to remove it.  A more
satisfactory fix would be to find the reason why <fixed_fmt> is not working.
For our code we use the convention that fixed form fortran has a .f suffix
and free-form fortran has a .f90 suffix.  That's consistent with the Intel
compiler conventions, and that convention is also recognized by gfortran
(i.e., we don't have to specify any special options to the gfortran compiler
for either our fixed format or free-format fortran code so long as we follow
that suffix rule).  Is that the source of the trouble?  Would CMake parse
fixed-form source files properly if we used the -ffixed-form gfortran option?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the
Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to