Rustで作るプログラミング言語
——コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
——コンパイラ/
2024年6月12日紙版発売
2024年6月12日電子版発売
佐久田昌博 著
B5変形判/392ページ
定価3,740円(本体3,400円+税10%)
ISBN 978-4-297-14192-9
書籍の概要
この本の概要
小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう!
こんな方におすすめ
- コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人
- 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人
この書籍に関連する記事があります!
目次
第1章:プログラミング言語概論
- プログラミング言語の分類
- 他の切り口での分類方法
- コンパイルパイプライン
第2章:スタックベース仮想マシン
- 仮想マシン概論
- Rustでの実装
- 標準入力からの読み込み
- パースとコマンドの実行
- ブロックとネスト構造
- if制御構文
- 変数の定義
- 複数行のソースコードへの対応
- 関数呼び出し
- 関数の再帰呼び出し
- WebAssemblyへのコンパイルとブラウザでの実行
第3章:プログラミング言語の構文解析
- 構文解析が解決する課題
- 構文へのマッチ
- トークンの切り出し
- 括弧によるグループ化
- 木構造の構築
- 式の構文木
- パーサコンビネータnom
- Parsing Expression Grammarによる構文解析
- ASTインタプリタ
- 関数呼び出しの構文と評価
- 設定ファイルへの応用
第4章:スクリプト言語ランタイム
- 本章で設計する言語
- 構文と意味論
- AST実行モデル
- 文(Statement)の導入
- 変数宣言
- 代入文
- 条件分岐
- ループ
- 関数定義
- その他の制御構文
- 動的型の導入
第5章:静的型付けと型チェック
- 静的型システムの概要
- 型チェックの基本構成法
- 型宣言
- 式と文の型チェック
- 組み込み関数の型定義
- エラー位置の報告
第6章:バイトコードへのコンパイル
- バイトコードとネイティブコード
- スタックマシンとレジスタマシン
- 命令セットの特徴と設計
- バイトコードの構成
- 最小限のバイトコードの定義と実行
- バイトコードへのコンパイル
- リテラルテーブルの実装
- 任意のソースコードをパースしてバイトコードへ翻訳
- 完全な式のコンパイルと実行
- 条件分岐式のコンパイルと実行
- ループ制御のコンパイルと実行
- ユーザー定義関数
- 型チェッカーとの統合
- 状態マシンとコルーチン
- コルーチンオブジェクトとジェネレータ
- 応用例
第7章:LLVMを使ったネイティブコードへのコンパイル
- llvm-sysとinkwell
- inkwellでのHello, world!
- ネイティブコードによるパフォーマンスの向上
この本に関連する書籍
-
Rustで学ぶWebAssembly ――入門からコンポーネントモデルによる開発まで
Webブラウザー上でプログラムを高速に実行するための技術として開発されたWebAssembly(Wasm)ですが,近年では「特定のプログラミング言語・アーキテクチャに依存しな...
-
プログラミング言語大全
プログラミング言語の大全集! 100以上のプログラミング言語や処理系,関連言語を幅広く解説。C,Java,Python,PHP,Ruby,JavaScript...主要言語はもちろんマイナー...
-
実践Rust入門[言語仕様から開発手法まで]
Rustは2015年に安定版がリリースされた新しい言語です。静的型付けと関数型言語などにみられる高度な抽象化のしくみを取り入れており,高品質で再利用性の高いプログラ...