はじめに
IT歴2ヶ月の初心者プログラマー鹿太郎です。
初心者なりに感じた疑問や分からないことを発信していきたいと思います!
続いては、プログラムを作る材料その3!「コンパイラ」について紹介します!
コンパイラとは
コンパイラとは人間が理解できる言葉で書いたプログラム(ソースコード)を、コンピュータが理解できる「機械語」に変換するプログラムのことです。
「機械語」とは0と1の2種類で表現されるデータのことで、コンピュータはこの機械語で構成されたものしか読み取れません。
しかし、人間が機械語でコードを書くのは非常に効率が悪く、また難解です。
よって、コンパイラが必要なのです。
コンパイラがプログラムを機械語に変換する仕組み
コンパイラは以下の5つのステップを踏んで、プログラムを機械語に変換しています。
① 字句解析
「字句解析」とは、ある言語で書かれたプログラムについて、構成要素を解析し、言語的に意味のある最小の単位に分解する処理のことです。
予約語や識別子、演算子などの単位で分け、プログラムのどこにどのような要素があるのか把握するのが目的となります。
② 構文解析
「構文解析」とは、いくつかの要素がまとまりになっている「構文」を探し、その構成要素がどのような関係にあるか解析することです。
例えば、字句解析にて「1」「+」「2」「=」と解析されたとき、それぞれの関係を解析し、「1+2=」と認識させるのが、構文解析の役割となります。
③ 意味解析
「意味解析」とは、ソースコード内に記述された変数の型や文が仕様に沿っているかチェックする処理のことです。
④ 最適化
「最適化」とは、ソースコードの無駄な部分を効率化する処理のことです。
メリットとして、プログラムの高速化や使用するメモリの節約などが挙げられます。
⑤ 機械語プログラム生成
最後に、最適化されたコードから、コンピュータが理解できる機械語で構成されたプログラムを生成します。
以上の5ステップを行うことで人間が書いたプログラムを機械語のプログラムに変換することができます。
結論!コンパイラは、人間が書いた文字をコンピュータが読めるようにしてあげる仕組みのことです!
次回は、プログラムを作る材料5つ その4「エディタ」について紹介します!
ではまた。