Еще одной забавной особенностью пролога является то, что парсер, написанный на DCG, может быть генератором.
Например
здесь грамматика Dot написана на DCG, казалось бы это парсер, а на самом деле это генератор текста на Dot.
Т.е. одна и та же грамматика может быть использована как для анализа, так и для синтеза. В реальной жизни такое редко получается, но, теоретически, это возможно.