Aleksey Kladov
5ba4f949c2
Kill RAW_ literals
...
Syntactically, they are indistinguishable from non-raw versions, so it
doesn't make sense to separate then *at the syntax* level.
2020-11-06 22:23:14 +01:00
Aleksey Kladov
3820b26a93
Generate token for ints and floats
2020-11-06 18:19:24 +01:00
Aleksey Kladov
c7a079d32d
Improve compile time a tiny bit
2020-10-16 19:47:47 +02:00
kjeremy
11758d518a
Up proc-macro2 to 1.20
...
This changes the way Display is implemented
2020-09-03 17:40:12 -04:00
Aleksey Kladov
863b1fb731
⬆️ ungrammar
2020-08-21 19:14:05 +02:00
Aleksey Kladov
27ccc95c60
Cleanup feature generation
2020-08-18 19:36:27 +02:00
Aleksey Kladov
b82d967182
Mention that generated .adocs are generaterd
2020-08-17 15:49:46 +02:00
Aleksey Kladov
a1c187eef3
Rename ra_syntax -> syntax
2020-08-12 18:30:53 +02:00
Aleksey Kladov
bff8dd0949
Update grammar
2020-08-01 13:47:19 +02:00
Aleksey Kladov
81359af733
Simplify trait gramamr
2020-07-31 20:22:20 +02:00
Aleksey Kladov
8d28289d0f
Specify literal tokens
2020-07-31 18:16:08 +02:00
Aleksey Kladov
633aace411
Rename LambdaExpr -> ClosureExpr
2020-07-31 17:08:58 +02:00
Aleksey Kladov
bfcee63e75
Work on expressions grammar
2020-07-31 16:52:08 +02:00
Aleksey Kladov
d4d986c7f8
Item is a Stmt
2020-07-31 15:51:01 +02:00
Aleksey Kladov
a7ca6583fb
Handwrite Stmt
2020-07-31 15:40:48 +02:00
Aleksey Kladov
08ea2271e8
Rename TypeRef -> Type
...
The TypeRef name comes from IntelliJ days, where you often have both
type *syntax* as well as *semantical* representation of types in
scope. And naming both Type is confusing.
In rust-analyzer however, we use ast types as `ast::Type`, and have
many more semantic counterparts to ast types, so avoiding name clash
here is just confusing.
2020-07-31 12:14:37 +02:00
Aleksey Kladov
2e2642efcc
Remove TypeAscriptionOwner
2020-07-30 20:51:43 +02:00
Aleksey Kladov
216a5344c8
Rename StructDef -> Struct
2020-07-30 17:50:40 +02:00
Aleksey Kladov
b043947301
Simplify
2020-07-30 17:19:51 +02:00
Aleksey Kladov
d549f6164c
Simplify codegen
2020-07-30 17:10:44 +02:00
Aleksey Kladov
28ef4c375a
Rename TypeParamList -> GenericParamList
2020-07-30 15:36:21 +02:00
Aleksey Kladov
1142112c70
Rename FnDef -> Fn
2020-07-30 15:16:05 +02:00
Aleksey Kladov
e381c02ef3
Add comma list to use tree
2020-07-30 14:20:33 +02:00
Aleksey Kladov
ede5d17b04
Finish SourceFile grammar
2020-07-30 00:46:39 +02:00
Aleksey Kladov
3d28292157
Switch to ungrammar from ast_src
...
The primary advantage of ungrammar is that it (eventually) allows one
to describe concrete syntax tree structure -- with alternatives and
specific sequence of tokens & nodes.
That should be re-usable for:
* generate `make` calls
* Rust reference
* Hypothetical parser's evented API
We loose doc comments for the time being unfortunately. I don't think
we should add support for doc comments to ungrammar -- they'll make
grammar file hard to read. We might supply docs as out-of band info,
or maybe just via a reference, but we'll think about that once things
are no longer in flux
2020-07-29 19:18:25 +02:00
Aleksey Kladov
627eddbc7e
Owned AST IR
2020-07-29 12:04:22 +02:00
bors[bot]
f3d73865d6
Merge #4855
...
4855: Use more idiomatic style for lifetimes in generated code r=matklad a=Veetaha
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-06-12 12:49:30 +00:00
Veetaha
4fefc7d06c
Simplify
2020-06-12 02:56:06 +03:00
Veetaha
33e009ec42
Use more idiomatic style for lifetimes in generated code
2020-06-12 01:23:04 +03:00
veetaha
e0e384a34a
Add ast docs to codegen script
2020-05-10 19:05:51 +03:00
Aleksey Kladov
4f2134cc33
Introduce EffectExpr
2020-05-02 11:21:39 +02:00
veetaha
972d3b2ba3
Group generated ast boilerplate apart from the interesting part
2020-04-18 23:51:13 +03:00
Aleksey Kladov
5c5bde47fb
Rename some tokens
2020-04-10 17:07:09 +02:00
Aleksey Kladov
d4332760d8
Better readability
2020-04-10 16:10:28 +02:00
Aleksey Kladov
e0f02d233f
Remove dead code
2020-04-10 16:10:28 +02:00
Aleksey Kladov
4560fe2abf
Generate only minimal set of ineresting tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
8d71a6bf0c
Scale token generation back
2020-04-10 16:10:28 +02:00
Aleksey Kladov
779f06ed77
Convert more tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
548f562dda
Other delimiters
2020-04-10 16:10:28 +02:00
Aleksey Kladov
1c5d859195
Start replacing tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
c8b4c36f81
Semicolon token
2020-04-10 16:10:28 +02:00
Aleksey Kladov
f89f2e3885
More readable ast_src for keywords
2020-04-10 16:10:28 +02:00
Aleksey Kladov
30084a56a5
Simpler acessors for keywords
2020-04-09 23:42:01 +02:00
Aleksey Kladov
e6d22187a6
Add _token suffix to token accessors
...
I think this makes is more clear which things are : AstNode and which
are : AstToken
2020-04-09 18:25:36 +02:00
Aleksey Kladov
56c8581b90
Put displays at the end
2020-04-09 18:11:16 +02:00
Aleksey Kladov
9285cbffb6
More compact
2020-04-09 18:08:54 +02:00
Aleksey Kladov
4a063e651f
Move the rest of the tokens to generated/tokens
2020-04-09 17:58:15 +02:00
Aleksey Kladov
c80795e274
Move generated tokens to a separate file
2020-04-09 17:47:46 +02:00
Aleksey Kladov
59b6b2278b
Start ast/generated/tokens
2020-04-09 16:25:06 +02:00
Aleksey Kladov
d61932ef7e
Prepare for spliting generated into tokens and nodes
2020-04-09 16:17:18 +02:00