Re: Overlay and actions/OLE

Martin Stein <[email protected]> Sat, 03 Jan 2015 21:59:02 +0100
Newsgroups gmane.emacs.cedet
Message-ID <[email protected]>
Hi,

thanks for the help so far.

 > It might also be that you'd be more happy with Wisent, which is 
Semantic's LALR
> parser (pretty much a Bison port).
Is there a particular advantage of Wisent with respect to Fortran. The 
only interesting piece of information I stumbled upon was that old 
languages have been defined to facilitate LL parsing with at most most 
one look-ahead as there were efficient algorithms back then - 60-70 
years ago :) Coupled with the fact that the c.by/c.el parser is a good 
example to learn or copy from I went for (or rather stayed with) bovine.

> Yeah well, I ducked that one. The preprocessor is handled as a special
> lexer (see lex-spp.el) and isn't directly tied to C/C++, so it should be
> reusable for Fortran.
I have already seen as much. As far as I know, fortran preprocessors are 
somewhat more restrictive than C preprocessors (e.g. no ## concat, no 
continuation lines).

> Be warned though that this is pretty hairy and has
> been an endless source of frustrations when dealing with C/C++, since in
> real life, the preprocessor runs before the lexer.
Well, usage of the preprocessor is usually much simpler in Fortran than 
in C. I'm going to just let it play out.

> but for now I'm rather looking into writing a GCC plugin instead to pretty
> much replace our existing parser, which will also get rid of "the
> preprocessor problem".
How does gcc produce tags (or a readable parse tree)? If gcc can do 
that, gfortran might be suitable as well.

Martin


------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net