-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathproject.json
147 lines (147 loc) · 4.98 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
{
"id": "whitespace/thaliaarchi-wslib",
"name": "wslib",
"authors": ["Thalia Archibald"],
"license": "MPL-2.0",
"languages": ["Whitespace"],
"tags": ["standard library", "programs", "assembler"],
"date": "2021-05-24 15:38:17 -0700",
"spec_version": "0.3",
"source": ["https://github.com/thaliaarchi/wslib"],
"submodules": [{ "path": "wslib", "url": "https://github.com/thaliaarchi/wslib" }],
"assembly": {
"mnemonics": {
"push": "<number_char>",
"dup": ["^", "dup"],
"copy": "^<unsigned>",
"swap": "swap",
"drop": "drop",
"slide": "<unsigned>slide",
"add": "+",
"sub": "-",
"mul": "*",
"div": "/",
"mod": "%",
"store": "store",
"retrieve": "retrieve",
"label": "<label>:",
"call": "call",
"jmp": "jmp",
"jz": "jz",
"jn": "jn",
"ret": "ret",
"end": "end",
"printc": "printc",
"printi": "printi",
"readc": "readc",
"readi": "readi"
},
"macros": [
{ "name": "\".+\"" },
{ "name": "\".+\" prints" },
{ "name": "\".+\" import" },
{ "name": "\".+\" export" },
{ "name": "<unsigned>dup" },
{ "name": "<unsigned>drop" },
{ "name": "j=" },
{ "name": "j<" },
{ "name": "j>" },
{ "name": "j<=" },
{ "name": "j>=" },
{ "name": "jeof" },
{ "name": "&&" },
{ "name": "||" },
{ "name": "!" },
{ "name": "!!" },
{ "name": "=" },
{ "name": "!=" },
{ "name": "<" },
{ "name": ">" },
{ "name": "<=" },
{ "name": ">=" },
{ "name": "pos?" },
{ "name": "neg?" },
{ "name": "&" },
{ "name": "|" },
{ "name": "^" },
{ "name": "&~" },
{ "name": "<<" },
{ "name": ">>" },
{ "name": "**" },
{ "name": "~" },
{ "name": "neg" }
],
"patterns": {
"number_char": "<signed>|'\\x[0-9A-Fa-f]{2}'|-?0x[0-9A-Fa-f]{2}|-?0b0*[01]{1,8}|'\\[abtnvfre\\]'|'[ -!(-\\[\\]-~]'",
"signed": "[+-]?[0-9]+",
"unsigned": "[0-9]+"
},
"instruction_delimiter": "space",
"indentation": " ",
"usage": ["assembler", "programs"],
"extension": "wsf"
},
"programs": [
{ "path": "array/array.wsf" },
{ "path": "array/array_test.wsf", "outputs": ["array/array_test.out"] },
{ "path": "array/io.wsf" },
{ "path": "array/module.wsf" },
{ "path": "array/sort.wsf" },
{ "path": "array/sort_test.wsf", "outputs": ["array/sort_test.out"] },
{ "path": "bool/bool.wsf" },
{ "path": "bool/bool_test.wsf", "outputs": ["bool/bool_test.out"] },
{ "path": "bool/module.wsf" },
{ "path": "char/io.wsf" },
{ "path": "char/io_test.wsf", "outputs": ["char/io_test.out"] },
{ "path": "char/module.wsf" },
{ "path": "char/unicode.wsf" },
{ "path": "crypto/caesar.wsf", "inputs": ["crypto/caesar.in"], "outputs": ["crypto/caesar.out"] },
{ "path": "crypto/module.wsf" },
{ "path": "hash/cusip.wsf" },
{
"path": "hash/cusip_test.wsf",
"inputs": ["hash/cusip_test.in"],
"outputs": ["hash/cusip_test.out"]
},
{ "path": "hash/luhn.wsf" },
{ "path": "hash/luhn_test.wsf", "outputs": ["hash/luhn_test.out"] },
{ "path": "hash/module.wsf" },
{ "path": "int/bits.wsf" },
{ "path": "int/bits_test.wsf", "outputs": ["int/bits_test.out"] },
{ "path": "int/fixed.wsf" },
{ "path": "int/fixed_test.wsf", "outputs": ["int/fixed_test.out"] },
{ "path": "int/int.wsf" },
{ "path": "int/module.wsf" },
{ "path": "int/print.wsf" },
{ "path": "int/print_test.wsf", "outputs": ["int/print_test.out"] },
{ "path": "int/read.wsf" },
{ "path": "int/read_test.wsf", "inputs": ["int/read_test.in"], "outputs": ["int/read_test.out"] },
{ "path": "map/map.wsf" },
{ "path": "map/map_test.wsf", "outputs": ["map/map_test.out"] },
{ "path": "map/module.wsf" },
{ "path": "math/collatz.wsf" },
{ "path": "math/collatz_test.wsf", "outputs": ["math/collatz_test.out"] },
{ "path": "math/divmod.wsf" },
{ "path": "math/divmod_test.wsf", "outputs": ["math/divmod_test.out"] },
{ "path": "math/gcd.wsf" },
{ "path": "math/math.wsf" },
{ "path": "math/module.wsf" },
{ "path": "math/pow.wsf" },
{ "path": "math/pow_test.wsf", "outputs": ["math/pow_test.out"] },
{ "path": "matrix/matrix.wsf" },
{ "path": "matrix/matrix_test.wsf", "outputs": ["matrix/matrix_test.out"] },
{ "path": "matrix/module.wsf" },
{ "path": "mem/mem.wsf" },
{ "path": "mem/module.wsf" },
{ "path": "string/compare.wsf" },
{ "path": "string/compare_test.wsf", "outputs": ["string/compare_test.out"] },
{ "path": "string/module.wsf" },
{ "path": "string/print.wsf" },
{ "path": "string/print_test.wsf", "outputs": ["string/print_test.out"] },
{ "path": "string/read.wsf" },
{ "path": "string/store.wsf" },
{ "path": "vm/deadfish.wsf" },
{ "path": "vm/intcode.wsf" }
],
"commands": [{ "type": "assembler", "bin": "assemble.sh", "usage": "$0 <file> [<file>...]" }]
}