FUF: Functional Unification Formalism Interpreter

SURGE: A Syntactic Realization Grammar for Text Generation

This is the home page of the FUF and SURGE packages. FUF is an interpreter written in CommonLisp for a functional unification based language specifically designed to develop text generation applications. SURGE is a comprehensive generation grammar of English written in FUF.
FUF has been developed by Michael Elhadad. SURGE has been developed by Michael Elhadad and Jacques Robin.


The packages are available under the terms of the GPL.


SURGE requires FUF. FUF is written in Common Lisp. The interpreter should work on any Common-Lisp. It has been tested on Lucid Common Lisp versions 2 to 4.0 on Sun 386, Sun3, and Sun4s, DEC stations and HP workstations. Allegro Common Lisp has been tested on Sun3s and Sun4 (sparcstations) and on NeXt machines. Allegro Common Lisp has been tested on the Macintosh II and PC Windows version 2 and 3. (Contact me for specific instructions about the PC version.) Ibuki Common Lisp has been tested on Suns. FUF has also been tested under the POPLOG version of Common Lisp. It should really be compiled to work honestly. Tail recursion elimination must be enabled to produce best results.

What is in the package:

The FUF package contains:
  • Full Common Lisp source for the interpreter.
  • Complete documentation (200 page postscript user manual).
  • A tutorial on how to write generation grammars using FUF.
The SURGE package contains:
  • Full FUF source of the syntactic realization grammar.
  • Regression testing system with approx 500 examples of English sentences.

Obtaining the packages:

Related material

The following papers and dissertations contain in-depth descriptions of FUF/SURGE related material:
  • FUF Manual (155 pages, 172K ps gzip) (This is also included in the FUF distribution.)
  • Michael Elhadad & Jacques Robin. ``SURGE: a Comprehensive Plug-in Syntactic Realization Component for Text Generation'', submitted, (44 pages, 453K ps, 139K ps gzip)
  • An Overview of SURGE: A reusable comprehensive syntactic realization component, 10 pages, (dvi, ps gzip)
  • Floating constraints in Lexical Choice, Michael Elhadad, Kathleen McKeown and Jacques Robin, Computational Linguistics, June 1997, 44 pages, (ps, ps gzip)
  • Controlling Content Realization with Functional Unification Grammars, Michael Elhadad and Jacques Robin, in Aspects of Automated Natural Language Generation, R.Dale, E.Hovy, D.Rosner and O.Stock eds, Springer Verlag, 1992, pp89-104 (dvi, ps gzip)
  • Using argumentation to control lexical choice: a unification-based implementation, PhD thesis, Columbia University, Dept of Computer Science, 1993, ps gzipped (575K).
  • Revision-based generation of natural language summaries providing historical background: corpus-based analysis, design, implementation and evaluation. PhD thesis, Columbia University, Dept of Computer Science, 1994, ps gzipped (762K).
  • Y. Cohen and M. Elhadad, A LIFE implementation of a FUF interpreter, Technical report, 53 pages, Ben Gurion University, Dept. of Computer Science, 1994, dvi gzipped (30K) and source in LIFE.

Last modified Jul 30th, 1997 by Michael Elhadad