Commit Graph

241 Commits

Author SHA1 Message Date
Aleksey Kladov
8a735b6672 G: use names in enums 2018-02-10 14:10:50 +03:00
Aleksey Kladov
ca6e93f091 G: use names in structs 2018-02-10 14:10:02 +03:00
Aleksey Kladov
f746fb6a93 G: use names in consts 2018-02-10 14:08:46 +03:00
Aleksey Kladov
3c9d8ff423 G: names for fns 2018-02-10 14:04:31 +03:00
Aleksey Kladov
fc0a9e266b G: introduce names 2018-02-10 14:00:23 +03:00
Aleksey Kladov
dd6e5371eb G: where clause 2018-02-10 12:53:07 +03:00
Aleksey Kladov
2ef16a4121 G: type item 2018-02-10 12:35:40 +03:00
Aleksey Kladov
ac932df22a reformat 2018-02-09 22:55:50 +03:00
Aleksey Kladov
0ae26c344a Drop ErrorBuilder nonsense 2018-02-09 22:44:50 +03:00
Aleksey Kladov
351107d0b1 Reformat 2018-02-04 17:06:43 +03:00
Aleksey Kladov
c119e8fd8b G: unsafe fn 2018-02-04 17:06:07 +03:00
Aleksey Kladov
85c42fba12 Support contextual tokens 2018-02-04 16:46:26 +03:00
Aleksey Kladov
852543212b Extract parser input into a separate struct 2018-02-04 14:57:57 +03:00
Aleksey Kladov
c74eaf1fdf Simplify 2018-02-04 13:56:51 +03:00
Aleksey Kladov
d94124e3b4 Somewhat more san directory structure 2018-02-04 13:53:47 +03:00
Aleksey Kladov
a40b715ce1 G: unsafe impl & trait 2018-02-04 13:53:05 +03:00
Aleksey Kladov
003ea633e9 Add more inline tests 2018-02-04 12:28:30 +03:00
Aleksey Kladov
9b3d806b0d Add infra for inline tests 2018-02-03 22:34:35 +03:00
Aleksey Kladov
bb381a7ff7 Move tools to a separate package 2018-02-03 12:51:06 +03:00
Aleksey Kladov
e5273d33d0 G: const item 2018-02-03 12:05:57 +03:00
Aleksey Kladov
0000f4f4f2 G: static items 2018-02-02 23:45:15 +03:00
Aleksey Kladov
049c9b60fb L: const & static keywords 2018-02-02 23:30:17 +03:00
Aleksey Kladov
be20b014d9 Move type parameter parsing to a separate file 2018-02-02 23:23:39 +03:00
Aleksey Kladov
7cdf990c40 Move use item parsing to a separate file 2018-02-02 22:21:06 +03:00
Aleksey Kladov
c9318e046c G: extern functions 2018-02-02 22:08:37 +03:00
Aleksey Kladov
7a02097b71 Formatting 2018-01-30 22:56:13 +03:00
Aleksey Kladov
197a2e6fef G: type_parameter_list 2018-01-30 22:53:19 +03:00
Aleksey Kladov
55e2a478be Reformat 2018-01-28 23:14:00 +03:00
Aleksey Kladov
c23a2519e1 Print identifiers in test data 2018-01-28 23:13:32 +03:00
Aleksey Kladov
b7c141e0b5 Parse enums 2018-01-28 22:59:18 +03:00
Aleksey Kladov
8ca02acb5a Generic params in structs 2018-01-28 21:18:24 +03:00
Aleksey Kladov
7e55b2693f Move struct parsing to a separate module 2018-01-28 21:18:24 +03:00
Aleksey Kladov
d1d47e6244 Skip over balanced parens 2018-01-28 20:53:01 +03:00
Aleksey Kladov
dee7046f7e Don't return SyntaxKind from bump 2018-01-28 14:58:51 +03:00
Aleksey Kladov
2141888782 Rename raw_lookahead -> nth 2018-01-28 14:33:10 +03:00
Aleksey Kladov
60725def49 Simplify 2018-01-28 14:30:59 +03:00
Aleksey Kladov
3cd2b2473b Drop curly_block
closes #13
2018-01-28 14:26:24 +03:00
bors[bot]
7a6fa6504c Merge #24
24: Block Comments r=matklad a=CAD97

closes #7
2018-01-28 10:52:49 +00:00
Christopher Durham
5982e6d73b
Update comments.rs 2018-01-28 05:51:39 -05:00
Christopher Durham
f4f79038d1 Block Comments
closes #7
2018-01-28 05:08:25 -05:00
Aleksey Kladov
83aa6f0899 Simplify item parsing 2018-01-28 12:57:03 +03:00
Christopher Durham
14c0ee90ca
Update gen.rs 2018-01-28 04:31:18 -05:00
Aleksey Kladov
169d5d371a Drop repr(u32) from SyntaxKind
Nomicon says it disables some optimizations:
https://doc.rust-lang.org/beta/nomicon/other-reprs.html#repru-repri
2018-01-28 12:24:03 +03:00
bors[bot]
bec9f09134 Merge #18
18: Comments r=matklad a=matklad
2018-01-28 09:07:26 +00:00
Aleksey Kladov
d3dedcace8 Document events a bit 2018-01-28 12:06:43 +03:00
Aleksey Kladov
cd4e13f10a Document events a bit 2018-01-28 12:06:26 +03:00
Aleksey Kladov
52104f7d25 Explain TOMBSTONE and EOF 2018-01-28 11:43:59 +03:00
bors[bot]
092f9a6b98 Merge #17
17: Document the design of `FileBuilder` r=matklad a=matklad
2018-01-28 08:18:47 +00:00
Aleksey Kladov
1417f26f82 Document the design of FileBuilder 2018-01-28 11:18:17 +03:00
Christopher Durham
4244948c6b Convert SyntaxKind to an enum 2018-01-27 21:52:22 -05:00
Christopher Durham
50b9012e10 Add minimal docs to most public symbols 2018-01-27 20:29:14 -05:00
Christopher Durham
55e8755fbb Enforce rustfmt format 2018-01-27 18:36:02 -05:00
Christopher Durham
4de3c97b2a Enforce rustfmt format 2018-01-27 18:31:23 -05:00
Aleksey Kladov
3630aeb1ea Drop high-order stuff for good 2018-01-28 01:13:27 +03:00
Aleksey Kladov
b7ae5bbba2 Simplify 2018-01-28 01:12:49 +03:00
Aleksey Kladov
caba13a2dd Simplify 2018-01-28 00:05:31 +03:00
Aleksey Kladov
d280c72338 Simplify 2018-01-22 11:31:55 +03:00
Aleksey Kladov
13c6a34354 Extract nested trees 2018-01-22 11:29:32 +03:00
Aleksey Kladov
645a1b5d73 Remove high-order bits from tuple struct 2018-01-22 02:21:53 +03:00
Aleksey Kladov
05ad469ac3 Command-line utilty to print the parse tree 2018-01-22 02:12:26 +03:00
Aleksey Kladov
efd538d793 Remove high-order bits from attributes 2018-01-21 00:31:29 +03:00
Aleksey Kladov
0b5d39f2a2 Markers API 2018-01-20 23:25:34 +03:00
Aleksey Kladov
be60d5aa66 Drop more high-order stuff 2018-01-20 21:49:58 +03:00
Aleksey Kladov
111743d82c Drop more high-order stuff 2018-01-20 21:07:34 +03:00
Aleksey Kladov
410f948c5f Drop high-order combinators 2018-01-20 17:21:13 +03:00
Aleksey Kladov
3c612bfa3a Simplify 2018-01-15 22:41:57 +03:00
Aleksey Kladov
91fb7e2088 Rename many -> repeat 2018-01-15 21:44:30 +03:00
Aleksey Kladov
08f7c69f90 G: struct flavors 2018-01-13 22:00:26 +03:00
Aleksey Kladov
55891be06a G: use trees 2018-01-13 13:42:19 +03:00
Aleksey Kladov
29b2e0adcc G: allow self & super in paths 2018-01-13 11:55:03 +03:00
Aleksey Kladov
f31d858607 G: visibility 2018-01-12 22:05:46 +03:00
Aleksey Kladov
c111a1f7b8 Nest paths 2018-01-12 20:59:19 +03:00
Aleksey Kladov
ca0c5ea38b Support tree rebalancing 2018-01-12 20:32:37 +03:00
Aleksey Kladov
15ae9026cf Encapsulate position 2018-01-11 23:25:14 +03:00
Aleksey Kladov
9a8e9bc4c6 G: item outer attributes 2018-01-11 23:01:12 +03:00
Aleksey Kladov
89699c4803 G: leading colon is a part of path segment 2018-01-11 22:11:44 +03:00
Aleksey Kladov
41bf98d249 G: multisegment paths 2018-01-11 20:55:08 +03:00
Aleksey Kladov
5ea7e5fb7a G: simplest use items 2018-01-09 23:32:18 +03:00
Aleksey Kladov
1544e89c49 G: mod item 2018-01-09 22:35:55 +03:00
Aleksey Kladov
7f8ca07d86 G: extern crate 2018-01-09 00:06:42 +03:00
Aleksey Kladov
0cf2d6afee Generalized lookahead 2018-01-08 22:40:14 +03:00
Aleksey Kladov
bdddfc9eb8 Musings about items 2018-01-08 22:20:58 +03:00
Aleksey Kladov
b61617f752 G: special-case C++ semicolon 2018-01-08 21:57:19 +03:00
Aleksey Kladov
ea186fe2c0 G: inner attributes 2018-01-08 21:40:00 +03:00
Aleksey Kladov
f25142c5ed L: true and false are keywords 2018-01-08 21:21:59 +03:00
Aleksey Kladov
55027bed08 Split into modules 2018-01-07 21:46:10 +03:00
Aleksey Kladov
0aef78e512 grammar.rs is folder 2018-01-07 21:41:00 +03:00
Aleksey Kladov
7bc974ab2c G: some attributes 2018-01-07 21:40:18 +03:00
Aleksey Kladov
5562931e4f Introduce EOF token 2018-01-07 21:09:05 +03:00
Aleksey Kladov
fc4d6cc298 Simplify non-white token handling 2018-01-07 20:14:26 +03:00
Aleksey Kladov
bbf7e9bbd2 Simiplify 2018-01-07 19:56:33 +03:00
Aleksey Kladov
f194750a2a G: start attributes 2018-01-07 19:50:54 +03:00
Aleksey Kladov
b5034410c8 G: function item 2018-01-07 16:01:30 +03:00
Aleksey Kladov
7c6f0f9128 G: shebang 2018-01-07 15:34:11 +03:00
Aleksey Kladov
9e4052cc2e Test utils 2018-01-07 14:56:08 +03:00
Aleksey Kladov
18f9e50b2d Error placement 2018-01-07 13:09:13 +03:00
Aleksey Kladov
efcfaae34a Tests for partial parse 2018-01-07 12:32:29 +03:00
Aleksey Kladov
f797c81155 Smart eof for blocks 2018-01-07 12:13:01 +03:00
Aleksey Kladov
8671a892c5 Error builder 2018-01-07 10:55:43 +03:00
Aleksey Kladov
50132db4c6 Store syntax errors 2018-01-07 10:10:35 +03:00
Aleksey Kladov
31a07da88d Boolean results 2018-01-06 21:54:55 +03:00
Aleksey Kladov
d0900b3ca7 G: struct fields 2018-01-06 17:16:00 +03:00
Aleksey Kladov
55602727c8 Parser: first struct :-) 2018-01-01 23:22:01 +03:00
Aleksey Kladov
46422f722b Parser: first scraches 2018-01-01 22:13:04 +03:00
Aleksey Kladov
cb362626f3 Parser: guess what? Groundwork! 2018-01-01 18:58:46 +03:00
Aleksey Kladov
0af33a2587 Rename 2018-01-01 17:21:53 +03:00
Aleksey Kladov
4cda325530 Parser: even more groundwork 2018-01-01 16:05:46 +03:00
Aleksey Kladov
e24cadb490 Parser: more groundwork 2018-01-01 15:10:56 +03:00
Aleksey Kladov
9ed73378ce Parser: extract sink trait 2018-01-01 00:13:56 +03:00
Aleksey Kladov
8c478a794c Parser: initial 2017-12-31 23:34:29 +03:00
Aleksey Kladov
39024fdc14 Parser test boilerplate 2017-12-31 23:27:36 +03:00
Aleksey Kladov
8e42f26965 Debug for Node 2017-12-31 20:41:15 +03:00
Aleksey Kladov
f16fed18b3 Wow, it is possible to implement Index for Vec! 2017-12-31 20:37:34 +03:00
Aleksey Kladov
9e4c288201 File builder growndwork 2017-12-31 20:30:21 +03:00
Aleksey Kladov
9c804accf1 Move tree to a separate module 2017-12-31 18:58:03 +03:00
Aleksey Kladov
9ce4db545e Parser: groundwork 2017-12-31 17:54:33 +03:00
Aleksey Kladov
98a58bf806 Lexer: basic comments 2017-12-31 16:56:33 +03:00
Aleksey Kladov
cb6f076184 Lexer: comments groundwork 2017-12-31 16:42:22 +03:00
Aleksey Kladov
9ccf339c17 Lexer: minor 2017-12-31 15:43:12 +03:00
Aleksey Kladov
a071e09412 Lexer: more symbols 2017-12-31 15:29:09 +03:00
Aleksey Kladov
d76d7d2a74 Lexer: strings 2017-12-31 15:14:47 +03:00
Aleksey Kladov
b704eb708f Lexer: byte strings sufixes 2017-12-31 14:10:18 +03:00
Aleksey Kladov
2f24fb4f2c Lexer: byte strings 2017-12-31 14:03:29 +03:00
Aleksey Kladov
f1a840cc38 Lexer: extract string lexing to a separate file 2017-12-31 13:32:00 +03:00
Aleksey Kladov
9d5138bf11 Lexer: simplistic char & lifetime tests 2017-12-31 11:32:49 +03:00
Aleksey Kladov
0b49db623f Lexer: literal suffixes 2017-12-31 11:15:27 +03:00
Aleksey Kladov
d6a922459e Lexer: basic chars & lifetimes 2017-12-31 10:41:42 +03:00
Aleksey Kladov
492f6e6b1c Lexer: angle brackets 2017-12-30 20:56:54 +03:00
Aleksey Kladov
412948c0e2 More symbols 2017-12-30 18:25:37 +03:00
Aleksey Kladov
fad3e50987 Lexer: symbols 2017-12-30 16:30:44 +03:00
Aleksey Kladov
3e91e8b77d Lexer: move numbers to a separate file 2017-12-30 15:56:58 +03:00
Aleksey Kladov
2d5217dbb7 More readable lexer tests 2017-12-30 15:29:09 +03:00
Aleksey Kladov
ddc637c161 Lexer: start numbers 2017-12-30 15:23:38 +03:00
Aleksey Kladov
8103772a10 Lexer: underscore 2017-12-30 01:01:57 +03:00
Aleksey Kladov
ff5a6549b4 Style 2017-12-30 00:53:06 +03:00
Aleksey Kladov
770ecd4ecd Cleanup character classes 2017-12-30 00:48:47 +03:00
Aleksey Kladov
171baf4c48 Simple identifier lexer 2017-12-29 23:33:04 +03:00
Aleksey Kladov
15af7ad36c Use array for infos 2017-12-29 20:47:54 +03:00
Aleksey Kladov
5276a7d3be Grammar in ron 2017-12-29 01:21:54 +03:00
Aleksey Kladov
5e1e8ed34a Lexer scaffold 2017-12-29 00:56:36 +03:00
Aleksey Kladov
e132280844 Start library 2017-12-28 23:55:16 +03:00