5.2 Bottom-up Recognition/Parsing

The primary job of a parser/recognizer is to determine whether a sequence of terminal categories can be generated by the rules of the grammar. Bottom-up parsing is based on the idea of applying rules in reverse: i. e. given a rule -> C1 ... Cn, we can replace by C any sequence of categories matching C1 ... Cn. This is a non-deterministic process (choice of rule, choice of subsequence) which we can iterate. If by repeated applications of rules in reverse, we can arrive at a sequence of length 1 containing a single category C, we have recognized C.

Let's illustrate the process on the sequence john sees the man. Given (lexical) rules recognizing the terminals:

        PN  -> john
        VT  -> sees
        DET -> the
        N   -> man

the sequence can be rewriten PN VT DET N. Then we can recognize the two noun phrases:

        NP  -> DET N
        NP  -> PN

obtaining NP VT NP. Then the verb phrase:

        VP  -> VT NP

obtaining NP VP. And finally a whole sentence:

        S   -> NP VP

Arriving at the singleton sequence S. Thus, we have recognized S.



Denys Duchier, Claire Gardent and Joachim Niehren
Version 1.3.99 (20050412)