3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Brainf*ck の派生言語作成ツール orenono gem で「デスマーチ言語」を作ってみる

Last updated at Posted at 2014-09-01

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 "1時間残業追加"
decrement "1時間サービス残業"
start_loop "勤務開始"
end_loop "勤務終了"
next_cursol "次のタスク"
previous_cursol "前のタスク"
display "納品"
read "要件追加"

デスマーチ言語 プログラム

hello_world.bf
1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
1時間残業追加1時間残業追加1時間残業追加1時間残業追加
勤務開始
	次のタスク
		1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
		1時間残業追加1時間残業追加1時間残業追加

	次のタスク
		1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
		1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
		1時間残業追加

	次のタスク
		1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
	前のタスク
	前のタスク
	前のタスク
		1時間サービス残業
勤務終了

次のタスク
	納品 # => H
次のタスク
	1時間残業追加1時間残業追加
		納品 # => e
	1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
	1時間残業追加1時間残業追加
		納品 # => l
		納品 # => l
	1時間残業追加1時間残業追加1時間残業追加
		納品 # => o
次のタスク
	1時間サービス残業
		納品 # => ,
	1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業
	1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業
	1時間サービス残業1時間サービス残業
		納品 # => space
前のタスク
	1時間残業追加1時間残業追加1時間残業追加1時間残業追加1時間残業追加
	1時間残業追加1時間残業追加1時間残業追加
		納品 # => w
	1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業
	1時間サービス残業1時間サービス残業1時間サービス残業
		納品 # => o
	1時間残業追加1時間残業追加1時間残業追加
		納品 # => r
	1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業
	1時間サービス残業
		納品 # => l
	1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業1時間サービス残業
	1時間サービス残業1時間サービス残業1時間サービス残業
		納品 # => d
	次のタスク
	1時間残業追加
		納品 # => !
  • インデントは読みやすさのために追加しているだけで、処理には不要です。
  • 8つの用語以外は無視されるので、コメント扱いになっています。 #=> H などはコメント。

実行結果

$ orenono e hello_world.bf
Hello, world!

参考

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

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

orenonoスライドショー

参照

3
3
0

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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?