oops — Discovering LL(1) through objects

Show full item record

Redirect: RIT Scholars content from RIT Digital Media Library has moved from http://ritdml.rit.edu/handle/1850/8276 to RIT Scholar Works http://scholarworks.rit.edu/other/83, please update your feeds & links!
Title: oops — Discovering LL(1) through objects
Author: Schreiner, Axel-Tobias; Heliotis, James
Abstract: A grammar is suitable for top-down recursive descent parsing if it is LL(1) [1]. Deriving the algorithm to test if a grammar is LL(1) usually involves inspection of a BNF version of the grammar, representing certain adjacency relations as matrices, and finally performing some subtle computations on the matrices. It is difficult to present the problem intuitively enough so that the algorithm can be discovered by students. oops [2,3] is an LL(1) parser generator that represents an EBNFbased grammar as a tree of objects that are observed as they recognize input. The objects are also able to test if the grammar is LL(1). Distributing the algorithm over several classes makes it simple enough to be discovered during a classroom presentation. This paper discusses the new architecture of oops and the LL(1) checking and parsing algorithms and defines some extensions to EBNF which simplify some sticky language definition problems but are very simple to implement using inheritance.
Description: Poster given at the OOPSLA Educator Symposium in October 2008.
Record URI: http://hdl.handle.net/1850/8276
Date: 2006

Files in this item

Files Size Format View
AShreinerSymposium10-2006.pdf 392.1Kb PDF View/Open

The following license files are associated with this item:

This item appears in the following Collection(s)

Show full item record

Search RIT DML

Advanced Search