-
Notifications
You must be signed in to change notification settings - Fork 3
/
project.json
89 lines (89 loc) · 3.37 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
{
"id": "cpp/esco",
"name": "EsCo (Esoteric Combine)",
"authors": ["Zasenko Sergey", "Matthias Boehm", "Justin Mutter"],
"license": "GPL-2.0-or-later",
"languages": ["C++"],
"tags": ["interpreter"],
"date": "2007-12-24 21:21:37 +0000",
"spec_version": "0.3",
"source": [
"https://git.code.sf.net/p/esco/code",
"https://sourceforge.net/projects/esco/",
"http://esco.sourceforge.net/"
],
"submodules": [{ "path": "esco", "url": "https://git.code.sf.net/p/esco/code" }],
"whitespace": { "extension": "ws" },
"assembly": {
"mnemonics": {
"push": "PUSH",
"dup": "DUPL",
"copy": "COPY_N_TO_TOP",
"swap": "SWAP",
"drop": "POP",
"slide": "SLIDE_N",
"add": "ADD",
"sub": "SUB",
"mul": "MULT",
"div": "DIV",
"mod": "MOD",
"store": "STORE",
"retrieve": "RETRIEVE",
"label": "LABEL",
"call": "CALLROUTINE",
"jmp": "JMP",
"jz": "JMPZERO",
"jn": "JMPNEGATIVE",
"ret": "RETURN",
"end": "EXIT",
"printc": "PRINTCHAR",
"printi": "PRINTNUMBER",
"readc": "READCHAR",
"readi": "READNUMBER"
},
"usage": ["enum"]
},
"programs": [
{ "path": "scripts/ws/calc.ws", "equivalent": "calc.ws", "spec_version": "0.2" },
{ "path": "scripts/ws/count.ws", "equivalent": "count.ws", "spec_version": "0.2" },
{ "path": "scripts/ws/fact.ws", "equivalent": "fact.ws", "spec_version": "0.2" },
{ "path": "scripts/ws/hanoi.ws", "equivalent": "hanoi.ws", "spec_version": "0.2" },
{ "path": "scripts/ws/hworld.ws", "equivalent": "hworld.ws", "spec_version": "0.2" },
{ "path": "scripts/ws/loctest.ws", "equivalent": "loctest.ws", "spec_version": "0.3" },
{ "path": "scripts/ws/name.ws", "equivalent": "name.ws", "spec_version": "0.2" }
],
"commands": [
{
"type": "interpreter",
"bin": "src/esco",
"usage": "[-h | --help] [-t <machine_type> | --type=<machine_type>] [-i <input_file> | --input=<input_file>] [-o <output_file> | --output=<output_file>] [-d | --debug] [-q | --quiet] <file>",
"options": [
{ "short": "h", "long": "help", "desc": "to read this" },
{
"short": "t",
"long": "type",
"arg": "machine_type",
"type": "enum",
"desc": "machine type",
"values": [
{ "values": ["bf", "brainfuck"], "desc": "Brainfuck machine" },
{ "values": ["ook"], "desc": "Ook! machine" },
{ "values": ["spoon"], "desc": "Spoon machine" },
{ "values": ["hodor"], "desc": "Hodor machine" },
{ "values": ["hq9+"], "desc": "HQ9+ machine" },
{ "values": ["ws"], "desc": "Whitespace machine" },
{ "values": ["b93"], "desc": "Befunge-93 machine" },
{ "values": ["byter"], "desc": "Byter machine" }
]
},
{ "short": "i", "long": "input", "arg": "file", "type": "file", "desc": "input from file" },
{ "short": "o", "long": "output", "arg": "file", "type": "file", "desc": "output to file" },
{ "short": "d", "long": "debug", "desc": "output debug information" },
{ "short": "q", "long": "quiet", "desc": "be quiet (don't output garbage)" }
],
"option_parse": "C getopt",
"notes": "install with `make install`"
}
],
"notes": "Supports Brainfuck, Ook!, Spoon, Hodor, HQ9+, Whitespace, Befunge-93, Byter"
}