LoginSignup
4
4

More than 5 years have passed since last update.

どこかで心の叫びが聞こえた気がするので Brainf*ck の派生言語作成ツール orenono gem で「ホモ言語」を作ってみる

Last updated at Posted at 2014-11-03

どこかで心の叫びが聞こえた気がするので Brainf*ck の派生言語作成ツール orenono gem で「ホモ言語」を作ってみる

概要

どこかで心の叫びが聞こえた気がするので Brainf*ck の派生言語作成ツール orenono gem で「ホモ言語」を作ってみます。
どこかの心の叫びとはちょっと仕様が異なるけどご了承ください。

orenono gem については下記記事参照。
Ruby で Brainf*ck の派生言語を作成するための gem 『orenono』を作成してみた

前提

orenono gem をインストール済み

文法定義

orenono init で Orenonofile を生成し、中身を編集して文法を定義します。

  • Orenonofile を生成する
$ orenono i
$ ls Orenonofile
Orenonofile
  • Orenonofile を編集する
# encoding: utf-8

increment "ホモ"
decrement "ノンケ"
start_loop "やらないか?"
end_loop "もうおわりかい?"
next_cursol "筋肉"
previous_cursol "贅肉"
display "アーッ!"
read "菊"

ホモ言語 プログラム

hello_world.homo
ホモホモホモホモホモ
ホモホモホモホモ
やらないか?
    筋肉
        ホモホモホモホモホモ
        ホモホモホモ

    筋肉
        ホモホモホモホモホモ
        ホモホモホモホモホモ
        ホモ

    筋肉
        ホモホモホモホモホモ
    贅肉
    贅肉
    贅肉
        ノンケ
もうおわりかい?

筋肉
    アーッ! # => H
筋肉
    ホモホモ
        アーッ! # => e
    ホモホモホモホモホモ
    ホモホモ
        アーッ! # => l
        アーッ! # => l
    ホモホモホモ
        アーッ! # => o
筋肉
    ノンケ
        アーッ! # => ,
    ノンケノンケノンケノンケノンケ
    ノンケノンケノンケノンケノンケ
    ノンケノンケ
        アーッ! # => space
贅肉
    ホモホモホモホモホモ
    ホモホモホモ
        アーッ! # => w
    ノンケノンケノンケノンケノンケ
    ノンケノンケノンケ
        アーッ! # => o
    ホモホモホモ
        アーッ! # => r
    ノンケノンケノンケノンケノンケ
    ノンケ
        アーッ! # => l
    ノンケノンケノンケノンケノンケ
    ノンケノンケノンケ
        アーッ! # => d
    筋肉
    ホモ
        アーッ! # => !
  • インデントは読みやすさのために追加しているだけで、処理には不要です。
  • 8つの用語以外は無視されるので、コメント扱いになっています。 #=> H などはコメント。

実行結果

$ orenono e hello_world.homo
Hello, world!

参考

サンプルと等価な Brainf*ck のソースコード

+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.

orenonoスライドショー

参照

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4