「プログラミング言語を作る」ダウンロード
ダウンロード
本書のサンプルプログラムは、以下のGitHubに配置してあります。
https://github.com/kmaebashi/devlang
2022年7月24日時点のものを以下にも置いておきますが、同じものです。
devlang-main_20220724.zip
更新履歴
内容物
内容物は以下のとおりです。
- calc ……2章の電卓プログラム
- mycalc ……yacc/lexを使った電卓プログラム
- mycalc_ex ……yacc/lexを使った電卓プログラム拡張版
- llparser ……手書き再帰下降パーサによる電卓プログラム
- llparser_ex ……手書き再帰下降パーサによる電卓プログラム拡張版
- crowbar_book_0_1 ……解析木実行言語crowbar。基本的な式、制御構造、関数を導入
- crowbar_book_0_2 ……解析木実行言語crowbar。配列とGCを導入
- crowbar_book_0_3 ……解析木実行言語crowbar。内部コードをワイド文字列化(日本語対応)
- crowbar_book_0_4 ……解析木実行言語crowbar。その他応用編
- diksam_book_0_1 ……静的バイトコード実行言語Diksam。基本的な式、制御構造、関数を導入
- diksam_book_0_2 ……静的バイトコード実行言語Diksam。配列を導入
- diksam_book_0_3 ……静的バイトコード実行言語Diksam。分割コンパイルとクラスを導入
- diksam_book_0_4 ……静的バイトコード実行言語Diksam。その他応用編
コンパイル方法
電卓のコンパイル
コンパイル方法は本書中でも触れていますが、簡単にするためにそれぞれのフォルダに
UNIX向けシェルスクリプトとWindows向けバッチファイルを用意しました。
それぞれmake.shとmake.batです。
crowbarのコンパイル
展開したディレクトリでmake(ここで説明したように
makeをgmakeという名前で入れている方はgmake)を実行すると実行形式が生成されます。
Diksamのコンパイル
diksam_book_0_1およびdiksam_book_0_2については、展開したディレクトリ以下の
compilerディレクトリにてmakeまたはgmake、
diksam_book_0_3およびdiksam_book_0_4については、展開したディレクトリ以下の
mainディレクトリにてmakeまたはgmakeを実行してください。
2022/07/24
ソースコードバグ情報の2022/07/24の不具合を修正。
2022/07/23
ソースコードバグ情報の2022/07/23および2022/07/23(ふたつめ)の不具合を修正。
2022/07/03
ソースコードバグ情報の2022/07/03の不具合を修正。
2009/12/28
- 正誤表p.186の不具合について、
対応コードがcrowbarのbook_ver.0.3にしか入っていませんでした。
crowbarのver.0.4およびDiksamの全バージョンにもこの対策が必要なので、
対応しました。
- こちらも遅ればせながらなのですが、
p.206の問題について、
Diksamの全バージョンを修正しました。
- Diksam ver.0.4のdvm/execute.c内のinvoke_diksam_function_from_native()
関数とその呼び出し部についてバグを修正しました。
書籍情報のページに戻る
| 著者のWebページトップはこちら
ご意見、ご質問、不具合連絡等は掲示板にお願いいたします。