Separate delimiter and tokenstream in macro ast
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index 0115cae..1c199f1 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -127,16 +127,16 @@
 
                 // Try to parse the AstItem declaration out of the item.
                 let found = if path_eq(&item.mac.path, &"ast_struct".into()) {
-                    syn::parse_tokens::<parsing::AstStruct>(item.mac.tt.clone().into_tokens())
+                    syn::parse_tokens::<parsing::AstStruct>(item.mac.tts.clone().into_tokens())
                         .map_err(|_| err_msg("failed to parse ast_struct"))?
                         .0
                 } else if path_eq(&item.mac.path, &"ast_enum".into()) {
-                    syn::parse_tokens::<parsing::AstEnum>(item.mac.tt.clone().into_tokens())
+                    syn::parse_tokens::<parsing::AstEnum>(item.mac.tts.clone().into_tokens())
                         .map_err(|_| err_msg("failed to parse ast_enum"))?
                         .0
                 } else if path_eq(&item.mac.path, &"ast_enum_of_structs".into()) {
                     syn::parse_tokens::<parsing::AstEnumOfStructs>(
-                        item.mac.tt.clone().into_tokens(),
+                        item.mac.tts.clone().into_tokens(),
                     ).map_err(|_| err_msg("failed to parse ast_enum_of_structs"))?
                         .0
                 } else {
@@ -221,21 +221,21 @@
     // ast_struct! parsing
     pub struct AstStruct(pub Vec<AstItem>);
     impl Synom for AstStruct {
-        named!(parse -> Self, map!(braces!(do_parse!(
+        named!(parse -> Self, do_parse!(
             many0!(Attribute::parse_outer) >>
             keyword!(pub) >>
             keyword!(struct) >>
             res: call!(ast_struct_inner) >>
-            (res)
-        )), |x| AstStruct(vec![x.0])));
+            (AstStruct(vec![res]))
+        ));
     }
 
     // ast_enum! parsing
     pub struct AstEnum(pub Vec<AstItem>);
     impl Synom for AstEnum {
-        named!(parse -> Self, map!(braces!(syn!(DeriveInput)), |x| {
+        named!(parse -> Self, map!(syn!(DeriveInput), |x| {
             AstEnum(vec![AstItem {
-                ast: x.0,
+                ast: x,
                 features: quote!(),
                 eos_full: false,
             }])
@@ -268,7 +268,7 @@
     // ast_enum_of_structs! parsing
     pub struct AstEnumOfStructs(pub Vec<AstItem>);
     impl Synom for AstEnumOfStructs {
-        named!(parse -> Self, map!(braces!(do_parse!(
+        named!(parse -> Self, do_parse!(
             many0!(Attribute::parse_outer) >>
             keyword!(pub) >>
             keyword!(enum) >>
@@ -298,7 +298,7 @@
                 items.extend(body.0.into_iter().filter_map(|v| v.inner));
                 AstEnumOfStructs(items)
             })
-        )), |x| x.0));
+        ));
     }
 }