forked from wspace/corpus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
project.json
105 lines (105 loc) · 4.08 KB
/
project.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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{
"id": "java/bearice-grassmudhorse",
"name": "GrassMudHorse",
"authors": ["Bearice Ren", "jcj1988"],
"license": "LGPL-3.0-or-later",
"languages": ["Java", "Erlang"],
"tags": ["mapping", "interpreter", "disassembler", "programs"],
"date": "2009-03-25 18:20:33 +0000",
"spec_version": "0.3",
"source": [
"https://github.com/wspace/bearice-grassmudhorse",
"https://github.com/google-code-export/grass-mud-horse",
"https://github.com/charlestian/grass-mud-horse",
"https://archive.softwareheritage.org/browse/origin/directory/?origin_url=http://grass-mud-horse.googlecode.com/svn/",
"https://web.archive.org/web/20160114185408/https://code.google.com/p/grass-mud-horse/",
"https://web.archive.org/web/20210624084916/https://code.google.com/archive/p/grass-mud-horse/",
"https://github.com/thaliaarchi/repo-archival/blob/main/scripts/wspace/bearice-grassmudhorse.sh"
],
"whitespace": {
"nonstandard": [
{
"name": "end2",
"seq": "河蟹",
"desc": "Alternate syntax for `end`. The characters are river and crab."
}
],
"extension": "ws"
},
"assembly": {
"mnemonics": {
"push": ["S_PUSH", "PUSH", "push"],
"dup": ["S_DUP", "DUP", "dup"],
"copy": ["S_COPY", "COPY", "copy"],
"swap": ["S_SWAP", "SWAP", "swap"],
"drop": ["S_POP", "POP", "pop"],
"slide": ["S_SLIDE", "SLID", "slide"],
"add": ["A_ADD", "ADD", "add"],
"sub": ["A_SUB", "SUB", "sub"],
"mul": ["A_MUL", "MUL", "mul"],
"div": ["A_DIV", "DIV", "div"],
"mod": ["A_MOD", "MOD", "mod"],
"store": ["H_PUT", "SET", "set"],
"retrieve": ["H_GET", "LOAD", "load"],
"label": ["F_MARK", "DEF", "defun"],
"call": ["F_CALL", "CALL", "call"],
"jmp": ["F_JMP", "JMP", "jmp"],
"jz": ["F_JZ", "JZ", "jz"],
"jn": ["F_JNEG", "JN", "jn"],
"ret": ["F_RET", "RET", "ret"],
"end": ["F_END", "EXIT", "exit"],
"printc": ["O_CHR", "OCHR", "ochr"],
"printi": ["O_INT", "OINT", "oint"],
"readc": ["I_CHR", "ICHR", "ichr"],
"readi": ["I_INT", "IINT", "iint"]
},
"indentation": "",
"label_indentation": "",
"usage": ["disassembler", "enum"],
"notes": "Enum variants in src/cn/icybear/GrassMudHorse/OpCode.java, erlang/grass_mud_horse.hrl, and erlang/grass_mud_horse.erl, respectively. The OpCode variants are printed by JOTCompiler disassembly."
},
"mappings": [
{
"space": "草",
"tab": "泥",
"lf": "马",
"extension": "gmh",
"notes": "The characters are grass, mud, and horse, respectively"
}
],
"programs": [
{ "path": "calc.gmh", "aux": ["calc.ws"] },
{ "path": "fibonacci.gmh", "aux": ["fibonacci.ws"] },
{ "path": "hworld.gmh", "aux": ["hworld.ws"] },
{ "path": "name.gmh", "aux": ["name.ws"] },
{ "path": "test.gmh" }
],
"commands": [
{
"type": "interpreter",
"bin": "bin/cn/icybear/GrassMudHorse/AlpacaVM.class",
"usage": "java -cp bin cn.icybear.GrassMudHorse.AlpacaVM <gmh_file>"
},
{
"type": "disassembler",
"bin": "bin/cn/icybear/GrassMudHorse/JOTCompiler.class",
"usage": "java -cp bin cn.icybear.GrassMudHorse.JOTCompiler <gmh_file> [<output_file>]",
"output": "<output_file> or stdout"
},
{
"type": "mapping",
"bin": "bin/cn/icybear/GrassMudHorse/WS2GMH.class",
"usage": "java -cp bin cn.icybear.GrassMudHorse.WS2GMH <ws_file> [<gmh_file>]",
"output": "<gmh_file> or <ws_file:replace(.ws$,.gmh)>"
},
{
"type": "interpreter",
"bin": "erlang/grass_mud_horse.beam",
"usage": "erl -noshell -s grass_mud_horse compile_run <file> -s init stop",
"input": "<file>",
"output": "<stdout>"
}
],
"notes": "Grass Mud Horse is a Chinese meme, based on a homophonic pun similar to a profanity, and is said to be a species of alpaca whose existence is said to be threatened by \"river crabs\", symbolizing internet censorship (https://en.wikipedia.org/wiki/Grass_Mud_Horse)",
"todo": "Include wiki from the Software Heritage archive and commits from the charlestian fork in the repo"
}