MINIEXP/MINILISP ---------------- Files <miniexp.h> and <miniexp.cpp> in directory <djvulibre-3.5/libdjvu/miniexp.h> implement the basic data structure of a lisp interpreter: s-expressions. S-expressions can be viewed as a simple and powerful alternative to XML. They are used in DjVu to handle annotations. Both the decoding api <ddjvuapi.h> and program <djvused> use s-expressions to describe the hidden text information and the navigation information (bookmarks.) Comments in file <miniexp.h> describe which s-expressions are supported, how they are represented in text files, and which functions are available to handle them. During the development of <miniexp.h> and <miniexp.cpp> it appeared that the best way to test s-expressions was to make the last step and program a complete lisp interpreter. This also makes a perfect example of using <miniexp.h>. The core interpreter is in file <minilisp.cpp>. Startup definitions are in file <minilisp.in>. Just type <make> to compile it. Exercise: speed up the interpreter by accelerating the function lookup(). - Leon Bottou, September 2005