On Tue, Feb 24, 2015 at 2:12 PM, Rainer Jung <[email protected]> wrote:
>
> Am 24.02.2015 um 12:51 schrieb Yann Ylavic:
>>
>> Why concatenating in reverse order here?
>
> Because first doing it in normal order produced a reverse result and my
> paper computer then showed reverse is correct :)

That's why I wanted to test before asking too :)

>
> Assume the tree looks like (left is node1, right node2):
>
>             concat
>         concat  r1
>     concat  r2
>     l1  r3
>
> Result should be l1r3r2r1, so the r's need reverse order.

Makes sense now (gdb helped me too...).

>>
>> Can you please share an expression for the new branch to be taken?
>
>
> The problem (recursion limit reached because the previous optimization
> didn't apply) occurred for me with string expressions (not boolean) of the
> form
>
> "constant1%{function1:arg1}constant2%{function2:arg2}constant3%{function3:arg3}..."

I wanted to use this kind of expression, without the "." operator and
its right association, but that's not allowed with boolean
expressions.
The thing was *string* expressions, which I didn't think about...

Thanks for the explanation and the fix!
It's working as expected, +1.

Regards,
Yann.

Reply via email to