def pprint(self, tab_cnt=0):
    if self.syntax == 'RegexTok' or self.syntax == 'ConstTok':
      st = '  ' * tab_cnt + self.syntax + '('
      _, p1 = self.children[0]
      _, p2 = self.children[1]
      _, direct = self.children[2]
      name = p1.value
      st += '%s, %d, %s)' % (name, p2.value, direct.value)
      print(st)
      return
    st = '  ' * tab_cnt + self.get_name()
    print(st)
    for _, c in self.children:
      c.pprint(tab_cnt=tab_cnt + 1)