209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 | |
def eval(self, frame, astpattern=astpattern, |
co=compile(astpattern, '?', 'eval')): |
left = Interpretable(self.left) |
left.eval(frame) |
right = Interpretable(self.right) |
-> right.eval(frame) |
self.explanation = (astpattern |
.replace('__exprinfo_left', left .explanation) |
.replace('__exprinfo_right', right.explanation)) |
try: |
self.result = frame.eval(co, __exprinfo_left=left.result, |
__exprinfo_right=right.result) |
except passthroughex: |
raise |
except: |
raise Failure(self) | |