-
Notifications
You must be signed in to change notification settings - Fork 3
/
project.json
100 lines (100 loc) · 3.92 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
{
"id": "rust/keirua",
"name": "whitespace-rs",
"authors": ["Clément Keirua"],
"license": "MIT",
"languages": ["Rust"],
"tags": ["transpiler", "interpreter"],
"date": "2019-07-26 10:30:37 +0200",
"spec_version": "0.3",
"source": ["https://github.com/Keirua/whitespace-rs"],
"submodules": [{ "path": "whitespace-rs", "url": "https://github.com/Keirua/whitespace-rs" }],
"relations": [{ "id": "haskell/edwinb-wspace-0.3", "type": "embedded" }],
"whitespace": { "unimplemented": ["copy", "slide", "readc"], "extension": "ws" },
"assembly": {
"mnemonics": {
"push": "Push",
"dup": "Duplicate",
"copy": "CopyNth",
"swap": "Swap",
"drop": "Discard",
"slide": "Slide",
"add": "Add",
"sub": "Sub",
"mul": "Mul",
"div": "Div",
"mod": "Mod",
"store": "Store",
"retrieve": "Retrieve",
"label": "SetLabel",
"call": "CallSubroutine",
"jmp": "Jump",
"jz": "JZero",
"jn": "JNeg",
"ret": "EndOfSubroutine",
"end": "EndOfProgram",
"printc": "PrintChar",
"printi": "PrintInt",
"readc": "ReadChar",
"readi": "ReadInt"
},
"usage": ["enum"]
},
"programs": [
{ "path": "examples/calc.ws", "equivalent": "calc.ws", "spec_version": "0.2" },
{ "path": "examples/count.ws", "spec_version": "0.2" },
{ "path": "examples/count2.ws", "equivalent": "count.ws", "spec_version": "0.2" },
{ "path": "examples/fact.ws", "equivalent": "fact.ws", "spec_version": "0.2" },
{ "path": "examples/hanoi.ws", "equivalent": "hanoi.ws", "spec_version": "0.2" },
{ "path": "examples/hworld.ws", "equivalent": "hworld.ws", "spec_version": "0.2" },
{ "path": "examples/hworld2.ws", "equivalent": "hworld.ws", "spec_version": "0.2" },
{ "path": "examples/loctest.ws", "equivalent": "loctest.ws", "spec_version": "0.3" },
{ "path": "examples/name.ws", "equivalent": "name.ws", "spec_version": "0.2" },
{
"path": "docs/WSpace/docs/tutorial.html",
"polyglot": ["HTML"],
"equivalent": "tutorial.html",
"spec_version": "0.2"
},
{
"path": "docs/tutorial.html",
"polyglot": ["HTML"],
"equivalent": "tutorial.html",
"spec_version": "0.2"
},
{ "path": "docs/WSpace/examples/calc.ws", "equivalent": "calc.ws", "spec_version": "0.2" },
{ "path": "docs/WSpace/examples/count.ws", "equivalent": "count.ws", "spec_version": "0.2" },
{ "path": "docs/WSpace/examples/fact.ws", "equivalent": "fact.ws", "spec_version": "0.2" },
{ "path": "docs/WSpace/examples/hanoi.ws", "equivalent": "hanoi.ws", "spec_version": "0.2" },
{ "path": "docs/WSpace/examples/hworld.ws", "equivalent": "hworld.ws", "spec_version": "0.2" },
{ "path": "docs/WSpace/examples/loctest.ws", "equivalent": "loctest.ws", "spec_version": "0.3" },
{ "path": "docs/WSpace/examples/name.ws", "equivalent": "name.ws", "spec_version": "0.2" }
],
"commands": [
{
"type": "transpiler",
"bin": "target/release/compiler",
"usage": "[-h | --help] [-V | --version] <file> <output_file>",
"input": "<file>",
"output": "<output_file>",
"options": [
{ "short": "h", "long": "help", "desc": "Prints help information" },
{ "short": "V", "long": "version", "desc": "Prints version information" }
],
"option_parse": "Rust structopt",
"notes": "Transpiles a Whitespace program to Rust"
},
{
"type": "interpreter",
"bin": "target/release/interpreter",
"usage": "[-d | --debug] [-i | --instructions] [-h | --help] [-V | --version] <file>",
"options": [
{ "short": "d", "long": "debug" },
{ "short": "i", "long": "instructions", "desc": "Display the parsed instructions" },
{ "short": "h", "long": "help", "desc": "Prints help information" },
{ "short": "V", "long": "version", "desc": "Prints version information" }
],
"option_parse": "Rust structopt"
}
]
}