Within the field of logic programming there have been numerous attempts to transform grammars into logic programs. This book describes a complementary approach that views logic programs as grammars and shows how this new presentation of the foundations of logic programming, based on the notion of proof trees, can enrich the field. The authors' approach facilitates discussion of grammatical aspects of, and introduces new kinds of semantics for, definite programs. They survey relevant grammatical formalisms and provide a comprehensive introduction to the well-known attribute grammars and van Wijngaarden grammars. A formal comparison of definite programs to these grammars allows the authors to identify interesting grammatical concepts. The book also includes a presentation of verification methods for definite programs derived from verification methods for attribute grammars, and an analysis of the occur-check problem as an example of how the grammatical view of logic programming can be applied. Pierre Deransart is Research Director at I.N.R.I.A.-Rocquencourt, Le Chesnay Cedex, France. Jan Maluszynski is Professor in the Department of Computer and Information Science at Linköping University, Preliminaries. Foundations. Grammatical Extensions of Logic Programs. Attribute Grammars. Attribute Grammars and Logic Programming. Proof Methods. Study of Declarative Properties. The Occur-check Problem.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.