Xref: utzoo comp.object:669 comp.lang.pascal:2891 Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mit-eddie!bloom-beacon!eru!luth!sunic!enea!helios!kim From: kim@helios.enea.se (Kim Wald`n) Newsgroups: comp.object,comp.lang.pascal Subject: Re: lexical scan, parsing Message-ID: Date: 5 Jan 90 10:34:41 GMT References: <801@tuewsd.lso.win.tue.nl> Sender: kim@enea.se Organization: Enea Data AB, Sweden Lines: 20 In-reply-to: wsinpp@lso.win.tue.nl's message of 3 Jan 90 11:21:09 GMT Try "The Eiffel Object-Oriented Parsing Library" by Philip Hucklesby and Bertrand Meyer in proc. Technology of Object-Oriented Languages and Systems (TOOLS'89), pp. 501-507, Paris, France, Nov. 1989. The article describes a library of classes for lexical analysis and parsing, along with a tool, yoocc ("Yes! and Object-Oriented Compiler Compiler), making it possible to generate parsers, where the syntactic and semantic parts are cleanly separated. Unlike other parser generators (notably yacc), it permits reusing the same syntactic analysis for different purposes like compiling, extracting for documentation, pretty-printing etc., only adding new classes for different semantic actions. For most object-oriented languages, the complex inheritance structures needed to achieve this flexibility prevents its use in production quality compilers, due to bad performance. In the strongly typed Eiffel language, it becomes feasible thanks to the efficient implementation of multiple inheritance and dynamic bindning. -- Kim Walden Enea Data, Sweden kim@enea.se