Jan 1, 1988
This Note describes a parsing system developed for the ROSIE programming language and loosely based on Tomita's algorithm for general context-free parsing. Tomita's algorithm is unique in that it defines a bottom-up parser that uses an extended left-to-right (LR) parse table. While this algorithm does no better than the theoretical time bound of other general context-free parsing algorithms, its use of parse tables eliminates a component common to these algorithms. This makes Tomita's algorithm efficient enough for practical application. The parsing system described in this Note has been implemented in LISP for distribution with the ROSIE programming language, which has a highly ambiguous English-like syntax. The Note describes an approach to disambiguation and code generation, as well as an algorithm for constructing the extended LR parse table.