うまく説明できませんが、以下の文字列を取得して実行する場合、
普通はどうゆう風に実行するのが一般的っていうか、普通なのでしょうか。

((100 + 200) / 100) + (50 / 10)

evalとかそうゆう話じゃなくて、(カッコ)のネストの解析の話です。


いろいろ考えましたが、

1:開きカッコを見つけ次第、開きカッコの数を数えながら閉じカッコを見つけて、対応するカッコを探していく。
2:正規表現で外側のカッコの中から、式を抜き取ると同時に、適当な重複しない名前を置いておく(置換する)。
3:その際、優先順位は左の開きカッコから順番とする。
4:抜き取ったカッコの中身は抜き取った順が狂わないようにハッシュに入れていく。

5:最後に抜き取った順から、実際の式を計算する。
6:計算が終了するたびに、置いてきた名前と式の結果を置き換えていく。
7:全部終わったら完了。

って手順は変ですか?