Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

構文と AST

ソースコードを直接扱うのは、非常に不便でエラーを起こしやすい作業です。 そのため、他の処理を行う前に、生のソースコードを 抽象構文木(AST)に変換します。 実際には、これには多くの作業が伴います。 その中には、字句解析、構文解析マクロ展開名前解決、条件付き コンパイル、feature gate チェック、および AST検証が含まれます。 この章では、これらすべての手順を見ていきます。

特に、これらのタスクの間に常に明確な順序があるわけではありません。 たとえば、マクロ展開は、マクロとインポートの名前を解決するために名前解決に依存します。 また、構文解析にはマクロ展開が必要であり、そのマクロ展開ではさらにマクロの出力を構文解析する必要がある場合があります。