プログラム処理系制作 なれそめの巻

僕がプログラム言語作成に興味を持ったのはあの時だ
夏休みに(たぶんw)なんとなく 大きい書店へ行ったんだ
日経ソフトウェア総集編が売ってて
なんか割安でプログラミングの記事が読めそうで
買ったっけ
その時、当月号の日経ソフトウェアもあって
特集はプログラム言語作成の記事だった
なんかよくわかんないけど
なんとなく購入してみた

プログラム言語作成の記事は難しくて よくわかんなかったw
難しいというより 前知識もないし
そういうコーディングへの慣れもなく
そういう現象だったのだろう
今でも、僕にプログラム言語作成の才能があるかは
わかんないけどw

最近、よく思う
僕にプログラミングの才能はあるのか?
ひょっとしたらないのかも
そんなことを考えて凹むことも多い
プログラミングの才能というか
HSPユーザーな僕に
HSPはあんまり合ってないのかも
とも思う
C++なんかを写経していると
定義っぽくコードを刻んでいくのが
案外、悪くないw
HSPってあんまりコード刻まないよーな
定義するっていうか
あんまり定義せず対象を動かすかんじ

僕は意外とロジカルで
考えることは
下地を作るように考えを刻んで
その上に概念を積んだりする

HSPって案外 下地作りなんてなくても支障ないし
動かしてもいい

HSPでも変数を定義するの好きですね
ゲームを制作するには
まず変数定義から
みたいなとこが僕の中にあって
ゲームを妄想しながら変数を定義する瞬間は
花形です。僕の中でw
最近はそういうのも減っちゃって
なんとなく変数を定義しているんですがw

プログラミング言語には
動的、静的って区分けがあるけど
僕は静的な言語が合っているのだろう

静的なプログラミング言語が合っていると言っても
JAVAなんかは苦手
あの記述量多いのが嫌
JAVAは記述が冗長だからねw

そっか 僕が志向しているのは
静的で記述量の少ない言語かも
って今書きながら気づきましたw

HSPは動的っぽい側面がありますが
記述量少ないですよね
僕はそういう記述量の少なさが好きなのかも

Cは哲学っぽい傾向もありますが
そういうとこ同意です
子供の頃、塾の先生に哲学者って呼ばれたこともあったっけw
そう呼ばれた子供が微妙に哲学者っぽく進んでますよw
ブログで相対性理論に関して書いたりw

C++は現在勉強中っすねw
CとC++は僕の中の位置づけで
どう違うかっていうと
C++はvisual studioで採用されているので
GUIプログラミングが楽って見方で
C#まで行くと
C#でプログラミング言語を作っている人なんて
いるんかいな?みたいなかんじですw
逆にvisualC++でプログラミング言語を作成するのは
事例多そうです

そうそう
プログラミング言語作成が特集の日経ソフトウェア
今でもたまに引っ張りだして
ちょこちょこ読んでますよw
何カ月に一回という頻度だと思うけど

たぶんその2、3年後の夏休み
図書館で 「スモールコンパイラ の制作で学ぶ プログラムのしくみ」
という本を借りた
なんかすごいスラスラ読めたw
児童書のようなお話しチックで
わからせた気になる本でした
問題はプログラムが巻末に
どどどと掲載されてて
全然読めませんでしたw

でもコレで気付いた
プログラム言語の制作が趣旨の書籍は
ある程度のプログラムを掲載していることが多いから
そういうのを期待して買ってるのだな。とw

「スモールコンパイラ の制作で学ぶ プログラムのしくみ」
は図書館でハマリましたが
Amazonで2冊くらい買ったような

たぶん夏休みに
「いまどきのプログラム言語の作り方」
という書籍を購入
なんかフェリーで帰省する途中に
大阪の書店でめっけて
フェリーの中での読書用と夏休みもあるしで
買った気がする
なんとなく最後まで読みましたが
あんまり理解出来ませんでしたw
しかもコレもJAVA
「スモールコンパイラ の制作で学ぶ プログラムのしくみ」
JAVAだったんですがw

・字句解析とか構文解析とかの話w

字句解析はトークンを返すんですがw
ifとかで分岐したり
ってかwhileで繰り返されたり
その解析は分岐したり繰り返すの?w

いいえ違います
分岐したり繰り返すのは 最後の実行処理の中でなので
字句解析は 一回最初から最後まで
解析したトークンを構文解析に渡し続けるのです
最初から始めて プログラムを解析しつつトークンを渡して
最後まで渡せば OKみたいな理解です 僕の頭の中ではw

構文解析は プログラムを読んで動かすの?
そういう面もありますが
僕はこう理解しています

トークンを再帰したり 二分木にしたりして
実行可能な中間言語の並びに変換するのです
中間言語の並びに一単位の処理を終わりまで挿入し続ける
という解釈もあり 僕はそういう解釈です

二分木にしたまんま実行したりするんで全てとは言えませんが

「いまどきのプログラム言語の作り方」
の次はアレですw
RHGですw
RubyHackingGuide w
Rubyソースコード完全解説」
大学の図書館で何回も借りて読むのに挑戦したっけw
難しくて途中で挫折w
この本は絶版で高いんですが
2年くらい前 Amazonに何千円かで出てて
買いましたが やっぱり途中で挫折してますw
頑張って一回くらい読破したいんですが なかなかw

大学の図書館に
プログラム言語作成のバイブル
ドラゴンブックもあったような
難しそうでパスw
「いまどきのプログラム言語の作り方」
に参考文献にもなってて
コレを読んでないやつはモグリとか書いてましたがw
読んでないっすねーw 入手もしてないっすねーw
いつか入手して読破したいw
今、Amazonで確認したら8000円くらいするwたかw
そしていつのまにか改訂されてるんですねw
タイガーブックとかもあって
これもいつか読破したいなーw
Amazonで確認したら4000円くらい也w
プログラミング書籍ってお高いですよねーw
(そういうとこ、嫌になっちゃうw)

そして
「いまどきのプログラム言語の作り方」
の参考書籍購入
コンパイラ構成法」
Yacc&Lexに詳しいとか書いてたやつw
あんまし詳しくないしw
コレは夜中ガストで読んでたこともあったなあw
この片から そういうとこブログに書き始めたっけw
もっとつまんないことをつまんなくダラダラと書きたかったのだが
180行くらいでブログ書く段階まで来てしまいましたw
ブログ見ると2010って書いてるw
180行くらいで2010くらいw