我们展示了如何使用双向语法在受控自然语言中指定和描述答案集程序。我们从受控自然语言中的程序规范开始,并将该规范自动转换为可执行的答案集程序。生成的答案集程序可以按照某些命名约定进行修改,然后程序的修订版本可以用用作规范语言的自然语言的同一子集进行表述。双向语法被参数化以进行处理和生成,处理引用表达式,并在需要复制语法规则时利用语法规则数据结构中的对称性。我们证明,为了聚合相似的结构,以提高生成规范的可读性,描述需要句子规划。如果不进行修改,生成的规范在语义上始终与原始规范等效;我们的双向语法是第一个允许在受控自然语言处理上下文中进行语义循环的语法。