-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathproject.json
95 lines (95 loc) · 4.19 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
{
"id": "c/manarice-lime",
"name": "Lime Whitespace",
"authors": ["ManaRice"],
"license": "none",
"languages": ["C"],
"tags": ["interpreter", "assembler", "programs"],
"date": "2021-10-28 17:26:22 +0200",
"spec_version": "0.3",
"source": ["https://github.com/ManaRice/whitespace"],
"submodules": [
{ "path": "whitespace", "url": "https://github.com/ManaRice/whitespace" },
{ "path": "limelib", "url": "https://github.com/ManaRice/limelib" }
],
"challenges": ["Project Euler"],
"whitespace": { "extension": "ws" },
"assembly": {
"mnemonics": {
"push": ["PUSH", "push"],
"dup": ["DUPE", "dupe", "DUP", "dup"],
"copy": ["COPY", "copy"],
"swap": ["SWAP", "swap"],
"drop": ["DROP", "drop"],
"slide": ["SLIDE", "slide"],
"add": ["ADD", "add"],
"sub": ["SUB", "sub"],
"mul": ["MUL", "mul"],
"div": ["DIV", "div"],
"mod": ["MOD", "mod"],
"store": ["STORE", "store"],
"retrieve": ["FETCH", "fetch", "RETRIEVE", "retrieve"],
"label": "<label>:",
"call": ["CALL", "call"],
"jmp": ["JMP", "jmp"],
"jz": ["JZ", "jz"],
"jn": ["JN", "jn"],
"ret": ["RET", "ret"],
"end": ["END", "end"],
"printc": ["PRINTC", "printc"],
"printi": ["PRINTI", "printi"],
"readc": ["READC", "readc"],
"readi": ["READI", "readi"]
},
"macros": [
{ "name": "MACRO name [args]", "replace": ["args"] },
{ "name": "macro name [args]", "replace": ["args"] }
],
"patterns": { "label": "\\.[^ \t\n\\.:;\\[\\]*/\\\\'\"#$-]+", "number": "-?[0-9]+" },
"case_sensitive_mnemonics": true,
"instruction_delimiter": "space",
"line_comments": ["//", ";"],
"block_comments": [{ "start": "/*", "end": "*/", "nestable": false }],
"indentation": " ",
"usage": ["assembler", "programs"],
"extension": "wsa"
},
"programs": [
{ "path": "ws/wsa/bf.wsa", "generated": "ws/ws/bf.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/char.wsa", "generated": "ws/ws/char.ws", "spec_version": "0.2" },
{ "path": "ws/wsa/fib.wsa", "generated": "ws/ws/fib.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/hanoi.wsa", "generated": "ws/ws/hanoi.ws", "spec_version": "0.2" },
{ "path": "ws/ws/hello.ws", "equivalent": "hworld.ws", "spec_version": "0.2" },
{ "path": "ws/wsa/hextest.wsa", "generated": "ws/ws/hextest.ws", "spec_version": "0.2" },
{ "path": "ws/wsa/problem01.wsa", "generated": "ws/ws/problem01.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem01_new.wsa", "generated": "ws/ws/problem01_new.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem02.wsa", "generated": "ws/ws/problem02.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem02_new.wsa", "generated": "ws/ws/problem02_new.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem03.wsa", "generated": "ws/ws/problem03.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem04.wsa", "generated": "ws/ws/problem04.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem05.wsa", "generated": "ws/ws/problem05.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem05lcm.wsa", "generated": "ws/ws/problem05lcm.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem06.wsa", "generated": "ws/ws/problem06.ws", "spec_version": "0.2" },
{ "path": "ws/wsa/problem07.wsa", "generated": "ws/ws/problem07.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem08.wsa", "generated": "ws/ws/problem08.ws", "spec_version": "0.3" },
{ "path": "ws/wsa/problem08_o.wsa", "generated": "ws/ws/problem08_o.ws", "spec_version": "0.3" },
{
"path": "ws/wsa/rule110.wsa",
"generated": "ws/ws/rule110.ws",
"spec_version": "0.3",
"generate": "./lwsa"
}
],
"commands": [
{ "type": "interpreter", "bin": "lwsvm", "usage": "<file>", "input": "<file>", "output": "stdout" },
{
"type": "assembler",
"bin": "lwsa",
"usage": "<file>",
"input": "ws/wsa/<file>",
"output": "ws/ws/<file:no_ext>.ws",
"notes": "Adds #!lwsvm shebang to programs. Output file really just removes final character."
}
],
"todo": "whitespace_vm.c also needs to include inc/linux.h on macOS. Hex syntax for numbers is not yet implemented."
}