30 Sep 23:15
Re: [Proto] Evaluating non-trivial expression
Eric Niebler <eric <at> boost-consulting.com>
2008-09-30 21:15:49 GMT
2008-09-30 21:15:49 GMT
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
RSS Feed