usakdsteen

ゆうさくですてぃーん

2020年05月08日のTweets

のTweets | のTweets | のTweets >
  1.  @enodranoeL #

    ついうっかりで小1時間も時間潰してしまった・・・俺のバカ・・・

  2.  @enodranoeL #
    @enodranoeL

    もしかするとコンパイルが必要なのかもしれない・・

  3.  @enodranoeL #
    @enodranoeL

    テキトーなスタックマシーンでイメージした感じ、レキシカルスコープならもしかするとどうにかなるかもしらんが・・・

  4.  @enodranoeL #
    @enodranoeL

    プログラムコードが膨らみそう

  5.  @enodranoeL #
    @enodranoeL

    PUSH <CODE>
    コードデータをスタックにプッシュする

  6.  @enodranoeL #
    @enodranoeL

    GET <R-POS>
    現在のスタックポインタから相対的な位置にあるスタック上のデータのコピーをスタックにプッシュする

  7.  @enodranoeL #
    @enodranoeL

    CALL <PROG-POS>
    現在のプログラムポジションをスタックに積み、指定のプログラムポジションのプログラムを実行する

  8.  @enodranoeL #
    @enodranoeL

    RET
    戻り値と戻りポジションをスタックから取り出し
    戻り値をスタックにプッシュしたのち戻りポジションにプログラムポジションを移して実行

  9.  @enodranoeL #
    @enodranoeL

    JUMP <PROG-POS>
    指定したプログラムポジションにジャンプする

  10.  @enodranoeL #
    @enodranoeL

    JUMP-IF-TRUE <PROG-POS>
    JUMP-IF-FALSE <PROG-POS>
    JUMP-IF-NIL <PROG-POS>
    JUMP-IF-NOT-NIL <PROG-POS>
    スタックから値を取り出し値が指定の値と一致するなら指定のプログラムポジションへジャンプ

  11.  @enodranoeL #
    @enodranoeL

    CALL-BUILTIN <FN-POINTER>
    ビルトイン関数を呼ぶ

  12.  @enodranoeL #
    @enodranoeL

    RAISE-ERROR <ERR-INFO>
    エラー発生させて実行中断する

  13.  @enodranoeL #
    @enodranoeL

    スタックに積んだ引数の除去処理が必要だた・・・

  14.  @enodranoeL #
    @enodranoeL

    引数の数は静的に解決できるはずだから
    RET <ARG-COUNT>
    あたりにしといてやればいいか()

  15.  @enodranoeL #
    @enodranoeL

    絶対位置も必要だな・・・・再帰だと相対じゃ取れない?

  16.  @enodranoeL #
    @enodranoeL

    問題があるとすれば微妙な引数のバインド作法をどうにかしないとな・・・

  17.  @enodranoeL #
    @enodranoeL

    受け取り引数に対して解体してリバインドしないとけいない

のTweets | のTweets | のTweets >