@classmethod
def compile(cls, name, exp, configurator):
    description = exp.get('description')
    desc = exp.get('desc')
    data_file = (exp.get('data_file') or configurator.data_file)
    reporting = Reporting.compile(exp.get('reporting', {}), configurator.reporting, configurator.options, configurator.ui)
    run_details = ExpRunDetails.compile(exp, configurator.run_details)
    variables = ExpVariables.compile(exp, ExpVariables.empty())
    executions = exp.get('executions')
    suites = exp.get('suites')
    return Experiment(name, (description or desc), data_file, reporting, run_details, variables, configurator, executions, suites)
@classmethod
def compile(cls, name, exp, configurator):
    description = exp.get('description')
    desc = exp.get('desc')
    data_file = (exp.get('data_file') or configurator.data_file)
    reporting = Reporting.compile(exp.get('reporting', {}), configurator.reporting, configurator.options, configurator.ui)
    run_details = ExpRunDetails.compile(exp, configurator.run_details)
    variables = ExpVariables.compile(exp, ExpVariables.empty())
    executions = exp.get('executions')
    suites = exp.get('suites')
    return Experiment(name, (description or desc), data_file, reporting, run_details, variables, configurator, executions, suites)