KDevelop-PG and the resulting AST
roberto at kdevelop.org
Sat Jul 21 17:30:10 UTC 2007
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 ;;
> the problem is that there's no relation between the id_sequence and
> func_args_sequence in the AST, but there is one in reality. I tried to
> [: (*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.
More information about the KDevelop-devel