[comp.lang.misc] The Leif Language Oriented Editor

wsmith@uiucdcsm.UUCP (05/20/88)

Leif is a language oriented editor that has been just made available via
anonymous ftp from a.cs.uiuc.edu. 

Leif is based on an incremental parser.  A language for Leif is specified
with a lexical analyzer via Lex and an LALR(1) parser via Bison (which uses
the Yacc input format).  Editing of a program in Leif is done with GNU
Emacs. A minor mode adds commands to GNU Emacs to access the syntax
of the program.  Commands exist to locate errors, to display the legal
tokens at the cursor (i.e. the followset), and to highlight phrases in
the program being edited.  (See the Software Engineering Digest for a
more complete description of Leif.)

Of interest to comp.lang.misc is that Leif's language descriptions are
completely table driven.  It is possible to prototype an LALR grammar
for a language and very quickly have a language oriented editor for the
language.  The "legal tokens" command is also useful to help intermediate
students learn a language.   Language descriptions are provided for
Pascal, Ada, and a large subset of C.  

On a.cs.uiuc.edu, the files are located in the subdirectory pub/Leif.  The file
README.DIST describes the files located there to help select the files needed.
(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