2020-04-26 学び直し44日目:10章 コンパイラ#1:構文解析(導入部分) 記録 コンパイラとは コンパイラがやること 構文解析 コード生成 今日の筋トレ 記録 いよいよ高水準言語のコンパイラに突入。 コンパイラとは 「コンパイラは、一言でいえば、変換を行うプログラムである」とのこと。VM のあたりから思っていたけど、やっぱりファイル変換プログラムだった。 コンパイラがやること 「構文解析」と「コード生成」を行う。 構文解析 本章で扱うのはこれ。与えられるソースコードの構文を理解して、そこからプログラムの意味*1を明らかにすること。何が宣言されているのか、どのような演算を行いたいのかなどを、構文を理解することで明確にするらしい。構文理解が正しいか否かはコード生成して正しく動くことを以て担保するが、本章ではコード生成までやらないので XML ファイルを吐き出してテストするみたい。 コード生成 次章で扱うのがこれ。構文解析した情報*2をもとに、変換先の言語でプログラムロジックを再構築すること。構文解析と組み合わせることでコンパイラとして完成する。 今日の筋トレ リングフィット... *1:semanic *2:パースした情報ともいう