Andrew Kelley
93384f7428
use singly linked lists for std.zig.parse
...
std.ast uses a singly linked list for lists of things. This is a
breaking change to the self-hosted parser API.
std.ast.Tree has been separated into a private "Parser" type which
represents in-progress parsing, and std.ast.Tree which has only
"output" data. This means cleaner, but breaking, API for parse results.
Specifically, `tokens` and `errors` are no longer SegmentedList but a
slice.
The way to iterate over AST nodes has necessarily changed since lists of
nodes are now singly linked lists rather than SegmentedList.
From these changes, I observe the following on the
self-hosted-parser benchmark from ziglang/gotta-go-fast:
throughput: 45.6 MiB/s => 55.6 MiB/s
maxrss: 359 KB => 342 KB
This commit breaks the build; more updates are necessary to fix API
usage of the self-hosted parser.
2020-05-19 21:22:52 -04:00
..
2020-04-04 13:47:07 -04:00
2020-04-14 16:19:01 -04:00
2020-05-16 12:41:53 -04:00
2020-05-16 13:20:14 +03:00
2020-04-28 19:11:31 -06:00
2020-05-07 13:41:17 -04:00
2020-04-28 19:11:31 -06:00
2020-05-18 22:22:27 +02:00
2020-05-06 17:08:49 +05:00
2020-05-10 02:05:54 -04:00
2020-04-11 20:40:34 -04:00
2020-05-18 17:10:49 +02:00
2020-05-12 17:44:06 +03:00
2020-05-01 13:33:46 -04:00
2020-03-19 09:53:55 -04:00
2020-05-18 16:09:49 +02:00
2020-05-18 17:10:49 +02:00
2020-04-18 14:41:33 -04:00
2020-05-16 16:43:41 +03:00
2020-03-03 09:44:13 -05:00
2020-01-30 01:12:21 -06:00
2019-09-25 23:35:41 -04:00
2020-04-03 12:12:23 -04:00
2019-11-21 20:43:41 -05:00
2020-05-19 21:22:52 -04:00
2020-04-02 15:14:28 +02:00
2020-05-13 20:06:01 -04:00
2020-05-16 12:46:44 -04:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2020-04-24 15:28:55 -04:00
2020-01-29 22:22:01 -06:00
2020-01-29 22:22:01 -06:00
2020-05-18 21:05:29 +02:00
2020-04-04 17:37:51 -04:00
2020-05-16 12:41:53 -04:00
2020-05-02 04:31:26 -04:00
2020-04-02 16:12:08 +02:00
2020-02-24 13:43:54 -05:00
2020-03-01 13:21:39 -05:00
2020-05-13 16:21:15 +01:00
2020-02-20 19:41:28 +01:00
2020-05-08 14:26:28 +03:00
2020-05-08 14:26:28 +03:00
2020-05-06 12:52:26 +03:00
2020-02-16 13:25:30 -05:00
2020-05-14 13:20:27 -04:00
2020-05-18 16:09:49 +02:00
2020-05-18 16:09:49 +02:00
2020-05-12 01:02:48 -04:00
2019-10-11 18:13:24 -04:00
2020-05-10 02:05:54 -04:00
2019-09-25 23:35:41 -04:00
2020-05-16 13:43:50 +03:00
2020-05-18 19:23:40 -04:00
2020-05-19 21:22:52 -04:00
2020-02-22 12:44:21 +01:00
2020-05-01 06:47:20 -04:00
2020-05-16 01:26:18 -04:00
2020-04-28 19:11:18 -06:00
2020-02-28 14:51:53 -05:00
2020-05-11 09:11:05 -06:00
2020-04-18 15:48:32 -04:00
2020-05-18 17:09:52 +02:00
2020-05-18 16:09:49 +02:00
2020-05-08 15:10:38 +03:00
2020-05-13 18:38:03 +03:00
2020-05-18 16:09:49 +02:00
2020-05-01 15:14:44 -04:00
2020-04-28 19:11:31 -06:00
2020-01-30 12:05:57 -05:00
2020-05-02 00:41:19 -04:00
2020-01-29 22:22:01 -06:00
2020-04-09 09:13:47 +01:00
2020-02-28 14:51:53 -05:00
2019-12-12 18:33:44 -05:00
2020-05-05 09:38:02 -06:00
2020-05-18 21:05:29 +02:00
2020-05-01 06:47:20 -04:00
2020-05-18 17:10:49 +02:00
2020-05-05 04:15:43 -04:00
2020-05-18 17:10:17 +02:00
2020-04-24 15:28:55 -04:00
2020-03-01 13:57:41 -05:00
2020-05-01 06:47:20 -04:00