Bottom Up Parsing

The declarative reading of a logic grammar specifies the strings that are in the language generated by the grammar; the procedural reading of a logic grammar specifies how strings of the language are generated or analyzed. Up until now we have used a top-down (with respect to the parse tree) procedural reading for our logic grammars: grammar rules are compiled to Prolog clauses which analyze or generate sentences starting from the root of the parse tree. We will now describe another procedural interpretation of DCTGs which in fact constructs the parse tree from the bottom up. This is based on the work of Matsumoto et al. which is called “BUP: a bottom-up parser in Prolog.” One reason for considering bottom-up parsing is that top-down parsing prevents the use of left-recursive rules. The BUP parser allows the use of left-recursive rules, but is, however, unable to deal with rules with empty right hand sides. Another reason for considering bottom up parsing is that some scientists consider bottom up sentence recognition as more cognitively likely.