Home

Awesome

Arithmetic

四則演算esolang

説明

四則演算を用いて種々の命令を記述する

一部の例外を除いて a = b の形式で記述される

等式として間違っている演算が存在した場合実行不可能(コンパイルエラー)

= の左辺と右辺の書き方によって命令が変化する

命令は基本的にはアドレスn(0-index)のメモリを操作するものだが一部異なる

命令一覧

特殊記法

補足

実行方法

処理系はrubyで記述した

以下のようにコマンドを記述することでファイルを実行する

echo <標準入力> | ruby eso.rb <ファイル名>

雑な実装をしたので標準入力が必要ないプログラムでも標準入力を与えないと動かないようになってしまった(ごめんなさい……)

サンプルプログラム

ハローワールド

1 = 1
1 + 1 = 2
2 + 1 = 3
2 + 2 = 4
4 + 4 = 8
8 - 1 = 7
8 + 2 = 10
8 + 4 = 12
8 + 8 = 16
16 + 16 = 32
32 + 1 = 33
32 + 12 = 44
32 + 32 = 64
64 + 64 = 128
128 - 16 = 112
112 - 8 = 104
104 - 3 = 101
104 + 4 = 108
108 + 3 = 111
111 + 8 = 119
111 + 3 = 114
104 - 4 = 100
104 = 13 * 8
101 = 1 * 101
108 = 54 * 2
108 = 27 * 4
111 = 37 * 3
44 = 11 * 4
32 = 2 * 16
119 = 17 * 7
111 = 37 * 3
114 = 57 * 2
108 = 36 * 3
100 = 25 * 4
33 = 11 * 3
10 = 5 * 2

0~9を出力

1 = 1
1 + 1 = 2
2 + 2 = 4
4 + 1 = 5
5 + 2 = 7
5 * 2 = 10
10 = 5 + 5
5 + 14 = 19
3 + 46 = 49
49 = 7 * 7
3 + 1 = 4
4 + 8 = 12
12 - 9 = 3
3 + 9 = 12
12 = 19 - 7

cat(標準入力の内容をそのまま出力する)

2 = 2
10 = 10
10 = 5 + 5
6 = 6
6 - 5 = 1
20 = 40 / 2
20 + 0 = 2 + 18
20 = 2 * 10
1 / 0