4 Towards a Modular Architecture

In this chapter, we will re-package our grammar and lexicon such that we arrive at a modular framework of semantics construction. Later on, we will be experimenting with various semantic construction techniques differing from -calculus.. Incorporating these changes, and keeping track of what is going on, requires a disciplined approach towards grammar design. So we will take the opportunity and get to know some basic principles of software engineering on the way. That is, we will re-structure our program such that it is:

Modular:

Each component should have a clear role to play and a clean interface with the other components.

Extensible:

The grammar should be easy to upgrade, should the need arise.

Reusable:

We should be able to reuse a significant portion of the grammar, even when we change the underlying representation language.

Sticking to these simple principles, we will build an overall framework that will serve us unchanged throughout the rest of this course.



Aljoscha Burchardt, Stephan Walter, Alexander Koller, Michael Kohlhase, Patrick Blackburn and Johan Bos
Version 1.2.5 (20030212)