Re: [Boost-bugs] [Boost C++ Libraries] #1752: Feeding new tokens to be processed from a "#pragma wave" directive

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