blog2019-05-06Cコンパイラを作り始めたタイトルの通り、コンパイラを作り始めました。書いたのですが、低レイヤーを勉強していきたいとここ最近考えていました。僕が考えていた低レイヤーというのは、AWS上でインフラを構築できるようになることやRDBのチューニングでした(前職ではアプリケーションのコードを書くこと以外、あまり気にしなくてよかったのでこのへんをやりたかった)。会社の同僚の方たちと飲んでいるときに、エモい低レイヤーの話を聞き、ちょっとやってみるか!という気持ちになったのでコンパイラを作り始めてみました。作っているもの9ccというCコンパイラを作っています。Cを書いた経験はなく、けっこう苦しいところもあります...github.comCコンパイラとは、C言語で書かれたプログラムをアセンブリ言語に変換するものです。参考にしながら(現時点ではほぼ写経しながら)作っています。単項プラス、単項マイナスと、書いてもよくわからないと思うので、テストコードを見てもらうのがわかりやすいです。tryという関数に期待値と入力値を渡し、実際の結果が期待値と一致するかをチェックしています。'14+-(-7)-(+6)'地道にやっていく感じですね。できることが増えてくると面白いです。沿って実装していく予定です。最後にAPIなどのアプリケーションのコード書くのとは全然違いますが、ちょっと楽しいので地道に続けていきたいです。A300で初めて自作PCを作ったCコンパイラを作り始めた転職のお知らせ月別アーカイブ参加グループプログラミングはてなブログをはじめよう!inari111さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。