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.
This report is part of the RAND Corporation Note series. The note was a product of the RAND Corporation from 1979 to 1993 that reported other outputs of sponsored research for general distribution.
This document and trademark(s) contained herein are protected by law. This representation of RAND intellectual property is provided for noncommercial use only. Unauthorized posting of this publication online is prohibited; linking directly to this product page is encouraged. Permission is required from RAND to reproduce, or reuse in another form, any of its research documents for commercial purposes. For information on reprint and reuse permissions, please visit www.rand.org/pubs/permissions.
The RAND Corporation is a nonprofit institution that helps improve policy and decisionmaking through research and analysis. RAND's publications do not necessarily reflect the opinions of its research clients and sponsors.