Ensures the key set contains the base supported properties for a Parser
    :param props: a set of property names to validate against those supported

def validate_properties(props, required):
    """
    Ensures the key set contains the base supported properties for a Parser
    :param props: a set of property names to validate against those supported
    """

    props = set(props)
    required = set(required or _supported_props)

    if len(required.intersection(props)) < len(required):
        missing = required - props
        raise ValidationError(
            'Missing property names: {props}', props=','.join(missing), missing=missing
        )