x、y、+、-、*、/(,) をサポートする非常に単純な電卓を作成しようとしています。アイデアは簡単です:
- 入力文字列 ("x+3y" の可能性があります) から構文ツリーを構築します。
- 指定された x,y に対して、構文ツリーを解析し、x と y に int を挿入して結果を計算します。
boost 1.46 では、parse_phrase() を使用して、両方のステップを一度に簡単に実行できます。ただし、解析は変更されませんが、ステップ 2 を何百万回も実行する必要があります。ですから、これを分けたいと思います(クラシックスピリットバージョンでは通常のように)。これどうやってするの?(注意: ブースト 1.46 にはまだ utree データ構造がありません)