Commit graph

193 commits

Author SHA1 Message Date
Aleksey Kladov
66182ed5d5 Ref exprs 2018-07-31 12:51:00 +03:00
Aleksey Kladov
ff71cb1f6d Introduce param & arg list 2018-07-31 12:32:53 +03:00
Aleksey Kladov
c244dd1034 Call expr 2018-07-31 12:26:19 +03:00
Aleksey Kladov
aea86d154e stackless traversal 2018-07-30 23:45:10 +03:00
Aleksey Kladov
70b3372921 Don't allocate when traversing children 2018-07-30 23:20:02 +03:00
Aleksey Kladov
27a40e0a88 type param defaults 2018-07-30 22:27:23 +03:00
Aleksey Kladov
ac0d8c48f7 JS plugin 2018-07-30 21:58:49 +03:00
Aleksey Kladov
6fc66c4ee6 Use boxed sliced for red nodes 2018-07-30 18:14:14 +03:00
Aleksey Kladov
beaddb4780 Intern static tokens 2018-07-30 18:11:33 +03:00
Aleksey Kladov
60e8a845ca simplify codegen 2018-07-30 18:02:13 +03:00
Aleksey Kladov
7fb7cfc2d1 generate single byte tokens 2018-07-30 17:46:50 +03:00
Aleksey Kladov
d436694097 Path expressions 2018-07-30 17:02:51 +03:00
Aleksey Kladov
3b6a6f6673 Add render test functionality 2018-07-30 16:16:58 +03:00
Aleksey Kladov
d39198490f fn ret type 2018-07-30 15:32:19 +03:00
Aleksey Kladov
333e140a50 Mior 2018-07-30 15:25:52 +03:00
Aleksey Kladov
1edb58a802 reformat 2018-07-30 14:08:06 +03:00
Aleksey Kladov
6983091d6d Cleanup tools 2018-07-30 14:06:22 +03:00
Aleksey Kladov
9a4957d143 clean comments 2018-07-30 12:52:59 +03:00
Aleksey Kladov
97bb223279 Remove indirection 2018-07-30 12:46:42 +03:00
Aleksey Kladov
a2a810f118 Add parent links 2018-07-30 12:44:14 +03:00
Aleksey Kladov
423298dddd Trait for tree root 2018-07-30 12:37:03 +03:00
Aleksey Kladov
ae849cf134 Owned&Borrowed nodes
HOLLY COW, UNLIKE C++, WE CAN BE GENERIC WRT OWNERSHIP/BORROWING, SO
WE CAN BOTH MAKE SYNTAX NODES OWNED (WHICH IS CONVENIENT) AND
BORROWED (WHICH IS CONVENIENT FOR LOCAL PROCESSING, BC YOU DON'T NEED
TO BUMP REFCOUNTS).
2018-07-30 03:21:17 +03:00
Aleksey Kladov
83acbc06bd No need to Arc reds, they are rooted anyways 2018-07-30 02:39:26 +03:00
Aleksey Kladov
4e79073e38 Use raw pointers 2018-07-30 02:23:07 +03:00
Aleksey Kladov
b87291a8a4 Move grammar 2018-07-30 02:23:07 +03:00
Aleksey Kladov
13c6a5c4b0 Avoid optimizing trivia for now 2018-07-29 16:19:16 +03:00
Aleksey Kladov
415c891d64 Reorganize 2018-07-29 15:16:07 +03:00
Aleksey Kladov
ad188d4c3d kill old tree 2018-07-29 14:37:48 +03:00
Aleksey Kladov
c12450fb4e Introduce red-green syntax tree 2018-07-29 13:51:55 +03:00
Aleksey Kladov
8d9961b753 Migrate to text-unit 2018-07-28 13:07:10 +03:00
Aleksey Kladov
52dc0ddc84 Add vis test 2018-07-28 13:00:16 +03:00
Aleksey Kladov
c6f4a06b42 G: value_parameters, patterns & let statement 2018-02-18 01:06:48 +03:00
Aleksey Kladov
1c4e05ec2f More correct path type 2018-02-17 16:27:17 +03:00
Aleksey Kladov
b920b3d50b Use stable rustfmt-preview 2018-02-17 01:05:07 +03:00
Aleksey Kladov
c8910b0683 G: for type 2018-02-11 23:32:49 +03:00
Aleksey Kladov
f356628ad8 Formatting 2018-02-11 17:59:24 +03:00
Aleksey Kladov
59087840f5 Document how the parsing works 2018-02-11 17:58:22 +03:00
Aleksey Kladov
9e2c056478 Separate parser API from implementation 2018-02-11 16:53:57 +03:00
Aleksey Kladov
65ebfd9a34 Simplify 2018-02-11 13:19:10 +03:00
Aleksey Kladov
96437b050f Formatting 2018-02-11 12:58:12 +03:00
Aleksey Kladov
8a3f17a4e2 G: fn pointer type 2018-02-11 12:51:09 +03:00
Aleksey Kladov
2fb33b2d0d G: placeholder types 2018-02-11 11:57:05 +03:00
Aleksey Kladov
eb4c05d572 G: reference types 2018-02-11 11:54:09 +03:00
Aleksey Kladov
555c4ae375 G: slice & array types 2018-02-11 11:37:08 +03:00
Aleksey Kladov
ceb94ece2a G: pointer types 2018-02-11 11:19:54 +03:00
Aleksey Kladov
2389cf96dd G: Never type 2018-02-11 11:01:00 +03:00
Aleksey Kladov
b097090690 G: more types 2018-02-11 00:46:28 +03:00
Aleksey Kladov
199b3a1604 G: use name in mods 2018-02-10 14:23:18 +03:00
Aleksey Kladov
d68a187eb5 G: use name in types 2018-02-10 14:22:31 +03:00
Aleksey Kladov
e792ec3eca G: use name refs in paths 2018-02-10 14:17:38 +03:00