コンパイラ(コンパイラ)
原理と構造
- 著者:
- 大堀 淳(オオホリ アツシ)
- 出版社:
- 共立出版
- 出版日:
- 2021年09月14日頃
- ISBN:
- 9784320124783
- 在庫:
- 在庫あり
書籍紹介
本書は,プログラミングやコンピュータに興味を持つ者が,コンパイラの原理と構造,さらにその開発方法を基礎から理解するためのテキストである。
コンパイラの理解は,コンピュータの原理やプログラムの実行のしくみを理解する基礎である。そこで本書では,チューリングらによって確立された計算可能性の理論と万能計算機の構築方法を基礎として,コンパイラを含むプログラミング言語処理系の構築原理とその構造を解説する。これらの理解を基に,コンパイラ実現のための主要な基盤技術を,その原理とその背後にある考え方を含め習得することを目標とする。この考え方を理解することができれば,従来難解と受け止められている LR 構文解析や多相型の型推論などの技術も見通し良く習得できる。
これらのコンパイラの原理と構造の理解に加えて,先端的言語コンパイラの開発方法を習得するために,実際に実行可能なインタープリタと抽象機械へのコンパイラを開発する。高階の関数や多相型型推論などの先端機能を含む ML 言語の小さなサブセット CoreML を対象とし,ML 言語の一つである「 SML#」を用いてその処理系を開発する。
これらを学び直したいエンジニアや,コンピュータやプログラミングに興味を持つ学部学生に最適な一冊である。
第 1 章 計算とプログラミング言語
1.1 計算の原理と計算機の構造
1.2 プログラミング言語の構造と原理
1.3 プログラミング言語開発の枠組み
1.4 プログラミング言語処理系開発の課題
1.5 練習問題
第 2 章 SML#チュートリアル
2.1 高水準言語の役割と ML の紹介
2.2 チューリング言語インタープリタの設計と開発
2.3 分割コンパイルとコマンドの作成
2.4 練習問題
第 3 章 文字列の性質と文字列処理
3.1 文字列と文字列集合の性質と演算
3.2 文字列のみの構造を持つ CoreML 処理系
3.3 練習問題
第 4 章 字句解析
4.1 正規言語を用いた語彙の定義
4.2 正規言語を認識する機械
4.3 Lex による字句解析処理の自動生成
4.4 字句解析のみを行う CoreML 処理系
4.5 練習問題
第 5 章 構文解析
5.1 本章の内容と目的
5.2 文脈自由文法による構文構造の定義
5.3 構文解析問題
5.4 最右導出の再構築
5.5 LR 構文解析の原理
5.6 定理 5.1 の証明と DG の構築
5.7 効率的なアルゴリズム構築戦略
5.8 構文解析表の作成
5.9 先読み文字によるアルゴリズムの改良
5.10 yacc による構文解析処理の自動生成
5.11 構文解析のみを行う CoreML 処理系
5.12 練習問題
第 6 章 型の解析と型推論
6.1 型と型システムの考え方
6.2 型システムの定義
6.3 型の解析
6.4 式の主要な型判定を推論する CoreML 処理系
6.5 多相型の定義と解析
6.6 多相型を推論する CoreML 処理系
6.7 練習問題
第 7 章 インタープリタ
7.1 インタープリタの構造と役割
7.2 操作的意味論の定義
7.3 再帰関数の実現
7.4 インタープリタの実装
7.5 練習問題
第 8 章 抽象機械へのコンパイル
8.1 コンパイラの構造
8.2 SECD 機械の定義
8.3 SECD 機械へのコンパイル
8.4 CoreML コンパイラと実行時処理系の実装
8.5 練習問題
言及の推移
言及 Qiita 記事 (29 件)
n8nで「三権分立AIエージェント」を構築したら、寝ている間にバグのないコードが勝手に完成した話
♡ 49アーキテクチャ, n8n, LLM, AI駆動開発, VibeCodingC# 15:Union Types 完全ガイド
♡ 21C#, .NET, .NETCoreニューロシンボリックAIで消費電力100分の1 ── 学習時間36時間→34分、精度34%→95%の技術的メカニズム
♡ 15機械学習, 研究, AI, エッジAI, ニューロシンボリック🔧 AutoAgent — AIエージェントが自らのハーネスを改善し続ける「自律エージェントエンジニアリング」
♡ 9Agent, エージェント, Harness, HarnessEngineering, AutoAgent自作言語に簡単な型検査器を追加した
♡ 5Ruby, 型, 自作言語パソコンってどう動いてるの? — 現役AIエンジニアが「OS」の仕組みを本気で解説してみた
♡ 4Mac, Windows, 初心者, CPUOSS以外の方法でのコントリビューションの模索と実践記録と自己弁護
♡ 3ポエム, SML, OSS, コントリビューションRustのmatch網羅性チェックに救われた話——Schemeインタプリタを書きながら気づいたこと
♡ 2Rust, 初心者, コンパイラ, enum, matchJavaScriptでテトリスを最大7,000個並列実行させて時間を1bitの狂いもなく巻き戻す
♡ 2HTML, JavaScript, テトリス, 低レイヤー, 生成AIXcodeで出てくる「(lldb)」の正体をちゃんと理解する
♡ 2Xcode, iOS, LLDB, LLVM, Swift
この本に興味がある方におすすめ
この本に関連
大堀 淳 の他の書籍
関連記事
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
エンジニアが最初に読むべき 5 冊の選び方
新人エンジニアやキャリアチェンジした人が最初に読むべき技術書のジャンル配分と、5 冊の具体的な選び方チェックリストを紹介します。