本記事では基本情報技術者試験にも出題されるコンパイルについて解説しています。
目次は以下の通りです。
コンパイル
コンパイルとはコンパイラというプログラムを用いて高水準言語から機械語を生成する過程を指します。C言語やJavaはコンパイルが必要な言語の代表ですね。
コンパイルの手順
コンパイルの手順としては
「字句解析→構文解析→意味解析→最適化→コード生成」
となります。
手順の詳細を一言ずつで説明します。
字句解析は原子プログラムを最小単位に分解する過程です。構文解析は文法規則に従う構文になっているかを解析する過程です。意味解析はプログラムの意味を考える過程です。最適化は必要十分な処理になっているか、すなわち一番最適な処理にする過程です。コード生成は言葉通り最適化でを図ったものをコードに落とし込む過程です。
コンパイルのメリット
C言語やJavaをコーディングしたことある人はご存じかと思いますが、コンパイルが必要な言語は実行の手間が多いです。ただ、その分処理性能や速度に優れており、pythonなどと比べて早いです。
まとめ
本記事のポイントを以下にまとめます。
・コンパイルとは高水準言語から機械語を生成する過程
・コンパイルの手順は字句解析からコード生成がある
・コンパイルすることで性能と速度が向上
コメント