インタプリタの作り方 -言語設計/開発の基本と2つの方式による実装-

· インプレス
Ebook
776
Pages

About this ebook

●言語を書く
本書はインタープリタのプログラミングを材料に、プログラミング言語の開発を学ぶものです。プログラミング言語を構成する「字句解析」「式評価」「制御フロー」「関数」などの要素、さらに本書では「クロージャ」「スーパークラス」「ガベージコレクション」などモダンな言語における定番の要素も取り扱います。
現代における言語の開発はプログラミングのテクニックだけでなく、様々なツールを駆使して見通しよく進めることが可能です。本書は筆者の豊富な開発経験をもとに、その基本的な技法や知識を学ぶことができます。
●2つの実装による解説
ここでは、Loxという本書用に考案されたモダンな仕様の言語を想定し、それをもとにインタプリタを実装します。インタプリタはJavaおよびC言語で作られた仮想マシン(VM)を使って動作するため、開発者は言語開発のコアとなる部分を集中的に実装することになります。まず、Javaを使ったLoxの実装(jlox)で基本的な部分を作り、その後はC言語を使ってパフォーマンスや高度な動作を考慮した実装(clox)に進みます。また、執筆者の豊富なプログラミング経験による解説は、ときに言語の歴史に触れ、ときにコンピュータサイエンスのエッセンスにも言い及ぶもので、読み応えがあります。
●言語開発は怖くない
本書は、言語の開発に興味がある方、プログラミングの知識や技術をさらに磨きたい方、コンピュータの処理系を詳しく知りたい方に最適な書籍です。言語開発は難易度の高さから敬遠されがちな技術分野ですが、本書ではそれらがじつはさまざまな要素の集合体であることを紹介し、シンプルな技術の積み重ねとして、楽しんで学べるものとなっています。

発行:インプレス

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.