code: def waznlike(word1, wazn):
      """If the  word1 is like a wazn (pattern),
      the letters must be equal,
      the wazn has FEH, AIN, LAM letters.
      this are as generic letters.
      The two words can be full vocalized, or partial vocalized
  
      @param word1: input word
      @type word1: unicode
      @param wazn: given word template  وزن
      @type wazn: unicode
      @return: if two words have similar vocalization
      @rtype: Boolean
      """
      stack1 = stack.Stack(word1)
      stack2 = stack.Stack(wazn)
      root = stack.Stack()
      last1 = stack1.pop()
      last2 = stack2.pop()
      vowels = HARAKAT
      while last1 != None and last2 != None:
          if last1 == last2 and last2 not in (FEH, AIN, LAM):
              last1 = stack1.pop()
              last2 = stack2.pop()
          elif last1 not in vowels and last2 in (FEH, AIN, LAM):
              root.push(last1)
              # ~ print "t"
              last1 = stack1.pop()
              last2 = stack2.pop()
          elif last1 in vowels and last2 not in vowels:
              last1 = stack1.pop()
          elif last1 not in vowels and last2 in vowels:
              last2 = stack2.pop()
          else:
              break
      # reverse the root letters
      root.items.reverse()
      # ~ print " the root is ", root.items#"".join(root.items)
      if not (stack1.is_empty() and stack2.is_empty()):
          return False
      else:
          return True
  
imports: import re
  from cltk.phonology.arb.utils.pyarabic import stack
label_desc: Use image node_id 41 for calling a global function with example usage: waznlike(word1, wazn) and returns: False, True