def parse(source):
    """ Parses a type string to their type objects for all basic types.
        
        Yields [nested] type objects.
        
        Raises SyntaxError and SemanticError on failures.
        
        Supported types:
        * containers: defaultdict, deque, dict, list, tuple, set
        * basic types: Decimal, bool, float, int, long, str
        * None type
    """
    src = _tokenize(source)
    for token in src:
        yield _parse(token, src)
 Parses a type string to their type objects for all basic types.
        
        Yields [nested] type objects.
        
        Raises SyntaxError and SemanticError on failures.
        
        Supported types:
        * containers: defaultdict, deque, dict, list, tuple, set
        * basic types: Decimal, bool, float, int, long, str
        * None type
    
recipes/Python/511473_typeparser/recipe-511473.py