Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1752: Feeding new tokens to be processed from a "#pragma wave" directive
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-04-03 08:35:33
#1752: Feeding new tokens to be processed from a "#pragma wave" directive
---------------------------------+------------------------------------------
Reporter: caminant_at_[hidden] | Owner: hkaiser
Type: Feature Requests | Status: assigned
Milestone: Boost 1.36.0 | Component: wave
Version: Boost 1.34.1 | Severity: Problem
Resolution: | Keywords:
---------------------------------+------------------------------------------
Comment (by caminant_at_[hidden]):
Thanks for answering so quickly.
What we are trying to do, is to define "macros" that allow to compile a
certain piece of code in a very customisable way. These "macros" define
several options which are later selected by a user and imply adding some
#defines or including other files that can add more options. The piece of
code is going to be big, and we don't want to have it in a monolithic file
full of #ifdefs. We use a tool that reads the possible options of a piece
of code (from our "macros") and allows the user to change them and
recompile again, getting new options, and so on.
We cannot use preprocessor macros because of the limitation you mention.
That's why we moved to wave and tried to use "#pragma wave". Right now we
are doing our own parsing, combined with wave, but this implies some
complicated code doing multiple passes. It would be really clean if we
could use one single pass of wave.
I understand the decission of working like a preprocessor macro for the
new tokens, it makes a lot of sense. But i also thought that, not being
defined in the standard, it wouldn't be difficult to allow to insert
tokens that would be preprocessed. Something like putting them in the
"unput" container instead of the "pending", using the names in the wave
source code.
j.
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1752#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:57 UTC