Tree Summing問題

[id:lethevert:20051211:p4]
確かに、PCREを使えば、ネストした括弧に一度にマッチさせることはできるのですが、その場合、最後にマッチした部分文字列しかアクセスできないので、計算は難しそう。
やはり、下のような形に追い込むやり方でないと無理か?

while(s/aaa/bbb/g){};