Files @ fc85ab427e9c
Branch filter:

Location: CSY/reowolf/tokens.txt

MH
Add debugging tool for token ranges
  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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
- Unnamed module
  - Range: Module
    Source: token 0 to 167, file std.global.pdl:1:1 to 9:53
    Children: [
    - Range: Pragma
      Source: token 0 to 7, file std.global.pdl:1:1 to 3:1
      Tokens: [
        Pragma (index 0) text: #module
        Ident (index 2) text: std
        Dot (index 4)
        Ident (index 5) text: global
      ]
    - Range: Definition
      Source: token 7 to 167, file std.global.pdl:3:1 to 9:53
      Children: [
      - Range: Code
        Source: token 7 to 29, file std.global.pdl:3:1 to 3:33
        Tokens: [
          Ident (index 7) text: func
          Ident (index 9) text: get
          OpenAngle (index 11)
          Ident (index 12) text: T
          CloseAngle (index 14)
          OpenParen (index 15)
          Ident (index 16) text: in
          OpenAngle (index 18)
          Ident (index 19) text: T
          CloseAngle (index 21)
          Ident (index 22) text: input
          CloseParen (index 24)
          ArrowRight (index 25)
          Ident (index 26) text: T
          OpenCurly (index 28)
        ]
      - Range: Pragma
        Source: token 29 to 32, file std.global.pdl:3:33 to 4:1
        Tokens: [
          Pragma (index 29) text: #builtin
          CloseCurly (index 31)
        ]
      - Range: Definition
        Source: token 32 to 167, file std.global.pdl:4:1 to 9:53
        Children: [
        - Range: Code
          Source: token 32 to 56, file std.global.pdl:4:1 to 4:40
          Tokens: [
            Ident (index 32) text: func
            Ident (index 34) text: put
            OpenAngle (index 36)
            Ident (index 37) text: T
            CloseAngle (index 39)
            OpenParen (index 40)
            Ident (index 41) text: out
            OpenAngle (index 43)
            Ident (index 44) text: T
            CloseAngle (index 46)
            Ident (index 47) text: output
            Comma (index 49)
            Ident (index 50) text: T
            Ident (index 52) text: value
            CloseParen (index 54)
            ArrowRight (index 55)
          ]
        - Range: Pragma
          Source: token 56 to 167, file std.global.pdl:4:40 to 9:53
          Children: [
          - Range: Code
            Source: token 56 to 59, file std.global.pdl:4:40 to 4:53
            Tokens: [
              Pragma (index 56) text: #type_void
              OpenCurly (index 58)
            ]
          - Range: Pragma
            Source: token 59 to 62, file std.global.pdl:4:53 to 5:1
            Tokens: [
              Pragma (index 59) text: #builtin
              CloseCurly (index 61)
            ]
          - Range: Definition
            Source: token 62 to 167, file std.global.pdl:5:1 to 9:53
            Children: [
            - Range: Code
              Source: token 62 to 71, file std.global.pdl:5:1 to 5:15
              Tokens: [
                Ident (index 62) text: func
                Ident (index 64) text: fires
                OpenAngle (index 66)
                Ident (index 67) text: T
                CloseAngle (index 69)
                OpenParen (index 70)
              ]
            - Range: Pragma
              Source: token 71 to 167, file std.global.pdl:5:15 to 9:53
              Children: [
              - Range: Code
                Source: token 71 to 82, file std.global.pdl:5:15 to 5:44
                Tokens: [
                  Pragma (index 71) text: #type_portlike
                  OpenAngle (index 73)
                  Ident (index 74) text: T
                  CloseAngle (index 76)
                  CloseParen (index 77)
                  ArrowRight (index 78)
                  Ident (index 79) text: bool
                  OpenCurly (index 81)
                ]
              - Range: Pragma
                Source: token 82 to 85, file std.global.pdl:5:44 to 6:1
                Tokens: [
                  Pragma (index 82) text: #builtin
                  CloseCurly (index 84)
                ]
              - Range: Definition
                Source: token 85 to 167, file std.global.pdl:6:1 to 9:53
                Children: [
                - Range: Code
                  Source: token 85 to 94, file std.global.pdl:6:1 to 6:16
                  Tokens: [
                    Ident (index 85) text: func
                    Ident (index 87) text: create
                    OpenAngle (index 89)
                    Ident (index 90) text: T
                    CloseAngle (index 92)
                    OpenParen (index 93)
                  ]
                - Range: Pragma
                  Source: token 94 to 167, file std.global.pdl:6:16 to 9:53
                  Children: [
                  - Range: Code
                    Source: token 94 to 105, file std.global.pdl:6:16 to 6:51
                    Tokens: [
                      Pragma (index 94) text: #type_integerlike
                      Ident (index 96) text: length
                      CloseParen (index 98)
                      ArrowRight (index 99)
                      Ident (index 100) text: T
                      OpenSquare (index 102)
                      CloseSquare (index 103)
                      OpenCurly (index 104)
                    ]
                  - Range: Pragma
                    Source: token 105 to 108, file std.global.pdl:6:51 to 7:1
                    Tokens: [
                      Pragma (index 105) text: #builtin
                      CloseCurly (index 107)
                    ]
                  - Range: Definition
                    Source: token 108 to 167, file std.global.pdl:7:1 to 9:53
                    Children: [
                    - Range: Code
                      Source: token 108 to 117, file std.global.pdl:7:1 to 7:16
                      Tokens: [
                        Ident (index 108) text: func
                        Ident (index 110) text: length
                        OpenAngle (index 112)
                        Ident (index 113) text: T
                        CloseAngle (index 115)
                        OpenParen (index 116)
                      ]
                    - Range: Pragma
                      Source: token 117 to 167, file std.global.pdl:7:16 to 9:53
                      Children: [
                      - Range: Code
                        Source: token 117 to 130, file std.global.pdl:7:16 to 7:51
                        Tokens: [
                          Pragma (index 117) text: #type_arraylike
                          OpenAngle (index 119)
                          Ident (index 120) text: T
                          CloseAngle (index 122)
                          Ident (index 123) text: array
                          CloseParen (index 125)
                          ArrowRight (index 126)
                          Ident (index 127) text: u32
                          OpenCurly (index 129)
                        ]
                      - Range: Pragma
                        Source: token 130 to 133, file std.global.pdl:7:51 to 8:1
                        Tokens: [
                          Pragma (index 130) text: #builtin
                          CloseCurly (index 132)
                        ]
                      - Range: Definition
                        Source: token 133 to 167, file std.global.pdl:8:1 to 9:53
                        Children: [
                        - Range: Code
                          Source: token 133 to 144, file std.global.pdl:8:1 to 8:32
                          Tokens: [
                            Ident (index 133) text: func
                            Ident (index 135) text: assert
                            OpenParen (index 137)
                            Ident (index 138) text: bool
                            Ident (index 140) text: condition
                            CloseParen (index 142)
                            ArrowRight (index 143)
                          ]
                        - Range: Pragma
                          Source: token 144 to 167, file std.global.pdl:8:32 to 9:53
                          Children: [
                          - Range: Code
                            Source: token 144 to 147, file std.global.pdl:8:32 to 8:45
                            Tokens: [
                              Pragma (index 144) text: #type_void
                              OpenCurly (index 146)
                            ]
                          - Range: Pragma
                            Source: token 147 to 150, file std.global.pdl:8:45 to 9:1
                            Tokens: [
                              Pragma (index 147) text: #builtin
                              CloseCurly (index 149)
                            ]
                          - Range: Definition
                            Source: token 150 to 167, file std.global.pdl:9:1 to 9:53
                            Children: [
                            - Range: Code
                              Source: token 150 to 161, file std.global.pdl:9:1 to 9:31
                              Tokens: [
                                Ident (index 150) text: func
                                Ident (index 152) text: print
                                OpenParen (index 154)
                                Ident (index 155) text: string
                                Ident (index 157) text: message
                                CloseParen (index 159)
                                ArrowRight (index 160)
                              ]
                            - Range: Pragma
                              Source: token 161 to 167, file std.global.pdl:9:31 to 9:53
                              Children: [
                              - Range: Code
                                Source: token 161 to 164, file std.global.pdl:9:31 to 9:44
                                Tokens: [
                                  Pragma (index 161) text: #type_void
                                  OpenCurly (index 163)
                                ]
                              - Range: Pragma
                                Source: token 164 to 167, file std.global.pdl:9:44 to 9:53
                                Tokens: [
                                  Pragma (index 164) text: #builtin
                                  CloseCurly (index 166)
                                ]
                              ]
                            ]
                          ]
                        ]
                      ]
                    ]
                  ]
                ]
              ]
            ]
          ]
        ]
      ]
    ]
- Unnamed module
  - Range: Module
    Source: token 0 to 331, file :2:5 to 43:5
    Children: [
    - Range: Definition
      Source: token 0 to 47, file :2:5 to 7:5
      Tokens: [
        Ident (index 0) text: func
        Ident (index 2) text: infinite_assert
        OpenAngle (index 4)
        Ident (index 5) text: T
        CloseAngle (index 7)
        OpenParen (index 8)
        Ident (index 9) text: T
        Ident (index 11) text: val
        Comma (index 13)
        Ident (index 14) text: T
        Ident (index 16) text: expected
        CloseParen (index 18)
        ArrowRight (index 19)
        OpenParen (index 20)
        CloseParen (index 21)
        OpenCurly (index 22)
        Ident (index 23) text: while
        OpenParen (index 25)
        Ident (index 26) text: val
        NotEqual (index 28)
        Ident (index 29) text: expected
        CloseParen (index 31)
        OpenCurly (index 32)
        Ident (index 33) text: print
        OpenParen (index 35)
        String (index 36) text: "nope!"
        CloseParen (index 38)
        SemiColon (index 39)
        CloseCurly (index 40)
        Ident (index 41) text: return
        OpenParen (index 43)
        CloseParen (index 44)
        SemiColon (index 45)
        CloseCurly (index 46)
      ]
    - Range: Definition
      Source: token 47 to 200, file :7:5 to 26:5
      Tokens: [
        Ident (index 47) text: primitive
        Ident (index 49) text: receiver
        OpenParen (index 51)
        Ident (index 52) text: in
        OpenAngle (index 54)
        Ident (index 55) text: u32
        CloseAngle (index 57)
        Ident (index 58) text: in_a
        Comma (index 60)
        Ident (index 61) text: in
        OpenAngle (index 63)
        Ident (index 64) text: u32
        CloseAngle (index 66)
        Ident (index 67) text: in_b
        Comma (index 69)
        Ident (index 70) text: u32
        Ident (index 72) text: num_sends
        CloseParen (index 74)
        OpenCurly (index 75)
        Ident (index 76) text: auto
        Ident (index 78) text: num_from_a
        Equal (index 80)
        Integer (index 81) text: 0
        SemiColon (index 83)
        Ident (index 84) text: auto
        Ident (index 86) text: num_from_b
        Equal (index 88)
        Integer (index 89) text: 0
        SemiColon (index 91)
        Ident (index 92) text: while
        OpenParen (index 94)
        Ident (index 95) text: num_from_a
        Plus (index 97)
        Ident (index 98) text: num_from_b
        OpenAngle (index 100)
        Integer (index 101) text: 2
        Star (index 103)
        Ident (index 104) text: num_sends
        CloseParen (index 106)
        OpenCurly (index 107)
        Ident (index 108) text: sync
        Ident (index 110) text: select
        OpenCurly (index 112)
        Ident (index 113) text: auto
        Ident (index 115) text: v
        Equal (index 117)
        Ident (index 118) text: get
        OpenParen (index 120)
        Ident (index 121) text: in_a
        CloseParen (index 123)
        ArrowRight (index 124)
        OpenCurly (index 125)
        Ident (index 126) text: print
        OpenParen (index 128)
        String (index 129) text: "got something from A"
        CloseParen (index 131)
        SemiColon (index 132)
        Ident (index 133) text: auto
        Ident (index 135) text: _
        Equal (index 137)
        Ident (index 138) text: infinite_assert
        OpenParen (index 140)
        Ident (index 141) text: v
        Comma (index 143)
        Ident (index 144) text: num_from_a
        CloseParen (index 146)
        SemiColon (index 147)
        Ident (index 148) text: num_from_a
        PlusEquals (index 150)
        Integer (index 151) text: 1
        SemiColon (index 153)
        CloseCurly (index 154)
        Ident (index 155) text: auto
        Ident (index 157) text: v
        Equal (index 159)
        Ident (index 160) text: get
        OpenParen (index 162)
        Ident (index 163) text: in_b
        CloseParen (index 165)
        ArrowRight (index 166)
        OpenCurly (index 167)
        Ident (index 168) text: print
        OpenParen (index 170)
        String (index 171) text: "got something from B"
        CloseParen (index 173)
        SemiColon (index 174)
        Ident (index 175) text: auto
        Ident (index 177) text: _
        Equal (index 179)
        Ident (index 180) text: infinite_assert
        OpenParen (index 182)
        Ident (index 183) text: v
        Comma (index 185)
        Ident (index 186) text: num_from_b
        CloseParen (index 188)
        SemiColon (index 189)
        Ident (index 190) text: num_from_b
        PlusEquals (index 192)
        Integer (index 193) text: 1
        SemiColon (index 195)
        CloseCurly (index 196)
        CloseCurly (index 197)
        CloseCurly (index 198)
        CloseCurly (index 199)
      ]
    - Range: Definition
      Source: token 200 to 260, file :26:5 to 36:5
      Tokens: [
        Ident (index 200) text: primitive
        Ident (index 202) text: sender
        OpenParen (index 204)
        Ident (index 205) text: out
        OpenAngle (index 207)
        Ident (index 208) text: u32
        CloseAngle (index 210)
        Ident (index 211) text: tx
        Comma (index 213)
        Ident (index 214) text: u32
        Ident (index 216) text: num_sends
        CloseParen (index 218)
        OpenCurly (index 219)
        Ident (index 220) text: auto
        Ident (index 222) text: index
        Equal (index 224)
        Integer (index 225) text: 0
        SemiColon (index 227)
        Ident (index 228) text: while
        OpenParen (index 230)
        Ident (index 231) text: index
        OpenAngle (index 233)
        Ident (index 234) text: num_sends
        CloseParen (index 236)
        OpenCurly (index 237)
        Ident (index 238) text: sync
        OpenCurly (index 240)
        Ident (index 241) text: put
        OpenParen (index 243)
        Ident (index 244) text: tx
        Comma (index 246)
        Ident (index 247) text: index
        CloseParen (index 249)
        SemiColon (index 250)
        Ident (index 251) text: index
        PlusEquals (index 253)
        Integer (index 254) text: 1
        SemiColon (index 256)
        CloseCurly (index 257)
        CloseCurly (index 258)
        CloseCurly (index 259)
      ]
    - Range: Definition
      Source: token 260 to 331, file :36:5 to 43:5
      Tokens: [
        Ident (index 260) text: composite
        Ident (index 262) text: constructor
        OpenParen (index 264)
        CloseParen (index 265)
        OpenCurly (index 266)
        Ident (index 267) text: auto
        Ident (index 269) text: num_sends
        Equal (index 271)
        Integer (index 272) text: 15
        SemiColon (index 274)
        Ident (index 275) text: channel
        Ident (index 277) text: tx_a
        ArrowRight (index 279)
        Ident (index 280) text: rx_a
        SemiColon (index 282)
        Ident (index 283) text: channel
        Ident (index 285) text: tx_b
        ArrowRight (index 287)
        Ident (index 288) text: rx_b
        SemiColon (index 290)
        Ident (index 291) text: new
        Ident (index 293) text: sender
        OpenParen (index 295)
        Ident (index 296) text: tx_a
        Comma (index 298)
        Ident (index 299) text: num_sends
        CloseParen (index 301)
        SemiColon (index 302)
        Ident (index 303) text: new
        Ident (index 305) text: receiver
        OpenParen (index 307)
        Ident (index 308) text: rx_a
        Comma (index 310)
        Ident (index 311) text: rx_b
        Comma (index 313)
        Ident (index 314) text: num_sends
        CloseParen (index 316)
        SemiColon (index 317)
        Ident (index 318) text: new
        Ident (index 320) text: sender
        OpenParen (index 322)
        Ident (index 323) text: tx_b
        Comma (index 325)
        Ident (index 326) text: num_sends
        CloseParen (index 328)
        SemiColon (index 329)
        CloseCurly (index 330)
      ]
    ]