Evaluates the given input and returns a string containing the
        actual filenames represented. If the input token represents multiple
        independent files, then eval will return a list of all the input files
        needed, otherwise it returns the filenames in a string.

def eval(self):
        """ Evaluates the given input and returns a string containing the
        actual filenames represented. If the input token represents multiple
        independent files, then eval will return a list of all the input files
        needed, otherwise it returns the filenames in a string.
        """
        if self.and_or == 'or':
            return [Input(self.alias, file, self.cwd, 'and')
                for file in self.files]
        return ' '.join(self.files)