tree-sitter-raml 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,517 @@
1
+ #include <stdint.h>
2
+
3
+ #include <stdlib.h>
4
+
5
+ #define SCH_STT_FRZ -1
6
+
7
+ #define HAS_TIMESTAMP 1
8
+
9
+ typedef enum {
10
+ RS_STR,
11
+ RS_FLOAT,
12
+ RS_INT,
13
+ RS_BOOL,
14
+ RS_NULL,
15
+ RS_TIMESTAMP,
16
+ } ResultSchema;
17
+
18
+ static int8_t adv_sch_stt(int8_t sch_stt, int32_t cur_chr, ResultSchema *rlt_sch) {
19
+ switch (sch_stt) {
20
+ case SCH_STT_FRZ:
21
+ break;
22
+ case 0:
23
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 89;}
24
+ if (cur_chr == '0') {*rlt_sch = RS_INT; return 75;}
25
+ if (cur_chr == 'F') {*rlt_sch = RS_STR; return 13;}
26
+ if (cur_chr == 'N') {*rlt_sch = RS_BOOL; return 70;}
27
+ if (cur_chr == 'O') {*rlt_sch = RS_STR; return 17;}
28
+ if (cur_chr == 'T') {*rlt_sch = RS_STR; return 24;}
29
+ if (cur_chr == 'Y') {*rlt_sch = RS_BOOL; return 69;}
30
+ if (cur_chr == 'f') {*rlt_sch = RS_STR; return 29;}
31
+ if (cur_chr == 'n') {*rlt_sch = RS_BOOL; return 72;}
32
+ if (cur_chr == 'o') {*rlt_sch = RS_STR; return 33;}
33
+ if (cur_chr == 't') {*rlt_sch = RS_STR; return 40;}
34
+ if (cur_chr == 'y') {*rlt_sch = RS_BOOL; return 71;}
35
+ if (cur_chr == '~') {*rlt_sch = RS_NULL; return 67;}
36
+ if (cur_chr == '+') {*rlt_sch = RS_STR; return 7;}
37
+ if (cur_chr == '-') {*rlt_sch = RS_STR; return 7;}
38
+ if (('1' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 82;}
39
+ break;
40
+ case 1:
41
+ if (cur_chr == '-') {*rlt_sch = RS_STR; return 53;}
42
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
43
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
44
+ if (('0' <= cur_chr && cur_chr <= '9') ||
45
+ cur_chr == '_') {*rlt_sch = RS_STR; return 6;}
46
+ break;
47
+ case 2:
48
+ if (cur_chr == '-') {*rlt_sch = RS_STR; return 54;}
49
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 3;}
50
+ break;
51
+ case 3:
52
+ if (cur_chr == '-') {*rlt_sch = RS_STR; return 60;}
53
+ break;
54
+ case 4:
55
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
56
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
57
+ if (cur_chr == '_') {*rlt_sch = RS_STR; return 6;}
58
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 1;}
59
+ break;
60
+ case 5:
61
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
62
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
63
+ if (cur_chr == '_') {*rlt_sch = RS_STR; return 6;}
64
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 4;}
65
+ break;
66
+ case 6:
67
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
68
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
69
+ if (('0' <= cur_chr && cur_chr <= '9') ||
70
+ cur_chr == '_') {*rlt_sch = RS_STR; return 6;}
71
+ break;
72
+ case 7:
73
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 90;}
74
+ if (cur_chr == '0') {*rlt_sch = RS_INT; return 78;}
75
+ if (('1' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 83;}
76
+ break;
77
+ case 8:
78
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 93;}
79
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
80
+ break;
81
+ case 9:
82
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 93;}
83
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
84
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 8;}
85
+ break;
86
+ case 10:
87
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 61;}
88
+ break;
89
+ case 11:
90
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 61;}
91
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 10;}
92
+ break;
93
+ case 12:
94
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 62;}
95
+ break;
96
+ case 13:
97
+ if (cur_chr == 'A') {*rlt_sch = RS_STR; return 20;}
98
+ if (cur_chr == 'a') {*rlt_sch = RS_STR; return 36;}
99
+ break;
100
+ case 14:
101
+ if (cur_chr == 'A') {*rlt_sch = RS_STR; return 22;}
102
+ if (cur_chr == 'a') {*rlt_sch = RS_STR; return 22;}
103
+ break;
104
+ case 15:
105
+ if (cur_chr == 'E') {*rlt_sch = RS_BOOL; return 68;}
106
+ break;
107
+ case 16:
108
+ if (cur_chr == 'F') {*rlt_sch = RS_BOOL; return 68;}
109
+ break;
110
+ case 17:
111
+ if (cur_chr == 'F') {*rlt_sch = RS_STR; return 16;}
112
+ if (cur_chr == 'f') {*rlt_sch = RS_STR; return 32;}
113
+ if (cur_chr == 'N' ||
114
+ cur_chr == 'n') {*rlt_sch = RS_BOOL; return 68;}
115
+ break;
116
+ case 18:
117
+ if (cur_chr == 'F') {*rlt_sch = RS_FLOAT; return 88;}
118
+ break;
119
+ case 19:
120
+ if (cur_chr == 'L') {*rlt_sch = RS_NULL; return 67;}
121
+ break;
122
+ case 20:
123
+ if (cur_chr == 'L') {*rlt_sch = RS_STR; return 26;}
124
+ break;
125
+ case 21:
126
+ if (cur_chr == 'L') {*rlt_sch = RS_STR; return 19;}
127
+ break;
128
+ case 22:
129
+ if (cur_chr == 'N') {*rlt_sch = RS_FLOAT; return 88;}
130
+ break;
131
+ case 23:
132
+ if (cur_chr == 'N') {*rlt_sch = RS_STR; return 18;}
133
+ if (cur_chr == 'n') {*rlt_sch = RS_STR; return 34;}
134
+ break;
135
+ case 24:
136
+ if (cur_chr == 'R') {*rlt_sch = RS_STR; return 27;}
137
+ if (cur_chr == 'r') {*rlt_sch = RS_STR; return 43;}
138
+ break;
139
+ case 25:
140
+ if (cur_chr == 'S') {*rlt_sch = RS_BOOL; return 68;}
141
+ break;
142
+ case 26:
143
+ if (cur_chr == 'S') {*rlt_sch = RS_STR; return 15;}
144
+ break;
145
+ case 27:
146
+ if (cur_chr == 'U') {*rlt_sch = RS_STR; return 15;}
147
+ break;
148
+ case 28:
149
+ if (cur_chr == 'Z') {*rlt_sch = RS_TIMESTAMP; return 94;}
150
+ if (cur_chr == '\t' ||
151
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 28;}
152
+ break;
153
+ case 29:
154
+ if (cur_chr == 'a') {*rlt_sch = RS_STR; return 36;}
155
+ break;
156
+ case 30:
157
+ if (cur_chr == 'a') {*rlt_sch = RS_STR; return 38;}
158
+ break;
159
+ case 31:
160
+ if (cur_chr == 'e') {*rlt_sch = RS_BOOL; return 68;}
161
+ break;
162
+ case 32:
163
+ if (cur_chr == 'f') {*rlt_sch = RS_BOOL; return 68;}
164
+ break;
165
+ case 33:
166
+ if (cur_chr == 'f') {*rlt_sch = RS_STR; return 32;}
167
+ if (cur_chr == 'n') {*rlt_sch = RS_BOOL; return 68;}
168
+ break;
169
+ case 34:
170
+ if (cur_chr == 'f') {*rlt_sch = RS_FLOAT; return 88;}
171
+ break;
172
+ case 35:
173
+ if (cur_chr == 'l') {*rlt_sch = RS_NULL; return 67;}
174
+ break;
175
+ case 36:
176
+ if (cur_chr == 'l') {*rlt_sch = RS_STR; return 42;}
177
+ break;
178
+ case 37:
179
+ if (cur_chr == 'l') {*rlt_sch = RS_STR; return 35;}
180
+ break;
181
+ case 38:
182
+ if (cur_chr == 'n') {*rlt_sch = RS_FLOAT; return 88;}
183
+ break;
184
+ case 39:
185
+ if (cur_chr == 'n') {*rlt_sch = RS_STR; return 34;}
186
+ break;
187
+ case 40:
188
+ if (cur_chr == 'r') {*rlt_sch = RS_STR; return 43;}
189
+ break;
190
+ case 41:
191
+ if (cur_chr == 's') {*rlt_sch = RS_BOOL; return 68;}
192
+ break;
193
+ case 42:
194
+ if (cur_chr == 's') {*rlt_sch = RS_STR; return 31;}
195
+ break;
196
+ case 43:
197
+ if (cur_chr == 'u') {*rlt_sch = RS_STR; return 31;}
198
+ break;
199
+ case 44:
200
+ if (cur_chr == '\t' ||
201
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 47;}
202
+ if (cur_chr == 'T' ||
203
+ cur_chr == 't') {*rlt_sch = RS_STR; return 55;}
204
+ break;
205
+ case 45:
206
+ if (cur_chr == '\t' ||
207
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 47;}
208
+ if (cur_chr == 'T' ||
209
+ cur_chr == 't') {*rlt_sch = RS_STR; return 55;}
210
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 44;}
211
+ break;
212
+ case 46:
213
+ if (cur_chr == '\t' ||
214
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 47;}
215
+ if (cur_chr == 'T' ||
216
+ cur_chr == 't') {*rlt_sch = RS_STR; return 55;}
217
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 99;}
218
+ break;
219
+ case 47:
220
+ if (cur_chr == '\t' ||
221
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 47;}
222
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 11;}
223
+ break;
224
+ case 48:
225
+ if (cur_chr == '+' ||
226
+ cur_chr == '-') {*rlt_sch = RS_STR; return 52;}
227
+ break;
228
+ case 49:
229
+ if (cur_chr == '0' ||
230
+ cur_chr == '1' ||
231
+ cur_chr == '_') {*rlt_sch = RS_INT; return 86;}
232
+ break;
233
+ case 50:
234
+ if (('6' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 8;}
235
+ if (('0' <= cur_chr && cur_chr <= '5')) {*rlt_sch = RS_STR; return 9;}
236
+ break;
237
+ case 51:
238
+ if (('6' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 84;}
239
+ if (('0' <= cur_chr && cur_chr <= '5')) {*rlt_sch = RS_INT; return 85;}
240
+ break;
241
+ case 52:
242
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_FLOAT; return 92;}
243
+ break;
244
+ case 53:
245
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 2;}
246
+ break;
247
+ case 54:
248
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 45;}
249
+ break;
250
+ case 55:
251
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 11;}
252
+ break;
253
+ case 56:
254
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 95;}
255
+ break;
256
+ case 57:
257
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 94;}
258
+ break;
259
+ case 58:
260
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 98;}
261
+ break;
262
+ case 59:
263
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 97;}
264
+ break;
265
+ case 60:
266
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 46;}
267
+ break;
268
+ case 61:
269
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 64;}
270
+ break;
271
+ case 62:
272
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 56;}
273
+ break;
274
+ case 63:
275
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 57;}
276
+ break;
277
+ case 64:
278
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_STR; return 12;}
279
+ break;
280
+ case 65:
281
+ if (('0' <= cur_chr && cur_chr <= '9') ||
282
+ ('A' <= cur_chr && cur_chr <= 'F') ||
283
+ cur_chr == '_' ||
284
+ ('a' <= cur_chr && cur_chr <= 'f')) {*rlt_sch = RS_INT; return 87;}
285
+ break;
286
+ case 66:
287
+ abort();
288
+ break;
289
+ case 67:
290
+ *rlt_sch = RS_NULL;
291
+ break;
292
+ case 68:
293
+ *rlt_sch = RS_BOOL;
294
+ break;
295
+ case 69:
296
+ *rlt_sch = RS_BOOL;
297
+ if (cur_chr == 'E') {*rlt_sch = RS_STR; return 25;}
298
+ if (cur_chr == 'e') {*rlt_sch = RS_STR; return 41;}
299
+ break;
300
+ case 70:
301
+ *rlt_sch = RS_BOOL;
302
+ if (cur_chr == 'U') {*rlt_sch = RS_STR; return 21;}
303
+ if (cur_chr == 'u') {*rlt_sch = RS_STR; return 37;}
304
+ if (cur_chr == 'O' ||
305
+ cur_chr == 'o') {*rlt_sch = RS_BOOL; return 68;}
306
+ break;
307
+ case 71:
308
+ *rlt_sch = RS_BOOL;
309
+ if (cur_chr == 'e') {*rlt_sch = RS_STR; return 41;}
310
+ break;
311
+ case 72:
312
+ *rlt_sch = RS_BOOL;
313
+ if (cur_chr == 'o') {*rlt_sch = RS_BOOL; return 68;}
314
+ if (cur_chr == 'u') {*rlt_sch = RS_STR; return 37;}
315
+ break;
316
+ case 73:
317
+ *rlt_sch = RS_INT;
318
+ if (cur_chr == '-') {*rlt_sch = RS_STR; return 53;}
319
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
320
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
321
+ if (cur_chr == '8' ||
322
+ cur_chr == '9') {*rlt_sch = RS_STR; return 6;}
323
+ if (('0' <= cur_chr && cur_chr <= '7') ||
324
+ cur_chr == '_') {*rlt_sch = RS_INT; return 79;}
325
+ break;
326
+ case 74:
327
+ *rlt_sch = RS_INT;
328
+ if (cur_chr == '-') {*rlt_sch = RS_STR; return 53;}
329
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
330
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
331
+ if (('0' <= cur_chr && cur_chr <= '9') ||
332
+ cur_chr == '_') {*rlt_sch = RS_INT; return 83;}
333
+ break;
334
+ case 75:
335
+ *rlt_sch = RS_INT;
336
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
337
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
338
+ if (cur_chr == '_') {*rlt_sch = RS_INT; return 79;}
339
+ if (cur_chr == 'b') {*rlt_sch = RS_STR; return 49;}
340
+ if (cur_chr == 'x') {*rlt_sch = RS_STR; return 65;}
341
+ if (cur_chr == '8' ||
342
+ cur_chr == '9') {*rlt_sch = RS_STR; return 5;}
343
+ if (('0' <= cur_chr && cur_chr <= '7')) {*rlt_sch = RS_INT; return 77;}
344
+ break;
345
+ case 76:
346
+ *rlt_sch = RS_INT;
347
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
348
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
349
+ if (cur_chr == '_') {*rlt_sch = RS_INT; return 79;}
350
+ if (cur_chr == '8' ||
351
+ cur_chr == '9') {*rlt_sch = RS_STR; return 1;}
352
+ if (('0' <= cur_chr && cur_chr <= '7')) {*rlt_sch = RS_INT; return 73;}
353
+ break;
354
+ case 77:
355
+ *rlt_sch = RS_INT;
356
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
357
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
358
+ if (cur_chr == '_') {*rlt_sch = RS_INT; return 79;}
359
+ if (cur_chr == '8' ||
360
+ cur_chr == '9') {*rlt_sch = RS_STR; return 4;}
361
+ if (('0' <= cur_chr && cur_chr <= '7')) {*rlt_sch = RS_INT; return 76;}
362
+ break;
363
+ case 78:
364
+ *rlt_sch = RS_INT;
365
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
366
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
367
+ if (cur_chr == 'b') {*rlt_sch = RS_STR; return 49;}
368
+ if (cur_chr == 'x') {*rlt_sch = RS_STR; return 65;}
369
+ if (cur_chr == '8' ||
370
+ cur_chr == '9') {*rlt_sch = RS_STR; return 6;}
371
+ if (('0' <= cur_chr && cur_chr <= '7') ||
372
+ cur_chr == '_') {*rlt_sch = RS_INT; return 79;}
373
+ break;
374
+ case 79:
375
+ *rlt_sch = RS_INT;
376
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
377
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 50;}
378
+ if (cur_chr == '8' ||
379
+ cur_chr == '9') {*rlt_sch = RS_STR; return 6;}
380
+ if (('0' <= cur_chr && cur_chr <= '7') ||
381
+ cur_chr == '_') {*rlt_sch = RS_INT; return 79;}
382
+ break;
383
+ case 80:
384
+ *rlt_sch = RS_INT;
385
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
386
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
387
+ if (cur_chr == '_') {*rlt_sch = RS_INT; return 83;}
388
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 74;}
389
+ break;
390
+ case 81:
391
+ *rlt_sch = RS_INT;
392
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
393
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
394
+ if (cur_chr == '_') {*rlt_sch = RS_INT; return 83;}
395
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 80;}
396
+ break;
397
+ case 82:
398
+ *rlt_sch = RS_INT;
399
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
400
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
401
+ if (cur_chr == '_') {*rlt_sch = RS_INT; return 83;}
402
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 81;}
403
+ break;
404
+ case 83:
405
+ *rlt_sch = RS_INT;
406
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 91;}
407
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
408
+ if (('0' <= cur_chr && cur_chr <= '9') ||
409
+ cur_chr == '_') {*rlt_sch = RS_INT; return 83;}
410
+ break;
411
+ case 84:
412
+ *rlt_sch = RS_INT;
413
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 93;}
414
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
415
+ break;
416
+ case 85:
417
+ *rlt_sch = RS_INT;
418
+ if (cur_chr == '.') {*rlt_sch = RS_FLOAT; return 93;}
419
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 51;}
420
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_INT; return 84;}
421
+ break;
422
+ case 86:
423
+ *rlt_sch = RS_INT;
424
+ if (cur_chr == '0' ||
425
+ cur_chr == '1' ||
426
+ cur_chr == '_') {*rlt_sch = RS_INT; return 86;}
427
+ break;
428
+ case 87:
429
+ *rlt_sch = RS_INT;
430
+ if (('0' <= cur_chr && cur_chr <= '9') ||
431
+ ('A' <= cur_chr && cur_chr <= 'F') ||
432
+ cur_chr == '_' ||
433
+ ('a' <= cur_chr && cur_chr <= 'f')) {*rlt_sch = RS_INT; return 87;}
434
+ break;
435
+ case 88:
436
+ *rlt_sch = RS_FLOAT;
437
+ break;
438
+ case 89:
439
+ *rlt_sch = RS_FLOAT;
440
+ if (cur_chr == 'I') {*rlt_sch = RS_STR; return 23;}
441
+ if (cur_chr == 'N') {*rlt_sch = RS_STR; return 14;}
442
+ if (cur_chr == 'i') {*rlt_sch = RS_STR; return 39;}
443
+ if (cur_chr == 'n') {*rlt_sch = RS_STR; return 30;}
444
+ if (cur_chr == 'E' ||
445
+ cur_chr == 'e') {*rlt_sch = RS_STR; return 48;}
446
+ if (cur_chr == '.' ||
447
+ ('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_FLOAT; return 91;}
448
+ break;
449
+ case 90:
450
+ *rlt_sch = RS_FLOAT;
451
+ if (cur_chr == 'I') {*rlt_sch = RS_STR; return 23;}
452
+ if (cur_chr == 'i') {*rlt_sch = RS_STR; return 39;}
453
+ if (cur_chr == 'E' ||
454
+ cur_chr == 'e') {*rlt_sch = RS_STR; return 48;}
455
+ if (cur_chr == '.' ||
456
+ ('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_FLOAT; return 91;}
457
+ break;
458
+ case 91:
459
+ *rlt_sch = RS_FLOAT;
460
+ if (cur_chr == 'E' ||
461
+ cur_chr == 'e') {*rlt_sch = RS_STR; return 48;}
462
+ if (cur_chr == '.' ||
463
+ ('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_FLOAT; return 91;}
464
+ break;
465
+ case 92:
466
+ *rlt_sch = RS_FLOAT;
467
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_FLOAT; return 92;}
468
+ break;
469
+ case 93:
470
+ *rlt_sch = RS_FLOAT;
471
+ if (('0' <= cur_chr && cur_chr <= '9') ||
472
+ cur_chr == '_') {*rlt_sch = RS_FLOAT; return 93;}
473
+ break;
474
+ case 94:
475
+ *rlt_sch = RS_TIMESTAMP;
476
+ break;
477
+ case 95:
478
+ *rlt_sch = RS_TIMESTAMP;
479
+ if (cur_chr == '.') {*rlt_sch = RS_STR; return 58;}
480
+ if (cur_chr == 'Z') {*rlt_sch = RS_TIMESTAMP; return 94;}
481
+ if (cur_chr == '\t' ||
482
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 28;}
483
+ if (cur_chr == '+' ||
484
+ cur_chr == '-') {*rlt_sch = RS_STR; return 59;}
485
+ break;
486
+ case 96:
487
+ *rlt_sch = RS_TIMESTAMP;
488
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 63;}
489
+ break;
490
+ case 97:
491
+ *rlt_sch = RS_TIMESTAMP;
492
+ if (cur_chr == ':') {*rlt_sch = RS_STR; return 63;}
493
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 96;}
494
+ break;
495
+ case 98:
496
+ *rlt_sch = RS_TIMESTAMP;
497
+ if (cur_chr == 'Z') {*rlt_sch = RS_TIMESTAMP; return 94;}
498
+ if (cur_chr == '\t' ||
499
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 28;}
500
+ if (cur_chr == '+' ||
501
+ cur_chr == '-') {*rlt_sch = RS_STR; return 59;}
502
+ if (('0' <= cur_chr && cur_chr <= '9')) {*rlt_sch = RS_TIMESTAMP; return 98;}
503
+ break;
504
+ case 99:
505
+ *rlt_sch = RS_TIMESTAMP;
506
+ if (cur_chr == '\t' ||
507
+ cur_chr == ' ') {*rlt_sch = RS_STR; return 47;}
508
+ if (cur_chr == 'T' ||
509
+ cur_chr == 't') {*rlt_sch = RS_STR; return 55;}
510
+ break;
511
+ default:
512
+ *rlt_sch = RS_STR;
513
+ return SCH_STT_FRZ;
514
+ }
515
+ if (cur_chr != '\r' && cur_chr != '\n' && cur_chr != ' ' && cur_chr != 0) *rlt_sch = RS_STR;
516
+ return SCH_STT_FRZ;
517
+ }
@@ -0,0 +1,54 @@
1
+ #ifndef TREE_SITTER_ALLOC_H_
2
+ #define TREE_SITTER_ALLOC_H_
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ #include <stdbool.h>
9
+ #include <stdio.h>
10
+ #include <stdlib.h>
11
+
12
+ // Allow clients to override allocation functions
13
+ #ifdef TREE_SITTER_REUSE_ALLOCATOR
14
+
15
+ extern void *(*ts_current_malloc)(size_t size);
16
+ extern void *(*ts_current_calloc)(size_t count, size_t size);
17
+ extern void *(*ts_current_realloc)(void *ptr, size_t size);
18
+ extern void (*ts_current_free)(void *ptr);
19
+
20
+ #ifndef ts_malloc
21
+ #define ts_malloc ts_current_malloc
22
+ #endif
23
+ #ifndef ts_calloc
24
+ #define ts_calloc ts_current_calloc
25
+ #endif
26
+ #ifndef ts_realloc
27
+ #define ts_realloc ts_current_realloc
28
+ #endif
29
+ #ifndef ts_free
30
+ #define ts_free ts_current_free
31
+ #endif
32
+
33
+ #else
34
+
35
+ #ifndef ts_malloc
36
+ #define ts_malloc malloc
37
+ #endif
38
+ #ifndef ts_calloc
39
+ #define ts_calloc calloc
40
+ #endif
41
+ #ifndef ts_realloc
42
+ #define ts_realloc realloc
43
+ #endif
44
+ #ifndef ts_free
45
+ #define ts_free free
46
+ #endif
47
+
48
+ #endif
49
+
50
+ #ifdef __cplusplus
51
+ }
52
+ #endif
53
+
54
+ #endif // TREE_SITTER_ALLOC_H_