tree-sitter-lispex 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,350 @@
1
+ {
2
+ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
3
+ "name": "lispex",
4
+ "word": "symbol",
5
+ "rules": {
6
+ "source_file": {
7
+ "type": "REPEAT",
8
+ "content": {
9
+ "type": "CHOICE",
10
+ "members": [
11
+ {
12
+ "type": "SYMBOL",
13
+ "name": "datum"
14
+ },
15
+ {
16
+ "type": "SYMBOL",
17
+ "name": "forbidden_reader_extension"
18
+ }
19
+ ]
20
+ }
21
+ },
22
+ "datum": {
23
+ "type": "CHOICE",
24
+ "members": [
25
+ {
26
+ "type": "SYMBOL",
27
+ "name": "quote"
28
+ },
29
+ {
30
+ "type": "SYMBOL",
31
+ "name": "quasiquote"
32
+ },
33
+ {
34
+ "type": "SYMBOL",
35
+ "name": "unquote"
36
+ },
37
+ {
38
+ "type": "SYMBOL",
39
+ "name": "unquote_splicing"
40
+ },
41
+ {
42
+ "type": "SYMBOL",
43
+ "name": "list"
44
+ },
45
+ {
46
+ "type": "SYMBOL",
47
+ "name": "dotted_list"
48
+ },
49
+ {
50
+ "type": "SYMBOL",
51
+ "name": "vector"
52
+ },
53
+ {
54
+ "type": "SYMBOL",
55
+ "name": "bytevector"
56
+ },
57
+ {
58
+ "type": "SYMBOL",
59
+ "name": "block_comment"
60
+ },
61
+ {
62
+ "type": "SYMBOL",
63
+ "name": "boolean"
64
+ },
65
+ {
66
+ "type": "SYMBOL",
67
+ "name": "character"
68
+ },
69
+ {
70
+ "type": "SYMBOL",
71
+ "name": "string"
72
+ },
73
+ {
74
+ "type": "SYMBOL",
75
+ "name": "rational"
76
+ },
77
+ {
78
+ "type": "SYMBOL",
79
+ "name": "real"
80
+ },
81
+ {
82
+ "type": "SYMBOL",
83
+ "name": "integer"
84
+ },
85
+ {
86
+ "type": "SYMBOL",
87
+ "name": "symbol"
88
+ }
89
+ ]
90
+ },
91
+ "quote": {
92
+ "type": "SEQ",
93
+ "members": [
94
+ {
95
+ "type": "STRING",
96
+ "value": "'"
97
+ },
98
+ {
99
+ "type": "FIELD",
100
+ "name": "datum",
101
+ "content": {
102
+ "type": "SYMBOL",
103
+ "name": "datum"
104
+ }
105
+ }
106
+ ]
107
+ },
108
+ "quasiquote": {
109
+ "type": "SEQ",
110
+ "members": [
111
+ {
112
+ "type": "STRING",
113
+ "value": "`"
114
+ },
115
+ {
116
+ "type": "FIELD",
117
+ "name": "datum",
118
+ "content": {
119
+ "type": "SYMBOL",
120
+ "name": "datum"
121
+ }
122
+ }
123
+ ]
124
+ },
125
+ "unquote": {
126
+ "type": "SEQ",
127
+ "members": [
128
+ {
129
+ "type": "STRING",
130
+ "value": ","
131
+ },
132
+ {
133
+ "type": "FIELD",
134
+ "name": "datum",
135
+ "content": {
136
+ "type": "SYMBOL",
137
+ "name": "datum"
138
+ }
139
+ }
140
+ ]
141
+ },
142
+ "unquote_splicing": {
143
+ "type": "SEQ",
144
+ "members": [
145
+ {
146
+ "type": "STRING",
147
+ "value": ",@"
148
+ },
149
+ {
150
+ "type": "FIELD",
151
+ "name": "datum",
152
+ "content": {
153
+ "type": "SYMBOL",
154
+ "name": "datum"
155
+ }
156
+ }
157
+ ]
158
+ },
159
+ "list": {
160
+ "type": "SEQ",
161
+ "members": [
162
+ {
163
+ "type": "STRING",
164
+ "value": "("
165
+ },
166
+ {
167
+ "type": "REPEAT",
168
+ "content": {
169
+ "type": "SYMBOL",
170
+ "name": "datum"
171
+ }
172
+ },
173
+ {
174
+ "type": "STRING",
175
+ "value": ")"
176
+ }
177
+ ]
178
+ },
179
+ "dotted_list": {
180
+ "type": "SEQ",
181
+ "members": [
182
+ {
183
+ "type": "STRING",
184
+ "value": "("
185
+ },
186
+ {
187
+ "type": "FIELD",
188
+ "name": "head",
189
+ "content": {
190
+ "type": "REPEAT1",
191
+ "content": {
192
+ "type": "SYMBOL",
193
+ "name": "datum"
194
+ }
195
+ }
196
+ },
197
+ {
198
+ "type": "STRING",
199
+ "value": "."
200
+ },
201
+ {
202
+ "type": "FIELD",
203
+ "name": "tail",
204
+ "content": {
205
+ "type": "SYMBOL",
206
+ "name": "datum"
207
+ }
208
+ },
209
+ {
210
+ "type": "STRING",
211
+ "value": ")"
212
+ }
213
+ ]
214
+ },
215
+ "vector": {
216
+ "type": "SEQ",
217
+ "members": [
218
+ {
219
+ "type": "STRING",
220
+ "value": "#("
221
+ },
222
+ {
223
+ "type": "REPEAT",
224
+ "content": {
225
+ "type": "SYMBOL",
226
+ "name": "datum"
227
+ }
228
+ },
229
+ {
230
+ "type": "STRING",
231
+ "value": ")"
232
+ }
233
+ ]
234
+ },
235
+ "bytevector": {
236
+ "type": "SEQ",
237
+ "members": [
238
+ {
239
+ "type": "STRING",
240
+ "value": "#u8("
241
+ },
242
+ {
243
+ "type": "REPEAT",
244
+ "content": {
245
+ "type": "SYMBOL",
246
+ "name": "byte"
247
+ }
248
+ },
249
+ {
250
+ "type": "STRING",
251
+ "value": ")"
252
+ }
253
+ ]
254
+ },
255
+ "string": {
256
+ "type": "TOKEN",
257
+ "content": {
258
+ "type": "PREC",
259
+ "value": 4,
260
+ "content": {
261
+ "type": "PATTERN",
262
+ "value": "\"(?:[^\"\\\\]|\\\\[\"\\\\ntr]|\\\\[xX][0-9A-Fa-f]+;)*\""
263
+ }
264
+ }
265
+ },
266
+ "header_pragma": {
267
+ "type": "TOKEN",
268
+ "content": {
269
+ "type": "PREC",
270
+ "value": 3,
271
+ "content": {
272
+ "type": "PATTERN",
273
+ "value": ";![^\\r\\n]*"
274
+ }
275
+ }
276
+ },
277
+ "line_comment": {
278
+ "type": "TOKEN",
279
+ "content": {
280
+ "type": "PREC",
281
+ "value": 1,
282
+ "content": {
283
+ "type": "PATTERN",
284
+ "value": ";[^\\r\\n]*"
285
+ }
286
+ }
287
+ }
288
+ },
289
+ "extras": [
290
+ {
291
+ "type": "PATTERN",
292
+ "value": "[\\s\\uFEFF]"
293
+ },
294
+ {
295
+ "type": "SYMBOL",
296
+ "name": "line_comment"
297
+ },
298
+ {
299
+ "type": "SYMBOL",
300
+ "name": "header_pragma"
301
+ },
302
+ {
303
+ "type": "SYMBOL",
304
+ "name": "block_comment"
305
+ }
306
+ ],
307
+ "conflicts": [],
308
+ "precedences": [],
309
+ "externals": [
310
+ {
311
+ "type": "SYMBOL",
312
+ "name": "block_comment"
313
+ },
314
+ {
315
+ "type": "SYMBOL",
316
+ "name": "character"
317
+ },
318
+ {
319
+ "type": "SYMBOL",
320
+ "name": "boolean"
321
+ },
322
+ {
323
+ "type": "SYMBOL",
324
+ "name": "byte"
325
+ },
326
+ {
327
+ "type": "SYMBOL",
328
+ "name": "integer"
329
+ },
330
+ {
331
+ "type": "SYMBOL",
332
+ "name": "rational"
333
+ },
334
+ {
335
+ "type": "SYMBOL",
336
+ "name": "real"
337
+ },
338
+ {
339
+ "type": "SYMBOL",
340
+ "name": "symbol"
341
+ },
342
+ {
343
+ "type": "SYMBOL",
344
+ "name": "forbidden_reader_extension"
345
+ }
346
+ ],
347
+ "inline": [],
348
+ "supertypes": [],
349
+ "reserved": {}
350
+ }
@@ -0,0 +1,319 @@
1
+ [
2
+ {
3
+ "type": "bytevector",
4
+ "named": true,
5
+ "fields": {},
6
+ "children": {
7
+ "multiple": true,
8
+ "required": false,
9
+ "types": [
10
+ {
11
+ "type": "byte",
12
+ "named": true
13
+ }
14
+ ]
15
+ }
16
+ },
17
+ {
18
+ "type": "datum",
19
+ "named": true,
20
+ "fields": {},
21
+ "children": {
22
+ "multiple": false,
23
+ "required": true,
24
+ "types": [
25
+ {
26
+ "type": "block_comment",
27
+ "named": true
28
+ },
29
+ {
30
+ "type": "boolean",
31
+ "named": true
32
+ },
33
+ {
34
+ "type": "bytevector",
35
+ "named": true
36
+ },
37
+ {
38
+ "type": "character",
39
+ "named": true
40
+ },
41
+ {
42
+ "type": "dotted_list",
43
+ "named": true
44
+ },
45
+ {
46
+ "type": "integer",
47
+ "named": true
48
+ },
49
+ {
50
+ "type": "list",
51
+ "named": true
52
+ },
53
+ {
54
+ "type": "quasiquote",
55
+ "named": true
56
+ },
57
+ {
58
+ "type": "quote",
59
+ "named": true
60
+ },
61
+ {
62
+ "type": "rational",
63
+ "named": true
64
+ },
65
+ {
66
+ "type": "real",
67
+ "named": true
68
+ },
69
+ {
70
+ "type": "string",
71
+ "named": true
72
+ },
73
+ {
74
+ "type": "symbol",
75
+ "named": true
76
+ },
77
+ {
78
+ "type": "unquote",
79
+ "named": true
80
+ },
81
+ {
82
+ "type": "unquote_splicing",
83
+ "named": true
84
+ },
85
+ {
86
+ "type": "vector",
87
+ "named": true
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ {
93
+ "type": "dotted_list",
94
+ "named": true,
95
+ "fields": {
96
+ "head": {
97
+ "multiple": true,
98
+ "required": true,
99
+ "types": [
100
+ {
101
+ "type": "datum",
102
+ "named": true
103
+ }
104
+ ]
105
+ },
106
+ "tail": {
107
+ "multiple": false,
108
+ "required": true,
109
+ "types": [
110
+ {
111
+ "type": "datum",
112
+ "named": true
113
+ }
114
+ ]
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "type": "list",
120
+ "named": true,
121
+ "fields": {},
122
+ "children": {
123
+ "multiple": true,
124
+ "required": false,
125
+ "types": [
126
+ {
127
+ "type": "datum",
128
+ "named": true
129
+ }
130
+ ]
131
+ }
132
+ },
133
+ {
134
+ "type": "quasiquote",
135
+ "named": true,
136
+ "fields": {
137
+ "datum": {
138
+ "multiple": false,
139
+ "required": true,
140
+ "types": [
141
+ {
142
+ "type": "datum",
143
+ "named": true
144
+ }
145
+ ]
146
+ }
147
+ }
148
+ },
149
+ {
150
+ "type": "quote",
151
+ "named": true,
152
+ "fields": {
153
+ "datum": {
154
+ "multiple": false,
155
+ "required": true,
156
+ "types": [
157
+ {
158
+ "type": "datum",
159
+ "named": true
160
+ }
161
+ ]
162
+ }
163
+ }
164
+ },
165
+ {
166
+ "type": "source_file",
167
+ "named": true,
168
+ "root": true,
169
+ "fields": {},
170
+ "children": {
171
+ "multiple": true,
172
+ "required": false,
173
+ "types": [
174
+ {
175
+ "type": "datum",
176
+ "named": true
177
+ },
178
+ {
179
+ "type": "forbidden_reader_extension",
180
+ "named": true
181
+ }
182
+ ]
183
+ }
184
+ },
185
+ {
186
+ "type": "unquote",
187
+ "named": true,
188
+ "fields": {
189
+ "datum": {
190
+ "multiple": false,
191
+ "required": true,
192
+ "types": [
193
+ {
194
+ "type": "datum",
195
+ "named": true
196
+ }
197
+ ]
198
+ }
199
+ }
200
+ },
201
+ {
202
+ "type": "unquote_splicing",
203
+ "named": true,
204
+ "fields": {
205
+ "datum": {
206
+ "multiple": false,
207
+ "required": true,
208
+ "types": [
209
+ {
210
+ "type": "datum",
211
+ "named": true
212
+ }
213
+ ]
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "type": "vector",
219
+ "named": true,
220
+ "fields": {},
221
+ "children": {
222
+ "multiple": true,
223
+ "required": false,
224
+ "types": [
225
+ {
226
+ "type": "datum",
227
+ "named": true
228
+ }
229
+ ]
230
+ }
231
+ },
232
+ {
233
+ "type": "#(",
234
+ "named": false
235
+ },
236
+ {
237
+ "type": "#u8(",
238
+ "named": false
239
+ },
240
+ {
241
+ "type": "'",
242
+ "named": false
243
+ },
244
+ {
245
+ "type": "(",
246
+ "named": false
247
+ },
248
+ {
249
+ "type": ")",
250
+ "named": false
251
+ },
252
+ {
253
+ "type": ",",
254
+ "named": false
255
+ },
256
+ {
257
+ "type": ",@",
258
+ "named": false
259
+ },
260
+ {
261
+ "type": ".",
262
+ "named": false
263
+ },
264
+ {
265
+ "type": "`",
266
+ "named": false
267
+ },
268
+ {
269
+ "type": "block_comment",
270
+ "named": true,
271
+ "extra": true
272
+ },
273
+ {
274
+ "type": "boolean",
275
+ "named": true
276
+ },
277
+ {
278
+ "type": "byte",
279
+ "named": true
280
+ },
281
+ {
282
+ "type": "character",
283
+ "named": true
284
+ },
285
+ {
286
+ "type": "forbidden_reader_extension",
287
+ "named": true
288
+ },
289
+ {
290
+ "type": "header_pragma",
291
+ "named": true,
292
+ "extra": true
293
+ },
294
+ {
295
+ "type": "integer",
296
+ "named": true
297
+ },
298
+ {
299
+ "type": "line_comment",
300
+ "named": true,
301
+ "extra": true
302
+ },
303
+ {
304
+ "type": "rational",
305
+ "named": true
306
+ },
307
+ {
308
+ "type": "real",
309
+ "named": true
310
+ },
311
+ {
312
+ "type": "string",
313
+ "named": true
314
+ },
315
+ {
316
+ "type": "symbol",
317
+ "named": true
318
+ }
319
+ ]