式の演算子の優先順位を正しく考慮して、AST を生成する基本的なコンパイラを作成しました。ただし、コード生成を実行して C++ コードを生成する場合、括弧の使用方法がわかりません。
この式の場合:
A - (B - c)
以下のAST:
-
/ \
A -
/ \
B C
かっこを含む前の式を正しく生成する必要がありますが、2 番目の演算子が (たとえば) 加算演算子の場合、かっこは不要です。読みやすさを向上させるために必要な場合にのみ使用することをお勧めします。
この種の動作を指示するルールと、括弧をいつ使用するかを知る方法はありますか? プラスとマイナスは、ほとんどの言語で同じレベルの優先順位を持っています。これをすべての演算子で機能させたいと考えています。