wsmith@uiucdcsm.cs.uiuc.edu (05/20/88)
The language oriented editor Leif is now available via anonymous ftp from a.cs.uiuc.edu. Leif is based on a recognition paradigm, unlike the Cornell Program Synthesizer or the Gandalf editors. A user of Leif edits the program with normal GNU Emacs commands (or using the VIP package, commands close to Vi). When needed, the user may make requests of an incremental parser about the text of the program. (These requests are universal in the sense that all constructs in the language are equally accessible via the language oriented commands.) Language oriented commands allow the user to locate syntax error, display legal tokens, and phrase selection commands that allow phrases to be selected as a highlighted region of text. Phrase selection commands resemble commands to move through the abstract syntax tree of other editors, except that they move through a simplified parse tree instead. (See the Software Engineering Digest for a more complete description of Leif.) Leif uses LALR(1) grammars and a lexical analyzer to specify a language. Leif is table driven so that no language dependent code exists in the Emacs lisp code or incremental parser. Language descriptions are included for Pascal, Ada and a large subset of C. A single Emacs session may edit in several languages in several different buffers. Leif may be obtained via anonymous ftp from a.cs.uiuc.edu in the subdirectory pub/Leif. The file README.DIST contains information to help decide which files to retrieve. Troff documentation is available in the file leif-doc.tar.Z . (If you are unable to access the files via ftp, please contact us.) Please send Leif related queries to ihnp4!uiucdcs!leif or leif@a.cs.uiuc.edu William Smith, Dan LaLiberte, Roy Campbell