Eric Niebler | 30 Sep 23:15
Picon
Favicon

Re: [Proto] Evaluating non-trivial expression

Joel Falcou wrote:
> Eric Niebler a écrit :
>> Interesting. You might try disabling Proto's comma operator and 
>> writing your own that fires off expression evaluations.
>> 
> I thought of that but I need the whole AST for checking for various 
> stuff. Basically I transform a algebra AST into a a pair of objects :
> a tuples of matrix begin() pointer and a stripped AST so I can
> generate a software pipelined evaluation loop nest.
> 
> I tried adding the destructor-based evaluation and it seems to work
> but I fear there may be some side-effects I'll regret later.

Aside from the usual advice against doing stuff in destructors that can 
fail ... how do you ensure that only the top-level (outermost) object's 
destructor causes an evaluation?

Might it be cleaner to be more explicit about evaluation, e.g., like:

   eval(( a = b+c, u = x + y, z = 3*e ));

?

--

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

Gmane