The Generic Interpreter is used to produce compact standalone or embedded interpreters and compilers written in Java.
Nothing is preconstructed or generated as in most compiler construction tools.
A Language is specified on the fly, and source streams written in the language can be interpreted at any time, even as the language evolves. Language specifications are analyzed only when source streams are read and only to the extent the source stream and parsing method require. If you find an interesting use for the Generic Interpreter, I'd like to see it. A source character stream is interpreted by grabbing words into terminals according to the Lexicon , and parsing terminals into phrases according to the Grammar . Specifically, Lexicon.grab grabs the longest word matching an expression in the Lexicon , yielding the terminal that matches the word.