Compiler-design

提供:Dev Guides
移動先:案内検索

コンパイラ設計チュートリアル

コンパイラーは、プログラムの意味を変えることなく、ある言語で書かれたコードを他の言語に翻訳します。 また、コンパイラは、時間とスペースの点でターゲットコードを効率的かつ最適化する必要があります。

コンパイラの設計原則は、翻訳および最適化プロセスの詳細なビューを提供します。 コンパイラの設計は、基本的な変換メカニズムとエラーの検出と回復をカバーしています。 フロントエンドとしての字句解析、構文解析、セマンティック解析、およびバックエンドとしてのコード生成と最適化が含まれます。

コンパイラの設計を学ぶ理由

コンピューターは、ソフトウェアとハ​​ードウェアのバランスの取れた組み合わせです。 ハードウェアは単なる機械装置の一部であり、その機能は互換性のあるソフトウェアによって制御されています。 ハードウェアは、ソフトウェアプログラミングのバイナリ言語に相当する電子料金の形で指示を理解します。 バイナリ言語には、0と1の2つのアルファベットしかありません。 指示するには、ハードウェアコードをバイナリ形式で記述する必要があります。これは、単に1と0の連続です。 コンピュータープログラマーがこのようなコードを記述するのは困難で面倒な作業になるため、このようなコードを記述するコンパイラーがあるのはこのためです。

言語処理システム

どんなコンピューターシステムもハードウェアとソフトウェアでできていることを学びました。 ハードウェアは、人間が理解できない言語を理解します。 そのため、プログラムを高水準言語で記述します。これにより、理解しやすく覚えやすくなります。 これらのプログラムは、一連のツールとOSコンポーネントに送られ、マシンで使用できる目的のコードを取得します。 これは、言語処理システムとして知られています。

聴衆

このチュートリアルは、コンパイラの基本原則の学習に興味のある学生向けに設計されています。コンパイラについて詳しく知りたい熱心な読者や、コンパイラを自分で設計したい人はここから始めることができます。

前提条件

このチュートリアルでは、コンパイラー設計の予備知識は必要ありませんが、C、Javaなどの少なくとも1つのプログラミング言語の基本的な知識が必要です。アセンブリープログラミングの経験がある場合は、追加の利点があります。