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: | Chris F Clark <cfc@shell01.TheWorld.com> |
Newsgroups: | comp.compilers |
Date: | 27 Mar 2006 01:26:37 -0500 |
Organization: | The World Public Access UNIX, Brookline, MA |
References: | 06-03-077 |
Keywords: | parse, C++ |
Posted-Date: | 27 Mar 2006 01:26:37 EST |
Christoph asked:
> 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.
Yes, put only pointers in your union. You can then use a "void *" (or
char *) pointer in your lexer and that will work in C. There are
other reasons why using only pointers in your union is a good
solution. However, let me just say that your union is to help hook you
resulting AST together, and as such you want to have a pointer to the
object being linked and not a copy of the object being linked.
There are also versions of "lex" that generate C++. I would recommend
finding one of them for the long run.
Hope this helps,
-Chris
*****************************************************************************
Chris Clark Internet : compres@world.std.com
Compiler Resources, Inc. Web Site : http://world.std.com/~compres
23 Bailey Rd voice : (508) 435-5016
Berlin, MA 01503 USA fax : (978) 838-0263 (24 hours)
------------------------------------------------------------------------------
Return to the
comp.compilers page.
Search the
comp.compilers archives again.