2021-02-11
プログラミング言語の基礎概念のNatの導出システム書いとる
楽しい
一番大変だったのは導出木をインデント付けて出力する部分でした。しんどい
なんか大量に導出システムを書くことになりそうなのでリファクタリングしている
EvalNatExpで入力が複雑になってきたので渋々パーサを用意した
pragmatrix/ScanRatつかった
何かがおかしいな?って思ったら、普通に左再帰してるのに動いていた。キモッ
ReduceNatExpは規則数に対して問題の数が少なめだったので手書きした
--->簡約が 6 + 4(Nat)
-*->複数回簡約が 3 + 6(簡約) + 4(Nat)
-d->決定的簡約が 6 + 4(Nat)
-*->以外1問ずつしかない
-*->もちゃんとした問題は1問だけ
初めて導出木を手書きしたが、まあ機械に書かせているだけあって普通に書ける。問題ないな
https://gyazo.com/653471b120eaf9f367ee1fc1361c7bfd
ちょっと大きくてつらかった
パーサの気持ちを考えながらセミコロン打つのつらい。やっぱり全部機械にやらせたほうがいいな
jtheoof/swappy+Firefoxのバグっぽい挙動を忘れてて画像貼ってScrapboxを壊しました、懺悔……
一章完。7時間半くらいコード書いていたらしいですね
久しぶりに(データのワイヤリングでなく)ロジック多めのコードをゴリゴリ書いていた。楽しい
できるだけ導出システムをプログラムするようにしている
ゼロからのOS自作入門
technosaurus/PDMP3
MP3、特許は切れてるけど資料は少ないのでありがたそう
#日記