Natural Language Computing: An English Generative Grammar in Prolog