大切なのはアウトプットとコミットメント。 忘備録てきなかんじです。
Mac macOS
家でコードを書いている場合、ちょっとした時間で集中してやらないと作業が全くすすみません。 そんな時はポモドーロを使うと作業効率がアップします。 (25分集中して、5分休む -> これを繰り返す) Macにアプリを導入したりしてがっつりやりたいわけでないの...
9cc C 低レイヤ
コツコツ作成しているCコンパイラですが、return文が無いと色々不便なのでreturn文を追加しました。 return文はそこに来たら関数の最後にジャンプすれば良いので、jmp命令でプロローグの直前にジャンプすればOKです。 jmpする前にraxに値を入れておき...
macOS
MacでSDカードを初期化する時は「ディスクユーティリティ」を使うのが一般的だと思います。 先日それを使ってSDカードの初期化を試みたのですが、失敗してしまい何度やってもNGでした。 その時の解決方法を紹介します。 ## 解決方法 ターミナルのコマンド di...
関数定義に対応するの大変でした。 初めは今までと同じNodeとして定義していたのですが、それだとうまくいかず プログラムを関数の集まりと定義する事にして関数定義に対応しました。 再帰呼び出しもちゃんとできているのでいったん良しです。 生成規則は以下のような感じに...
関数呼び出しに対応するの大変でした。 正しいかわかりませんが、生成規則を以下のように定義しました。 (試行錯誤のすえ以下のようになったのですが...) ``` `gutter:true; program: stmt program program: ε st...
最近のマイブーム9ccコンパイラ作成 前回単語変数対応したのですが、複数文字のローカル変数対応は宿題になっていました。 ヒントとしては、連想配列を使うと言う事で、連想配列の作成方法は方法が載っていました。 こんな感じか?というのを記事にします。 連想配列...
最近コンパイラを育てるのが密かな楽しみになっています。 Ruiさんが公開してくれている[低レイヤを知りたい人のためのCコンパイラ作成入門](https://www.sigbus.info/compilerbook)を読みながら、コツコツ作成していっています。 大学...
書評
世界の事に関する問題を偉い人に解かせた時に「チンパンジー」よりも正解率が悪いというのが驚きでした。 自分が思っているよりも、世界はずっとマシなんだと教えてくれる本でした。 例えば、世界の人々をレベル1〜4(4が一番裕福)にカテゴライズすると、ほとんどの人はレベル...