             } else {
                 field = Field(name: token, type: token.typeName)
             }
-        default:
-            field = nil
+        case .group(let expression, let modifier, let lookahead, let annotations):
+            if lookahead {
+                return nil
+            }
+            if annotations.asRuleAnnotations[.void] == .set || annotations.asRuleAnnotations[.transient] == .set {
+                return nil
+            }
+            if modifier == .transient || modifier == .void || modifier == .not{
+                return nil
+            }
+
+            let fields = generate(expression: expression)
+            
+            return fields.first
         }
         
         if let field = field {

        return []
    }
    
    private static func generate(element:STLRScope.Element)->Field?{
        guard element.isStructural else {
            return nil

        return false
    }
    var isStructural : Bool {
        return SwiftStructure.isStructural(identifier: self)
    }
}

