code: def make_reber(n_words=100):
      """
      Generate list of words valid by Reber grammar.
  
      Parameters
      ----------
      n_words : int
          Number of reber words, defaults to ``100``.
  
      Returns
      -------
      list
          List of Reber words.
  
      Examples
      --------
      >>> from neupy.datasets import make_reber
      >>> make_reber(4)
      ['TPTXVS', 'VXXVS', 'TPPTS', 'TTXVPXXVS']
      """
      if n_words < 1:
          raise ValueError("Must be at least one word")
  
      words = []
      for i in range(n_words):
          position = 0
          word = []
  
          while position is not None:
              possible_letters = reber_rules[position]
              letter, position = choice(possible_letters)
              word.append(letter)
  
          words.append("".join(word))
      return words
  
imports: import math
  from random import choice, randint
  import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: make_reber(n_words) and returns: words