読者です 読者をやめる 読者になる 読者になる

わらばんし仄聞記

南の国で引きこもってるWeb屋さん

簡易brainf*ckコンパイラを作る part3

ここまでで触れていたもので、準備は整った。本題に戻って、brainf*ckのコードをプログラムに読ませ、そのコードの実行ファイルを生成する。 具体的にどうするかを攫っておくと、 pythonでJIT(64bit版Linux環境) part3を元にして、読み込んだコードをネイ…

簡易brainf*ckコンパイラを作る part2

part1に引き続き、もう一点必要なものがある。 brainf*ckはそれぞれの命令以外に、少なくともサイズ30000のバイトの配列を持つ必要があり、これは今までgasの記法を主に使っている所で見られた .comm mem, 30000に相当する。 この領域をELFファイルに直接持…

簡易brainf*ckコンパイラを作る part1

pythonでJIT(64bit版Linux環境) part3でも軽く触れていたが、ここまでで作成していたELFファイルや、JITでやっていた事をまとめると、brainf*ckのコードを読み込ませてELFの実行ファイルを作成させる事ができる。要はbrainf*ckコンパイラを作成できる。 た…

pythonでJIT(64bit版Linux環境) part3

池袋バイナリ勉強会(5)にて、前回に引き続きpythonでJITをいじってきました。 今回の目標は外部からbrainf*ck(以下bf)のコードを読ませ、それを実行するネイティブコードの生成とその実行を行う事としました。これが出来たなら、そのネイティブコードにELF…