input: Write a function to print the top 5 most frequent words in a given sentence. To implement this function, the sentence needs to be split into individual words, and then the words should be counted and the top 5 most frequent ones should be identified.
  
  For the sentence: "Python is an interpreted, high-level, general-purpose programming language.", the output should be:
  
   
  [('Python', 1), ('is', 1), ('an', 1), ('interpreted,', 1), ('high-level,', 1)]
  
  However, since 'interpreted,' and 'high-level,' contain commas, it is common to strip punctuation for proper word frequency counting. If the sentence is cleaned to "Python is an interpreted high-level general-purpose programming language", the output should be:
  
  
  [('is', 1), ('an', 1), ('interpreted', 1), ('high-level', 1), ('general-purpose', 1)]
  
  Based on these considerations, the function should split the sentence, optionally clean it from punctuation, count the word frequencies, and return the top 5 most frequent words. Implement a function that takes a sentence (string) as input and prints the top 5 most frequent words, considering the possibility of needing punctuation removal.
  
  Here is the function requirement:
  Write a function to print the top 5 most frequent words in a given cleaned sentence (punctuation-free). The function should take a sentence (string) as input and print a list of tuples, each tuple containing a word and its frequency.
  
  Here are some example test cases:
  
  
  # Input sentence to test the function:
  sentence = "Python is an interpreted high-level general-purpose programming language"
  
  # Function invocation
  top_5_freq_words(sentence)
  
  # Expected output:
  # [('is', 1), ('an', 1), ('interpreted', 1), ('high-level', 1), ('general-purpose', 1)]
  
  
  Do not forget that the function should handle an empty string correctly, where if the input sentence is an empty string, it should print an empty list indicating no words to analyze.
output: def top_5_freq_words(sentence):
      if not sentence:
          print([])
          return
      
      words = sentence.split()
      freq = {}
      for word in words:
          if word in freq:
              freq[word] += 1
          else:
              freq[word] = 1
      
      sorted_freq = sorted(freq.items(), key=lambda item: item[1], reverse=True)
      top_5 = sorted_freq[:5]
      print(top_5)