EssenRev2アイデアリスト
とにかく列挙
- #0001: &&や||や!演算子をやっぱり作ることにする。これらは下位1ビットしか見てないandやorやnot。こうすることで、(a||1)とか(2&&b)をコンパイル時に定数評価できる。&&1や||0などもカットできる。・・・いやでも、真偽値が-1と0なら、&|!のままでもいけるのか。じゃあこれは&や|を定数評価するアルゴリズムの改良ということにしよう。同様に*0もできる。
- #0002: デッドコードの削除。
- #0003: 分岐してこないラベルの抽出。
- #0004: 分岐先で分岐するような処理をなくす。
- #0005: ローカル変数のサポート。
- #0006: 配列のサポート。
- #0007: ifやwhileなどが値を返せるようにしたい。max = if (a < b) { b } else { a }
- #0008: 矢印代入演算子を作ってみたい。 a<-3 4->b [done:EssenR2_ess03i]
- #0009: エラー処理をもうちょっとちゃんとやる。
- #0010: 型情報と値を分離する。
|