This paper describes oops, an object-oriented parser generator implemented in Java . Oops takes a grammar written in EBNF, checks that it is indeed LL(1), i.e., suitable for recursive descent parsing, and produces a parser as a set of serialized objects. A scanner must be provided and classes satisfying certain interfaces can be implemented which the parser uses to build parse trees. The paper discusses the ideas behind oops — which are not specific to an implementation in Java — and shows the advantages of an object-oriented approach to grammar verification and parsing.
Department, Program, or Center
Center for Advancing the Study of CyberInfrastructure
Kuhl, Bernd and Schreiner, Axel-Tobias, "An Object-oriented LL(1) parser generator" (2000). ACM SIGPLAN Notices, Vol. 35 (No. 12),Accessed from
RIT – Main Campus