def cook(source_file, text, engine, content_type):
    """Parse text and return prepared template program and macros.

        Note that while *source_file* is provided to name the source
        of the input *text*, it should not be relied on to be an
        actual filename (it may be an application-specific, virtual
        path).

        The return type is a tuple ``(program, macros)``.
        """
