<<
23/27
>>
First
Last
バックエンドよもやま - Befunge
https://ja.wikipedia.org/wiki/Befunge
- これも2次元空間を走りまわるプログラム言語
- Befunge-93の命令セットが好きなのでその命令セットのみ
- Befunge-93ではメモリ空間が80x25なので、そこだけ80x無限に拡張してある実装
- 過去に LLVM bitcode (x86) から Befunge へのトランスレータを書いたことがある
- それよりは圧倒的に簡単。Pietと比べても簡単
- Pietでやってない、basic block終了時にjmpしてないなら次の命令に直結、みたいな最適化もやってある
- ノイマンアーキテクチャなので正しい最適化実装はちょっと作りにくい
http://shinh.skr.jp/slide/elvm/8cc.c.eir.bef