Larry Evans | 14 May 20:22

[proto v4]compile time equation soln prototype fails to compile with "when" map for "variables"

In the vault at:

http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=pass_thru_tag_xform.cpp&directory=Strings%20-%20Text%20Processing&PHPSESSID=ab51206c9d980155d142f5bcef8e00ee

there's a partial prototype for compile time solving a system of
equations. The partial prototype is partial because it just tries
to simplify the rhs of the equation.  The domain is calculating
the empty attributes of a set of grammar productions (i.e. the
equations).  The typedef ... xfrm_empty_varbl_map0
is supposed to implement a substitution operation which
substitutes a literal value for a variable.  In this
particular case, the variable is

   empty::tag_varbl<gram::varbl_factor>

and the value to be substituted is:

   empty::tag_literal<empty::literal_not>

As indicated in the comments following:

//NOTE:varbl_empty_map_bug:

it fails to reduce the rhs to a terminal expression
of type tag_literal<empty::literal_not> at the valu_empty_not_leaves
statement.  However, this only happens when the xfrm_empty_varbl_map0
is included as the 1st term in xfrm_reduce_empty_n.

Does anybody have any ideas of why that happens?

(Continue reading)

Larry Evans | 14 May 21:54

OOPS (was Re: [proto v4]compile time equation soln prototype fails to compile with "when" map for "variables"

On 05/14/08 13:23, Larry Evans wrote:
> In the vault at:
> 
> http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=pass_thru_tag_xform.cpp&directory=Strings%20-%20Text%20Processing&PHPSESSID=ab51206c9d980155d142f5bcef8e00ee
[snip]
> Does anybody have any ideas of why that happens?
> 
OOPS.  I just noticed there's another #ifdef VARBL_EMPTY_MAP which
disables the compile of the valu_empty_not_leaves statement.

Sorry for noise.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

Gmane