KDevelop-PG and the resulting AST
Andreas Pakulat
apaku at gmx.de
Sat Jul 21 19:03:01 UTC 2007
On 21.07.07 19:30:10, Roberto Raggi wrote:
> Il giorno 21/lug/07, alle ore 19:00, Andreas Pakulat ha scritto:
>
> > in the qmake_parser_experiment branch I've hit a pretty bad problem: I
> > can't produce a proper AST node for this rule:
> >
> > ( OR #id=IDENTIFIER ( #func_args=function_args | 0 ) )
> > -> or_op;;
>
> the standard fix in LL is: introduce a new symbol. For example, I
> have introduced a new symbol called `item'.
>
> #item=item @ OR -> or_op ;;
>
> id=IDENTIFIER (LPAREN arg=function_args RPAREN | 0) -> item ;;
Damn, I shouldn't code under time-pressure :) In fact I already did
exactly that at one or two other places.
> > the problem is that there's no relation between the id_sequence and
> > the
> > func_args_sequence in the AST, but there is one in reality. I tried to
> > put
> >
> > [: (*yynode)->func_args_sequence->insert(0); :]
> >
> > into the epsilon part, but that doesn't work because kdev-pg's list
> > implementation is "crap" ;).
>
> It's not crap ;-) it's a plain standard circular list, you don't need
> more in compiler front-ends, but it's true it needs to be improved.
I didn't mean it literally (thus the quotes), I guess I should've
thought about a better word. I was just surprised that it didn't have a
way to append an entry.
Andreas
--
Next Friday will not be your lucky day. As a matter of fact, you don't
have a lucky day this year.
More information about the KDevelop-devel
mailing list