-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmtracery.json
76 lines (62 loc) · 3.01 KB
/
tmtracery.json
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
"origin": "#init##run#",
"init": "#init_machine##init_state##init_tape#",
"init_machine": "[run_next:][rewind_next:][show_left_next:]",
"init_state": "This variable must be replaced by the compiler.#FAIL#",
"init_tape": "This variable must be replaced by the compiler.#FAIL#",
"run": "#drop_next##run_step##run_next#",
"run_step": "#pad_tape##load_transition##exec_transition##load_move##exec_move##drop_transition##drop_move#",
"run_next": "#terminate#",
"drop_next": "[run_next:POP]",
"activate_next": "\\#run\\#",
"pad_tape": "#pad_left##pad_right#",
"pad_left": "#load_padder_left##exec_padder_left##drop_padder_left#",
"load_padder_left": "[r_left:#tape_left#][exec_padder_left:#activate_padder_left#]",
"activate_padder_left": "\\#padder_left#r_left#\\#",
"drop_padder_left": "[r_left:POP][exec_padder_left:POP]",
"padder_left*": "[tape_left:#blank#]",
"pad_right": "#load_padder_right##exec_padder_right##drop_padder_right#",
"load_padder_right": "[r_right:#tape_right#][exec_padder_right:#activate_padder_right#]",
"activate_padder_right": "\\#padder_right#r_right#\\#",
"drop_padder_right": "[r_right:POP][exec_padder_right:POP]",
"padder_right*": "[tape_right:#blank#]",
"load_transition": "#pop_state#[exec_transition:#activate_transition#]#drop_state#",
"activate_transition": "\\#*#old_state#*#tape_right#\\#",
"drop_transition": "[exec_transition:POP]",
"pop_state": "[old_state:#state#][state:POP]",
"drop_state": "[old_state:POP]",
"load_move": "[exec_move:#activate_move#]",
"activate_move": "\\#move#direction#\\#",
"drop_move": "[direction:POP][exec_move:POP]",
"move>": "[tape_left:#tape_right#][tape_right:POP]",
"move<": "[tape_right:#tape_left#][tape_left:POP]",
"move_": "",
"terminate": "#state#\n#rewind_tape##show_tape#",
"rewind_tape": "#drop_rewind##rewind_step##rewind_next#",
"rewind_step": "[tape_left_reversed:#tape_left#][tape_left:POP]#load_rewind##rewind_next#",
"rewind_next": "#rewind_tape#",
"load_rewind": "[rewind_next:#activate_rewind#]",
"activate_rewind": "\\#rewind#tape_left#\\#",
"drop_rewind": "[rewind_next:]",
"rewind*": "",
"show_tape": "#show_left#*#show_right#",
"show_left": "#drop_show_left##show_left_step##show_left_next#",
"show_left_step": "#tape_left_reversed#[tape_left_reversed:POP]#load_show_left##show_left_next#",
"show_left_next": "#show_left#",
"drop_show_left": "[show_left_next:POP]",
"load_show_left": "[show_left_next:#activate_show_left#]",
"activate_show_left": "\\#show_left#tape_left_reversed#\\#",
"show_left*": "",
"show_right": "#drop_show_right##show_right_step##show_right_next#",
"show_right_step": "#tape_right#[tape_right:POP]#load_show_right##show_right_next#",
"show_right_next": "#show_right#",
"drop_show_right": "[show_right_next:POP]",
"load_show_right": "[show_right_next:#activate_show_right#]",
"activate_show_right": "\\#show_right#tape_right#\\#",
"show_right*": "",
"tape_left_reversed": "*",
"tape_left": "*",
"tape_right": "*",
"blank": "This variable must be replaced by the compiler.#FAIL#",
"FAIL": "#FAIL#"
}