Related articles |
---|
Problem with Flex/Bison and C/C++ dj.cyberdance@gmx.at (Christoph B.) (2006-03-22) |
Re: Problem with Flex/Bison and C/C++ johnmillaway@yahoo.com (John Millaway) (2006-03-27) |
Re: Problem with Flex/Bison and C/C++ cfc@shell01.TheWorld.com (Chris F Clark) (2006-03-27) |
Re: Problem with Flex/Bison and C/C++ haberg@math.su.se (2006-03-27) |
From: | haberg@math.su.se (Hans Aberg) |
Newsgroups: | comp.compilers |
Date: | 27 Mar 2006 01:27:40 -0500 |
Organization: | Mathematics |
References: | 06-03-077 |
Keywords: | yacc, C++ |
Posted-Date: | 27 Mar 2006 01:27:40 EST |
In article 06-03-077, "Christoph B."
<dj.cyberdance@gmx.at> wrote:
> First, my YYSTYPE union looked like this:
>
> %union
....
> So my question is if there is a simple way to have all the tokens as
> strings and integers and have nonterminals with more complicated C++
> data types. Is there a way to define the data format for nonterminals
> outside from YYSTYPE?
One can do it, but not yet officially using Bison, though it is on the
agenda. Right now, using %union only admits C++ POD types (essentially C
legacy types), as the parser implementation uses C/C++ union. If you do
not use %union, you can define YYSTYPE to any C++ type, but there are some
problems with placing the C++ code. Therefore, I use a special Bison tweak
for that, hoping that eventually it should become a part of Bison. But if
you are programming conservatively, you may not need this, but you can
attempt to use Bison's official C++ skeleton file.
--
Hans Aberg
Return to the
comp.compilers page.
Search the
comp.compilers archives again.