最終的にはコンパイラを作ってみたいと考えて、ANTLRとLLVMを勉強中。 ANTLRはJavaで実装されたパーサジェネレータ。 ANTLRの使い方がなんとなく分かったので、Brainf*ckのインタプリタを実装してみた。 ANTLRによるインタプリタの作り方については別記事で投稿する(かも)。 とりあえず、コードを晒しておく インタプリタのコンパイル方法上記のコードをBF.gという名前で保存して(名前は重要!)、以下のよう ANTLR にパーサのソースコードを生成させる。 $ antlr BF.g すると、カレントディレクトリに BFParser.java, BFLexer.javaが出来ているので、 $ javac BFParser.java BFLexer.java でコンパイル インタプリタの実行無事インタプリタがコンパイルできたら、"Hello world"を実行してみる。 $
![ANTLRでBrainf*ckインタプリタ - ※あくまでも個人の感想です。](https://cdn-ak-scissors.b.st-hatena.com/image/square/4333b4a82607822c477098bd727001d04e6271dc/height=288;version=1;width=512/https%3A%2F%2Fassets.tumblr.com%2Fimages%2Fdefault_avatar_512.png)