8cc とは? rui314 さんが作られたCコンパイラです。 次のような特徴があります。 C言語で書かれている スクラッチから作られた。字句解析・構文解析も手書き。 インクリメンタルな開発 詳しくはご本人の記事と rebuildfm第153回をご参照ください。 Cコンパイラをスクラッチから開発してみた(日記) Rebuild: 153: Connecting The Dots (rui314)
この記事は 第2のドワンゴ Advent Calendar 2016 21日目 の記事です。 おはようございます。@yutopp といいます。毎日Erlangを書いたり書かなかったりしています。 今回は、自作言語でCコンパイラを動かした話を書きます。 自作言語Rillとは まず自作言語の紹介をします。自作言語はRillという名前で、別名文鳥言語といいます。リポジトリは以下です。 GitHub - yutopp/rill: a programming language for 文鳥 OCamlとLLVMを用いて開発されており、C++やD言語、Rustを参考にしつつ、安全かついい感じに楽しくプログラミングをするための言語を目指しています。コンパイル時メタプログラミングがしたいがために色々な機能を盛り込んだり、C++14からOCamlに全書き換えなどしていた結果、未だ安定版がリリースできてない状
以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも通る。 int a = 61; int *b = &a; *b; // => 61 文字列は文字の配列として扱っていて、配列をポインタに成り下げる振る舞いも実装しているので、こういうのも通る。関数呼び出しもある。 char *c= "ab" + 1; printf("%c", *c); // => b 前回もこのあたりはがんばって実装したからここまで作るのはわりと単純作業かも。二回目だから配列とか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く