Suggested Readings
The Prolog Language
Blackburn, Patrick, Johan Bos, Kristina Striegnitz. Learn Prolog Now! College Publications (June 15, 2006)
Bratko, Ivan. Prolog Programming for Artificial Intelligence. Pearson Education Canada; 4th edition (August 31, 2011)
Clocksin, W.F., C.S. Mellish. Programming in Prolog: Using the ISO Standard. Springer; 5th edition (September 10, 2003)
Covington, Michael, Donald Nute, Andre Vellino. Prolog Programming in Depth. Prentice Hall; 1 edition (May 31, 1996)
Giannesini, Francis, Henry Kanoui, Robert Pasero, Michel van Caneghem. Prolog. Reading: Addison-Wesley, 1986.
O'Keefe, Richard. The Craft of Prolog. The MIT Press (December 7, 2009)
Rogers, Jean B. A Prolog Primer. Reading: Addison-Wesley, 1986.
Sterling, Leon, Ehud Shapiro. The Art of Prolog, Second Edition: Advanced Programming Techniques (Logic Programming). The MIT Press; 2 edition (March 10, 1994)
Logic Programming and Language Implementation
Campbell, J.A., ed. Implementations of Prolog. New York: John Wiley & Sons, 1984.
Canegnem, Michel van, David H.D. Warren. Logic Programming and Its Applications. Norwood, New Jersey: Ablex Publishing, 1986.
Clark, K.L., S.-A. Tarnlund, eds. Logic Programming. New York: Academic Press, 1982.
Favero, E.L. The simple and powerful yfx operator precedence parser. Software Practice and Experience 2007;37:1451–1474 http://logic.cse.unt.edu/tarau/teaching/ProgLang/2009/yfx_operator.pdf
Kowalski, Robert. Logic for Problem Solving. New York: Elsevier North Holland, 1979.
Mishkin, Frederic. Warren's Abstract Machine: A Tutorial Reconstruction (Logic Programming). The MIT Press (August 12, 1991)
DCGs and Natural Language
Colmerauer, A., Metamorphosis grammars, in: L. Bolc (Ed.), Natural Language Communication with Computers. New York: Springer, 1978.
Covington, Michael A. Natural Language Processing for Prolog Programmers. Englewood Cliffs: Prentice Hall, 1993.
Dahl, V., Some experiences on natural language question-answering systems, Preprints of the International Workshop on Logic and Data Bases, CERT, Toulouse, 1977.
Dahl, V and P. Saint-Dizier, eds. Natural Language Understanding and Logic Programming. Amsterdam: Elsevier Science Publishers B.V., 1985.
Kowalski, R.A., Logic for Problem Solving. North-Holland,Amsterdam, 1979.
Mellish, C.S. Computer Interpretation of Natural Language Descriptions. New York: John Wiley & Sons, 1985.
Pereira, F. and Warren, D.H.D., "Definite clause grammars for language analysis - a survey of the formalism and a comparison with augmented transition networks." Artificial Intelligence, 13 (1980) 231-278.