I will characterize a language as a relation between `form' and `meaning'. In the case of spoken natural languages, the `form' consists of `sound'. Understanding a language means to be able to assign meaning to utterances from that language; speaking a language means to be able to produce the appropriate utterances of that language for a given meaning. In grammars, `form' and `meaning' need to be represented in some way or other. A grammar represents the meaning and sound between which it defines a relation, by some sort of representation. To represent natural language utterances, a grammar may define phonological representations. The denotation of these phonological representations are utterances. In current computational linguistic practice, such representations often simply take the form of a list of words, i.e. written language is used to represent spoken language. Given that written language is so common in our culture no problem arises here. If one is interested in spoken language, however, the relation between written and spoken language should be defined as well (or rather the relation between spoken language and the phonological representations).
On the other hand, there is much less agreement as to what the `meaning' of natural language utterances is, and how that meaning should be represented. In a model theoretic view on meaning, the meaning of utterances is represented by logical formulas. The interpretation of these formulas then constitute (model-theoretic) meaning. However, what kind of logic is needed to describe meanings of natural language is a matter of debate. I will not take part in this debate, but abstract away from the details of the choice of natural language semantics. The assumption I will make is that such logical formulas (semantic representations) can be described by feature structures. In order to provide for some exemplification, I will use simple semantic structures, which are defined in subsection 1.2.3.