'This is a getter method for the target dictionary
that handles defaulting based on the values provided by default,
front-end, and back-end. This can be overwritten
by a subclass for which we want to provide further aliasing options.'

def target(self, name):

    if (name == 'default_target'):
        name = self.default
    elif ((name == 'frontend') or (name == 'fe')):
        name = self.front_end
    elif ((name == 'backend') or (name == 'be')):
        name = self.back_end
    return self.targets.get(name, None)
