こんにちは。JavaScript(とガンダム)を勉強中のエンジニアの庄子です。
だいぶ前に流行ったジョジョ言語等のBrainf*ck系スクリプトのインタプリタを、
シャア専用言語としてJavaScriptで実装してみました。
今さら感が否めませんが、ブログネタくらいにはなるだろうと思い、投稿してみます。
環境
・MAMP
・chrome
・jquery v2.1.0
言語仕様
基本的にはBrainf*ckの仕様と同じですが、ホワイトスペース(空白、改行等)でキーワードを区切る必要があります。
はっはっは :ポインタが指す値をインクリメントする
なんということだ :ポインタが指す値をデクリメントする
勝利の栄光を君に :ポインタをインクリメントする
坊やだからさ :ポインタをデクリメントする
見えるぞ、私にも敵が見える :ポインタが指す値を出力に書き出す
見せて貰おうか :入力から1バイト読み込んで、ポインタが指す先に代入する
認めたくないものだな :ポインタが指す値が0なら、対応するループ終了の直後にジャンプする
自分自身の若さ故の過ちというものを:ポインタが指す値が0でないなら、対応するループ開始にジャンプする
ソースコードと実行環境
jsdo.itにアップしました。こちらで試せます。
http://jsdo.it/kojiro_shoji/edBU
テストしてみる
・”Hello, world!”を表示
基本中の基本、Hello worldです。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは 認めたくないものだな 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは はっはっは 坊やだからさ 坊やだからさ 坊やだからさ なんということだ 自分自身の若さ故の過ちというものを 勝利の栄光を君に 見えるぞ、私にも敵が見える 勝利の栄光を君に はっはっは はっはっは 見えるぞ、私にも敵が見える はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは 見えるぞ、私にも敵が見える 見えるぞ、私にも敵が見える はっはっは はっはっは はっはっは 見えるぞ、私にも敵が見える 勝利の栄光を君に なんということだ 見えるぞ、私にも敵が見える なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ 見えるぞ、私にも敵が見える 坊やだからさ はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは 見えるぞ、私にも敵が見える なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ 見えるぞ、私にも敵が見える はっはっは はっはっは はっはっは 見えるぞ、私にも敵が見える なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ 見えるぞ、私にも敵が見える なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ なんということだ 見えるぞ、私にも敵が見える 勝利の栄光を君に はっはっは 見えるぞ、私にも敵が見える |
実行結果
・Fizz Buzz問題
3で割り切れる数字はFizz、5で割り切れる数字はBuzz、両方で割り切れる数字はFizzBuzzと表示します。
最初は自力で作ろうとしましたが…僕には難易度が高すぎました。なので、こちらを参考にさせて頂きました。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
はっはっは はっはっは はっはっは はっはっは はっはっは はっはっは 認めたくないものだな なんということだ 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に 勝利の栄光を君に はっはっは 勝利の栄光を君に はっはっは 勝利の栄光を君に なんということだ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを 勝利の栄光を君に 認めたくないものだな 坊やだからさ はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に 勝利の栄光を君に はっはっは はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に 勝利の栄光を君に はっはっは はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に はっはっは はっはっは 勝利の栄光を君に 勝利の栄光を君に はっはっは はっはっは 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ なんということだ 自分自身の若さ故の過ちというものを 坊やだからさ はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは はっはっは 勝利の栄光を君に なんということだ なんということだ 勝利の栄光を君に はっはっは はっはっは はっはっは 勝利の栄光を君に なんということだ 勝利の栄光を君に 勝利の栄光を君に なんということだ なんということだ なんということだ 勝利の栄光を君に はっはっは はっはっは 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に はっはっは はっはっは はっはっは はっはっは はっはっは 認めたくないものだな なんということだ 勝利の栄光を君に はっはっは はっはっは 勝利の栄光を君に はっはっは はっはっは 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 認めたくないものだな なんということだ 勝利の栄光を君に なんということだ 認めたくないものだな 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 自分自身の若さ故の過ちというものを 勝利の栄光を君に 認めたくないものだな 坊やだからさ はっはっは はっはっは はっはっは 勝利の栄光を君に 見えるぞ、私にも敵が見える 勝利の栄光を君に 見えるぞ、私にも敵が見える 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 見えるぞ、私にも敵が見える 見えるぞ、私にも敵が見える 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に はっはっは 坊やだからさ 自分自身の若さ故の過ちというものを 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ なんということだ 認めたくないものだな 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 自分自身の若さ故の過ちというものを 勝利の栄光を君に 認めたくないものだな 坊やだからさ はっはっは はっはっは はっはっは はっはっは はっはっは 勝利の栄光を君に 見えるぞ、私にも敵が見える 勝利の栄光を君に 見えるぞ、私にも敵が見える 勝利の栄光を君に 見えるぞ、私にも敵が見える 見えるぞ、私にも敵が見える 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に はっはっは 坊やだからさ 自分自身の若さ故の過ちというものを 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に はっはっは 坊やだからさ なんということだ 認めたくないものだな 坊やだからさ 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを 坊やだからさ 認めたくないものだな 認めたくないものだな なんということだ 坊やだからさ 坊やだからさ はっはっは 勝利の栄光を君に 勝利の栄光を君に 自分自身の若さ故の過ちというものを 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に はっはっは 勝利の栄光を君に はっはっは 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 認めたくないものだな なんということだ 勝利の栄光を君に 勝利の栄光を君に はっはっは 勝利の栄光を君に はっはっは 勝利の栄光を君に なんということだ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを 坊やだからさ 自分自身の若さ故の過ちというものを 勝利の栄光を君に 勝利の栄光を君に 認めたくないものだな 認めたくないものだな なんということだ 自分自身の若さ故の過ちというものを 坊やだからさ 自分自身の若さ故の過ちというものを 勝利の栄光を君に 認めたくないものだな 勝利の栄光を君に 勝利の栄光を君に 勝利の栄光を君に 認めたくないものだな 勝利の栄光を君に 見えるぞ、私にも敵が見える 坊やだからさ 坊やだからさ 見えるぞ、私にも敵が見える 坊やだからさ 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを 坊やだからさ 認めたくないものだな 見えるぞ、私にも敵が見える 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを 勝利の栄光を君に 自分自身の若さ故の過ちというものを 勝利の栄光を君に 見えるぞ、私にも敵が見える 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 坊やだからさ 自分自身の若さ故の過ちというものを |
実行結果
感想
仕事の合間に作るつもりが、ループの処理が思ったより難しく、結局夜更かしすることに…。
自由にプログラミングしたのは久々だったので、楽しかったです。
あまり満足にテストしてませんので、バグ等あるかもしれませんが、ご愛嬌ということで。
これからもJavaScript(とガンダム)のお勉強がんばります。
以上です。