Nemerle には標準で PEG のパーサージェネレーターのライブラリが付属しています。それを使って Brainfuck の単純なパーサーを書いてみます。
Nemerle で Brainfuck の PEG parser を作る
02 2月, 2012
プログラミングに関するメモ書きを中心に扱います。言語は主に C# になりますが,時々他の言語について書くこともあります。
Nemerle には標準で PEG のパーサージェネレーターのライブラリが付属しています。それを使って Brainfuck の単純なパーサーを書いてみます。
組み合わせの列挙を行いたいということはしばしば起こります。例えば 0, 1, 2, 3, 4 の 5 つの数字から 3 つを取り出す組み合わせというのは {0, 1, 2}, {0, 1, 3}, {0, 1, 4}, もっと見る
C# の enum を扱うメソッドをジェネリックに書きたいと思うと,ジェネリック型制約に enum が使えないという問題に直面します[A]。何通りか書き方が考えらます。これを,フラグの列挙型の値を与えると,フラグを分解し もっと見る
パフォーマンスのために,データの生成にコストがかかるオブジェクトを辞書にキャッシュしておく,ということをよく行います。生成するオブジェクトが少ないならあまり気にする必要はないのですが,規模が大きくなるとメモリーリークの問 もっと見る
遺伝暗号表や base64 のように,連続したいくつかの要素を取得しながら処理したいということがあります。たとえば AUGUUAAUCAACCAA を AUG UUA AUC AAC CAA と 3 つずつ取得するような もっと見る