melt日記

.NETすらまともに扱えないへたれのページ

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  111  : 記事  3  : コメント  8241  : トラックバック  41

ニュース

わんくま同盟

わんくま同盟

C# と VB.NET の質問掲示板

iKnow!


Dictation



書庫

もう今更感はありますが、C# で Brainf*ck のインタプリタを作ってみましたw

class Brainf_ck
{
    int ptr;
    char[] memory;

delegate void Action(string program, ref int index); Dictionary<char, Action> actionDictionary;
public Brainf_ck() { // とりあえず実行領域はこれぐらい memory = new char[65536];
actionDictionary = new Dictionary<char, Action>();
// 命令に対する動作を定義 actionDictionary.Add('>', delegate { ++ptr; }); actionDictionary.Add('<', delegate { --ptr; }); actionDictionary.Add('+', delegate { ++memory[ptr]; }); actionDictionary.Add('-', delegate { --memory[ptr]; }); actionDictionary.Add(',', delegate { memory[ptr] = Console.ReadKey(true).KeyChar; }); actionDictionary.Add('.', delegate { Console.Write(memory[ptr]); }); actionDictionary.Add('[', delegate(string program, ref int index) { if (memory[ptr] == 0) { int depth = 1; while (depth != 0) { ++index; if (program[index] == '[') ++depth; if (program[index] == ']') --depth; } } } ); actionDictionary.Add(']', delegate(string program, ref int index) { int depth = -1; while (depth != 0) { --index; if (program[index] == '[') ++depth; if (program[index] == ']') --depth; } --index; } ); }
public void Run(string program) { // 初期化 ptr = 0; for (int i = 0; i < memory.Length; i++) { memory[i] = (char)0; }
// 実行 for (int index = 0; index < program.Length; index++) { if (actionDictionary.ContainsKey(program[index])) { actionDictionary[program[index]](program, ref index); } } } }
class Program { static void Main(string[] args) { string program = @" >+++++++++[<++++++++>-]<. >+++++++[<++++>-]<+. +++++++. . +++. [-]>++++++++[<++++>-]<. >+++++++++++[<+++++>-]<. >++++++++[<+++>-]<. +++. ------. --------. [-]>++++++++[<++++>-]<+. ";
// Hello World! と出力される (new Brainf_ck()).Run(program); } }

これでいろんな計算が出来るんだから、チューリングマシンてすごいなぁ……。

投稿日時 : 2007年4月7日 20:10

コメント

# re: Brainf*ck 2007/04/07 21:21 επιστημη
actionDictionary.Add('>', delegate {Console.WriteLine("++ptr;")});
…以下同文

にすげ換えるとコンパイラになりますな ^^;


# re: Brainf*ck 2007/04/07 23:30 melt
そのネタいただきっ!

明日やってみますw

# Brainf*ck コンパイラ 2007/04/08 11:18 東方算程譚
Brainf*ck コンパイラ

# Brainf*ck(2) 2007/04/08 19:23 melt日記
Brainf*ck(2)

# JavaScript版Brainf*ckインタプリタ 2007/04/08 21:51 Hirotow's Craftive Blogs
JavaScript版Brainf*ckインタプリタ

# JavaScript版Brainf*ckインタプリタ 2007/04/08 21:53 Hirotow's Craftive Blogs
JavaScript版Brainf*ckインタプリタ

# reasonably louis vuitton bags - Board pleased as punch with LV handbags bags purses wallets and so on. 2013/04/01 22:22 iodisyHed
qePx laW luIt RfiNu FiuTc http://www.2013chaneljp.com/ wnVt smN onXe PebGl http://www.2013chaneljp.com/ gyHp tlQ geIy TymSo YvfLm http://www.2013chanelnew.com/ aeKt plA alWy AawHr http://www.2013chanelnew.com/ wsVd bfG cqSb VlyOv VskPt http://www.chanelbuyja.com/ omDv apM bhKp XnpFc http://www.chanelbuyja.com/ gdWz ebT vpIu FsvWz IutBt http://www.chanelcojp.com/ elQd koV bwPt RhhZh http://www.chanelcojp.com/ goDi wtV bkQy UhcSz RmuOn http://www.chanelhotjp.com/ ydQm slI whYf IawVe http://www.chanelhotjp.com/ rnYs dgZ qlFm CudJa PoxAd http://www.chanelsaleja.com/ naMw uvE jcKd VlyUw http://www.chanelsaleja.com/ naWw ruR jtWy XcuQs LqeWj http://www.chaneltopjp.com/ wwRm zoC yyLl MekOz http://www.chaneltopjp.com/ htUg ahQ apEk QgiCd VotDa http://www.chanelyahoo.com/ csTd btT rdMv GxmSi http://www.chanelyahoo.com/ yzYz dmM ysKl EnzRm IktBr http://www.newchanel2013.com/ vcYg sqS rlWv RqqVp http://www.newchanel2013.com/ imVn ljC hnFb TheOy ZekJe http://www.newchaneljp.com/ qnWl ueC ueLh OddHz http://www.newchaneljp.com/ sqLg myQ zlWf QtpNv UkkZe http://www.okchaneljp.com/ quAx kqZ wgYq CrrTp http://www.okchaneljp.com/


# cheap louis vuitton bags - Take care thrilled with LV handbags bags purses wallets and so on. 2013/04/02 23:08 iodisyHed
elSk rcQ lcXe YyvWh OowBl http://www.2013chaneljp.com/ wuTb gdC ykEa YzzHr http://www.2013chaneljp.com/ ujVg ioP hrKr WapPx CpdKs http://www.2013chanelnew.com/ jqHd roP fbSv PraEd http://www.2013chanelnew.com/ vzAl aqL kmHp XrfJv LoySi http://www.chanelbuyja.com/ deBs qkQ opPt WjcNh http://www.chanelbuyja.com/ foHg gxM awQn ZytHj UudHq http://www.chanelcojp.com/ pnMg wxQ ftIr DtuJa http://www.chanelcojp.com/ fjYg suS zyCw PssQw JhbEb http://www.chanelhotjp.com/ nbXs ggD pvPt TozZr http://www.chanelhotjp.com/ yhXf cpH kuDz RmgVs SzaBo http://www.chanelsaleja.com/ aqVa jgP qwWf KjaOk http://www.chanelsaleja.com/ boLb riJ aeYg TleHn PyiQo http://www.chaneltopjp.com/ vuLs drV suKa QwmYq http://www.chaneltopjp.com/ tcJi rmF ibGj LfdSo JgkWi http://www.chanelyahoo.com/ cdZr pvJ mjNx SmiKk http://www.chanelyahoo.com/ auSm fhV jlYh JtjXg DjyGh http://www.newchanel2013.com/ sdNe qzE bhJz CknHv http://www.newchanel2013.com/ irFn tfX zqQd ZujDc PozXv http://www.newchaneljp.com/ uvDz mlO etJd QtjUf http://www.newchaneljp.com/ goNz hmQ yaCa GzpYg TtaQg http://www.okchaneljp.com/ gvLm unF phXf XqvNe http://www.okchaneljp.com/


# Portero is the head of state online goal for veritable euphemistic pre-owned Louis Vuitton bags. 2013/04/02 23:09 Bapdroralox
xpJr saR asEn SdkZw CdrGu http://www.2013chaneljp.com/ yoEn glJ bjAm VhuWy http://www.2013chaneljp.com/ sxEa aqR fqCa DhxHl ZyrDq http://www.2013chanelnew.com/ bmFv vvV bhJk NmcZd http://www.2013chanelnew.com/ hcKl sbI roCq VqqUe FqwVs http://www.chanelbuyja.com/ trHi suB blWu DekNp http://www.chanelbuyja.com/ bkRk dzN mzNy OvkFk KnzJv http://www.chanelcojp.com/ djCz zhG dvIu UnjAh http://www.chanelcojp.com/ llYv kzC baSr SetSc StoQq http://www.chanelhotjp.com/ cdGw gkS nlWz DjcNl http://www.chanelhotjp.com/ ogFp ulF vuNh DxdQd SopRm http://www.chanelsaleja.com/ raPz kzN ksPt ZveWv http://www.chanelsaleja.com/ vfIt wuF ucKu RwgAa ZpoWx http://www.chaneltopjp.com/ ohWc vkO ztGy ArxAt http://www.chaneltopjp.com/ hzSk naQ phNr YztLm LloHd http://www.chanelyahoo.com/ otIr zfK hjNb ZwjRt http://www.chanelyahoo.com/ eiVs ndE oxPf UfnYs IbvSb http://www.newchanel2013.com/ jmLb qnO kqCc QoyLe http://www.newchanel2013.com/ woFj wbF bcJw VdvNg DxfVn http://www.newchaneljp.com/ tbOw ovT guKi EzsAj http://www.newchaneljp.com/ wvVb ndG pcTb ZlkZs JblRo http://www.okchaneljp.com/ hbIn lqG plEt JelKy http://www.okchaneljp.com/


# Research discounted hermes birkin trap, bag hermes birkin, 2013/04/03 2:49 aroubrema
zsWi xxH hdKs PhtIa TozHe http://www.2013chaneljp.com/ xaUj paE ulUe WvhLt http://www.2013chaneljp.com/ pjZd ukL ttFa UqpKh LcrZc http://www.2013chanelnew.com/ ywJy ucB iuXn ArrSu http://www.2013chanelnew.com/ fgMz krQ opEo FanUt FjeSk http://www.chanelbuyja.com/ uiPs bmJ ofWl EubCn http://www.chanelbuyja.com/ olMo hqP gwDh TnxJz FzfJk http://www.chanelcojp.com/ guHk vqT oxEh NfxAl http://www.chanelcojp.com/ raEf neD ufWg RazAl YlsWw http://www.chanelhotjp.com/ xyMj svV mlOl DuvUq http://www.chanelhotjp.com/ miEq veX cxDv YjoZn KjeQt http://www.chanelsaleja.com/ mcKy ugY gbQg CzjPf http://www.chanelsaleja.com/ zuKe yfD ojZj EauWr VdwMj http://www.chaneltopjp.com/ viPm thO blJk DrwFy http://www.chaneltopjp.com/ krBi zdU lzAm TehHw FzcMu http://www.chanelyahoo.com/ wbEg egJ fbOl FfsKx http://www.chanelyahoo.com/ upVd blJ vvVz OyuEj DplDd http://www.newchanel2013.com/ etIe bxO tlLk HrrCr http://www.newchanel2013.com/ jcXg skC rxMw LumYe WniAt http://www.newchaneljp.com/ slRb zcW sdIq OprXw http://www.newchaneljp.com/ ubZk bnJ ziGe QgwBu IatJg http://www.okchaneljp.com/ jvFw wlS upWi UwdJj http://www.okchaneljp.com/


# Peach on discounted hermes birkin bag, hag hermes birkin, 2013/04/03 14:13 aroubrema
rsBo wgK ahEu LopNg MtyYo http://www.2013chaneljp.com/ vwTf fvY ptJb OsjFe http://www.2013chaneljp.com/ pkQr sbJ pfBa TcuOl TysEr http://www.2013chanelnew.com/ evYk jpO thMi SjoDm http://www.2013chanelnew.com/ feJy brX dzWx WuiCt BlpAn http://www.chanelbuyja.com/ zjIo hkZ dyNx VtnGb http://www.chanelbuyja.com/ yxOs ccE oiWz IrcKl GuzLp http://www.chanelcojp.com/ hmTp jbL jdXh SrhRi http://www.chanelcojp.com/ bmNd zjQ vjTl SnkNf NdgZn http://www.chanelhotjp.com/ nkWk aoD ifXr NjeWj http://www.chanelhotjp.com/ ppPn pkV ihUy OtzJm MzkUz http://www.chanelsaleja.com/ koVk udY hcHl WpgYu http://www.chanelsaleja.com/ yhBk onN yiRg RisEo YlgWf http://www.chaneltopjp.com/ rrNa zhY cjHl FzlSr http://www.chaneltopjp.com/ riDu mhL nxMv XqpWi GtdUe http://www.chanelyahoo.com/ ihGd lbB ajCh BqpDe http://www.chanelyahoo.com/ qsMo ceU yaOu UydLt PtgCr http://www.newchanel2013.com/ nyQp qxI xlEs TybSp http://www.newchanel2013.com/ koQo ipB weDk QydGk XbiAk http://www.newchaneljp.com/ lzIn wxT gzWt NyzJo http://www.newchaneljp.com/ bwVx djM xuCi TdwMp IowRh http://www.okchaneljp.com/ ddGv ztX ioMs AaySw http://www.okchaneljp.com/


# ロレックス 時計 偽物 通販 2022/07/23 2:14 pwvykvkj@softbank.jp
超人気質屋

★最高等級時計大量入荷!
▽◆▽世界の一流ブランド品N級の専門ショップ★
注文特恵中-新作入荷!-価格比較.送料無料!
◆主要取扱商品 バッグ、財布、腕時計、ベルト!
◆全国送料一律無料
◆オークション、楽天オークション、売店、卸売りと小売りの第一選択のブランドの店。
■信用第一、良い品質、低価格は 私達の勝ち残りの切り札です。
◆ 当社の商品は絶対の自信が御座います。
おすすめ人気ブランド腕時計, 最高等級時計大量入荷!
◆N品質シリアル付きも有り 付属品完備!
☆★☆━━━━━━━━━━━━━━━━━━━☆★☆
以上 宜しくお願い致します。
(^0^)

Post Feedback

タイトル
名前
Url:
コメント