From 1c5d8591952cbb017fd6679a1ef29a86e1499025 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 10 Apr 2020 10:18:43 +0200 Subject: Start replacing tokens --- xtask/src/ast_src.rs | 2 +- xtask/src/codegen/gen_syntax.rs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'xtask/src') diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs index 1a6ee935f..8c83450e6 100644 --- a/xtask/src/ast_src.rs +++ b/xtask/src/ast_src.rs @@ -322,7 +322,7 @@ pub(crate) const AST_SRC: AstSrc = AstSrc { T![;] } - struct RetType { ThinArrow, TypeRef } + struct RetType { T![->], TypeRef } struct StructDef: VisibilityOwner, NameOwner, TypeParamsOwner, AttrsOwner, DocCommentsOwner { T![struct], diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs index 26f541da1..b7698ee6e 100644 --- a/xtask/src/codegen/gen_syntax.rs +++ b/xtask/src/codegen/gen_syntax.rs @@ -345,6 +345,7 @@ fn generate_nodes(kinds: KindsSrc<'_>, grammar: AstSrc<'_>) -> Result { #(#displays)* }; + let ast = ast.to_string().replace("T ! [ ", "T![").replace(" ] )", "])"); let pretty = crate::reformat(ast)?; Ok(pretty) } @@ -527,6 +528,9 @@ impl Field<'_> { Field::Token(name) => { let name = match *name { ";" => "semicolon", + "->" => "thin_arrow", + "'{'" => "l_curly", + "'}'" => "r_curly", _ => name, }; format_ident!("{}_token", name) -- cgit v1.2.3