車輪の再発明

Python 風の自作言語を作ってみた

最近 Crafting Interpreters という interpreter を作る本を読んでいて、とりあえず本通りにやって Lox という言語の tree-walk interpreter を作りました。 作り終わって、この手の言語処理系を作る本では大抵ブロックを { } で表現するけれど Python のよ…

PostgreSQL 互換の DBMS を自作してみた

WEB+DB PRESS Vol.122発売日: 2021/04/24メディア: Kindle版 ※ この記事では「PostgreSQL 互換」を「PostgreSQL client から接続できる」という意味で使っています。 最近はやりの自作 DBMS というものを私もやってみたので忘れぬうちに感想を書いておきます…

PostgreSQL Client から自作 DBMS に接続する

最近、Go の練習がてら書いていた自作 DBMS に PostgreSQL client で接続できるようになったので、そのやり方を残しておきます。(これから紹介するサンプルコードはすべて Python ですが) github.com psql --version psql (PostgreSQL) 13.2 pgcon の資料と …

RubyでつくるRuby を読んだ

RubyでつくるRuby ゼロから学びなおすプログラミング言語入門作者:遠藤 侑介発売日: 2017/03/31メディア: 単行本(ソフトカバー) nand2tetris が終わってヘビーな本を読むのはちょっと時間をおきたかったので、電子積ん読していた「RubyでつくるRuby」を読…

The Elements of Computing Systems を読んだ

約1ヶ月かけて The Elements of Computing Systems (通称 nand2teris) を読む & 演習のすべてを完遂しました。 約130時間費やしましたが、実に有意義な時間を過ごすことができました。今まで読んだ本の中でトップ10には入る良書と断言できます。 The Element…

X Protocol 準拠の MySQL Client を自作してみる

最近自作 MySQL Client にハマっています。どういう原理で MySQL につながっているのか知りたいなと思って始めましたが、MySQL Client についてはもちろんのこと、ネットワークの勉強にもなって結構楽しいです。 現在の MySQL では MySQL Client/Server Prot…

4bit CPU TD4 を作った

GW をフルに使って自作界隈では有名な「CPUの創りかた」の TD4 を作ってみました。 CPUの創りかた作者:渡波 郁発売日: 2003/10/01メディア: 単行本(ソフトカバー) 実は2年前にすでにパーツ類は購入済みだったのですが、当時はアセンブリや機械語の経験がな…

Compiler | Stanford Online を受講した

11月の頭から受講を始めて、5ヶ月弱かけてようやく受講しきりました。 何度か心が折れかけましたがどうにか完遂できました! lagunita.stanford.edu この講義は COOL (classroom object oriented language)という、講義のために作られた言語のコンパイラを理…