タグ

bytecpde Dslに関するuehajのブックマーク (1)

  • indyでBrainfuckを実装してみよう! - uehaj's blog

    唐突ですが、indy*1を使用して、Brainfuck言語処理系を実装してみます。Brainfuckはいわゆる一つの奇妙なプログラミング言語ですが、処理系の実装が容易であることを重視して設計されたチューリング完全な言語であり、試しに実装してみるのには良いでしょう。 とはいえ、残念ながらBrainfuckは動的言語ではないので、あんまりindyが役にたちません。 そこで、一捻りとして、"++--"といった命令列を文字列として保持し、Bootstrapメソッドの実行時に「メソッド呼び出しの列を表現するMH」として生成してみます。"+"がp()、"-"がm()というメソッド呼び出しに対応するとすると、"++--"というオプション引数を受けとったならば、「p(), p(), m(), m(),」という一連の呼び出しを結合したMHをMethodHandles.filterReturnValueで作成

    indyでBrainfuckを実装してみよう! - uehaj's blog
  • 1