Normal form nested programs are an extension of disjunctive logic programs with variables in which rule heads are formulas in disjunctive normal form made of atoms, and in which the rule bodies are formulas in conjunctive normal form made of literals [Bibliography].
The system nfn2dlp has been implemented using Ruby and the parsing expression grammar language Treetop.