Tutorial Announcement  
Coling 2000 Tutorial Announcement
Description What do grammars mean? When are two grammars equivalent? When is it safe to replace one grammar by another? How can two grammars be combined to form a larger one? And why should I care, if all I want is to develop a broadcoverage grammar of some natural language? This tutorial discusses some of the mathematical and computational properties of formal grammars by applying wellestablished results from the semantics of programming languages to linguistic formalisms. A wellfounded semantics for formal grammars is a prerequisite for providing good solutions for practical problems of grammar engineering such as grammar composition, modular design, separate and incremental compilation etc. We will focus on the simplest linguistic formalism, contextfree grammars, but will show that many of the results hold for unificationbased grammars as well. We will start with mostly theoretical infrastructure. Two major ways of defining grammar semantics will be presented: operational and denotational. We will discuss certain mathematical properties of the semantic definitions, their advantages and drawbacks. Then, we will define compositionality and full abstraction, two desirable properties for any semantic definition. We will show a semantics that has these two properties: this will set the stage for a discussion of grammar composition and grammar modules. The tutorial will end with a survey of practical applications of grammar semantics in grammar engineering, although fewer results and more open questions will be presented.



