在测试基于复杂数据结构的程序时,需要用到上下文无关语言句子的枚举。基于上下文无关语言按推导树高度的分层构造,提出了句子的反向自然枚举算法。通过堆、层、簇和长方体将句子划分为有穷集合序列,该算法的时间效率为,是被枚举句子的长度。实验数据表明,该算法是高效的,且应用更加便利。