タグ wasabiz
人気順 10 users 50 users 100 users 500 users 1000 userslibc非依存の言語処理系(もしくは、自作CPUへの移植の苦労話) - wasabizの日記
2015-02-03 libc非依存の言語処理系(もしくは、自作CPUへの移植の苦労話) 自作CPUへの移植が大変だったのでメモ。 まず、今回ターゲットにする環境の特徴を軽く説明しておくと CPUが自作 ISAも独自 uccという自作Cコンパイラ(開発中で不完全、c89のサブセット)とMLコンパイラがある 浮動小数点数はIEEE single floatのみサポート メモリは4MB IOはRS23... 続きを読む
実用的なクワインの話 - wasabizの日記
2015-01-08 実用的なクワインの話 ;;; 飛行機の中でワインを飲んだら気分が良くなったのでクワインの話でも書いてみる。 クワインとは、実行すると自分自身を出力するコードのこと。 ハッカーのお楽しみとしてとても愛されてはいるけれど、所詮あくまでおもちゃという扱いが強いんじゃないのかなあと思う(実際そうだし)。 そんなクワインも実用的に使えることがあるんですよーというのが今日の話。 具体的に... 続きを読む
とあるプログラミング言語処理系のセルフホスティング化に携わった - wasabizの日記
2013-12-15 とあるプログラミング言語処理系のセルフホスティング化に携わった (この記事はJSX Advent Calendar 2013の一部として書かれました。) 僕がJSXというプログラミング言語の開発に携わってこの冬で早1年半になります。コンパイラとしてのjsxにはこの1年半で幾多の出来事がありましたが、その中でも一番巨大なものがセルフホスティングでしょう。つまりJSXのコンパイラ... 続きを読む
1ヶ月でgaucheより速くてポータブルなR7RS準拠のscheme処理系作ってみた - wasabizの日記
2013-11-07 1ヶ月でgaucheより速くてポータブルなR7RS準拠のscheme処理系作ってみた タイトルは釣りです。 大学のC言語の授業()で暇を持て余した上級者向けに「C言語でscheme処理系を作れ」という楽しい課題が出たのでscheme処理系つくりました。 https://github.com/wasabiz/picrin さっきコンパイルラインに-O3のオプションつけてベンチマ... 続きを読む
限定継続の(すごくわかりやすい(かもしれない))解説 - wasabizの日記
2013-10-03 限定継続の(すごくわかりやすい(かもしれない))解説 ** この記事はmrubyで限定継続(shift/reset)を実装した話の一部です 限定継続とは一般化された継続のようなもので、切り取るスタックの底を指定できるcallccのようなものです。といってもこうやって言葉を並べているだけだと何を言っているか全くわからないと思うのでここから具体的に説明していきます。 限定継続には... 続きを読む
mrubyで限定継続(shift/reset)を実装した話 - wasabizの日記
2013-10-03 mrubyで限定継続(shift/reset)を実装した話 mrubyという組み込み向けのruby実装があります。中身のアーキテクチャはほとんどluaに近いんですがAPIとかがとても洗練されていてソースコードが読んでいてとてもふつくしい。登場からまだあまり時間が経っておらずコードが成熟していないという事もあってなかなかハックしがいがあるソフトウェアです。今回そのmrubyに限... 続きを読む