コンパイラ(コンパイラ)
作りながら学ぶ
- 著者:
- 中田 育男(ナカタ イクオ)
- 出版社:
- 株式会社オーム社
- 出版日:
- 2017年10月25日頃
- ISBN:
- 9784274221163
- 在庫:
- メーカー取り寄せ
なぜ注目されているか
書籍紹介
コンパイラの名著、待望の改訂!
1995 年に発行し、以来コンピュータサイエンスにかかわる方々に長く活用されてきた『新コンピュータサイエンス講座 コンパイラ』の改訂版です。
コンパイラを通してソフトウェアのしくみとアルゴリズムを考えるのに役立つよう、例を用いて具体的に記述しています。図表やプログラムを多用し、わかりやすくまとめました。
<おもな改訂内容>
・ LL 構文解析の動作例、 LR 構文解析の動作例を加えた
・独習者の利便を考え、演習問題の増強、解答の充実をはかった
・ 9 章「さらに学ぶために」として、より最近の技術について学ぶための指針を示した
・古くなった文献を見直し、追加した
1 章 コンパイラの概要
2 章 コンパイラの簡単な例
3 章 文法と言語
4 章 字句解析
5 章 下向き構文解析
6 章 意味解析
7 章 誤りの処理
8 章 仮想マシンと通訳系
9 章 さらに学ぶために
付録 PL/0 ′コンパイラのリスト
参考文献
演習問題解答
技書の森解説
表紙に描かれた鳥籠のイラストから「鳥籠本」の通称で知られる、日本語で書かれたコンパイラの定番教科書です。著者の中田育男氏は最適化技法の研究で名を残した研究者であり、本書は字句解析・構文解析から中間コード生成、コード最適化までを体系的に網羅します。大学の情報科学課程で長年にわたり採用されてきた実績が、内容の堅牢さを物語っています。
読み進めるには、形式言語とオートマトンの基礎知識が前提になります。理論寄りの記述が続くため、実装寄りの入門書とは毛色が異なり、コンパイラを趣味で作ってみたい段階の読者にはやや敷居が高いかもしれません。しかし、構文解析表の構築方法やデータフロー解析のアルゴリズムなど、コンパイラ技術の基盤を日本語で丁寧に学べる書籍は限られています。言語処理系に本腰を入れて取り組む際に、机の端に常備しておく参照書として長く使える一冊です。
言及 Qiita 記事 (36 件)
Claude Codeでつくる「並列ループエージェント」実践!ハンズオンガイド
♡ 78AI, AI駆動開発, ClaudeCode落語で学ぶ『AI時代のDDD』ドメインプリミティブ編
♡ 53DDD, 生成AI, ドメインプリミティブ, AIエージェント, 関東型言語AIに有利なプログラミング言語は?
♡ 34AI, 言語, 実験スクリプト言語「Sheep」を作ってみた
♡ 25Java, 言語処理系コンパイラ講義資料リンク集
♡ 24コンパイラ, 講義資料書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた
♡ 21JavaScript, コンパイラ, 言語処理系集合から Roslyn へ:字句解析とオートマトンでコンパイラーを読む
♡ 4C#, Roslyn, コンパイラ, オートマトン, dotnet技術書「TypeScriptでつくるコンパイラ入門」を出版したので紹介
♡ 4TypeScript, コンパイラ, 技術書, コンパイラ実装【Delphi】フォームのイベント発生順序
♡ 3Delphi, プログラミング, Pascal, embarcadero, objectpascal「とりあえずコメントアウトしておきます」という先輩の優しさが、3年後にシステムを破壊した話
♡ 3Git, GitHub, プログラミング, 初心者, ポエム
言及 Zenn 記事 (10 件)
アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)
♡ 151go, assembler文系卒エンジニアがどうやって独学でコンパイラを作ったか
♡ 135コンパイラPythonのコンパイラを作りたい #1 - 開発の背景と概要
♡ 90python, c, llvm, compilerMatz の Ruby AOT コンパイラ Spinel を試してみました
♡ 59ruby, compiler, rubykaigi, aot, spinelゲーム専用プログラミング言語『Enaga』をコンパイラから自作した話
♡ 46rust, ゲーム開発, コンパイラ, ecs, 自作言語【Vue.js】コンパイラってよく聞くけど一体全体なんなんだ!?!?!?
♡ 25javascript, typescript, vue, frontend, compilerApple Siliconで進めるCコンパイラ作成入門
♡ 21arm64, c, compilerコンパイラを書くにはコンパイラが必要なのか?
♡ 20コンパイラ, バイナリ, fortran, アセンブリ, 機械語sedをターゲットアーキテクチャとしてコンパイラを自作する (自作言語 Soil)
♡ 18rust, compiler, sed最適化コンパイラへのいざない (1) 導入
♡ 13コンパイラ
この本に興味がある方におすすめ
この本に関連
関連記事
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
本を読んだらすぐパソコンを開こう
プログラミングの本を読んだら、すぐにパソコンを開いて手を動かしましょう。読むだけでは身につかない理由と、読んだ直後にやるべきことを紹介します。
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。