Rubyで作る奇妙なプログラミング言語 ヘンな言語の作り方
Rubyで作る奇妙なプログラミング言語 ~ヘンな言語のつくりかた~
マイナビ
著者:原悠
はじめに
本書の概要とRubyのインストール
章の構成
対象読者
Rubyのバージョンについて
Rubyのインストール
1 Esoteric Languageを知る
1-1 Ruby練習問題
初級編
中級編
上級編
超上級編
1-2 サンプルプログラムに特化した言語、HQ9+
HQ9+とは
HQ9+インタプリタを作ってみよう
1-3 8つの命令ですべてを記述する言語、Brainf*ck
Hello, Brainf*ck world!
Brainf*ckの言語仕様
例:Aという文字を出力してみる
実装してみよう
もう1つの実装方法
言語処理系を実装する3つの方法
Brainf*ckの性能
おわりに
1-4 決して印刷できない言語、Whitespace
Hello, Whitespace world!
Whitespaceの言語仕様
Whitespaceの実行モデル
実装方針を考える
Compilerクラスの実装
Whitespace::VM
実行部の実装
試してみよう
余談:アセンブラとの類似性
2 Esoteric Languageを作る
2-1 きらめく星空のような言語、Starry
Esoteric Languageの設計と実装
Starry言語の設計
Hello, Starry world!
実装してみよう
まとめ
2-2 Unicodeを悪ノリした言語、Bolic
Esoteric Languageの発想法
Unicodeの奇妙な記号
Bolic言語の設計
実装してみよう
プログラムを書いてみよう
付録 Esoteric Language傑作選
新次元のプログラミング言語、Befunge
文字を一種類しか使わない言語、Wierd
英文学的プログラミング言語、Shakespeare
数値を「調理」する言語、Chef
関数だけでできている言語、Unlambda
ちょっと草植えときますね型言語、Grass
1キロバイトでコンパイラが書ける言語、False8
0次元のプログラミング言語、NULL
A, AAA言語、AAAAAAAAAAAAAA!!!!
普通の言語に似て非なる言語、INTERCAL
地獄から来た言語、Malbolge
風にたなびく煙のような言語、KEMURI
データをドライブする言語、Taxi4
参考リンク
索引