What kind of grammars are logic programs