Related articles |
---|
Parsing C++ with lex++ and bison++ ? kumar@decster.uta.edu (1994-06-16) |
Re: Parsing C++ with lex++ and bison++ ? ruiter@ruls41.leidenuniv.nl (1994-06-19) |
Re: Parsing C++ with lex++ and bison++ ? bburshte@us.oracle.com (Boris Burshteyn) (1994-06-23) |
Re: Parsing C++ with lex++ and bison++ ? aleung@netcom.com (1994-06-25) |
Re: Parsing C++ with lex++ and bison++ ? bburshte@us.oracle.com (Boris Burshteyn) (1994-06-29) |
Newsgroups: | comp.compilers |
From: | Boris Burshteyn <bburshte@us.oracle.com> |
Keywords: | C++, parse, tools |
Organization: | Compilers Central |
References: | 94-06-095 94-06-117 |
Date: | Thu, 23 Jun 1994 21:40:04 GMT |
Jan-Peter de Ruiter writes:
>Flex++ and Bison++ do generate C++ code, but they do not cooperate well
>with some C++ features. A great disappointment for me was that I couldn't
>use $-types that were classes with user-defined constructors. You have to
>do everything with pointers, i.e. do your own memory management. This, for
>me, spoiled all the fun.
I do not know exactly why BISON++ does not allow $-types with user-defined
constructors, but one could suppose this comes from the fact that a
LR1 parser constantly pushes attributes on the stack during shifts and goto
steps, and then pops them out at reductions. It might be inefficient to
allow for user-defined constructors and destructors to be called in this
manner. Although, it is certainly doable and can be optimized.
Thanks, Boris.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.