The Xerox Linguistic Environment (XLE) consists of cutting-edge algorithms for parsing and generating Lexical Functional Grammars (LFGs) along with a rich graphical user interface for writing and debugging such grammars.

It is the basis for the Parallel Grammar Consortium, which is interested in developing industrial-strength grammars.
Past and present efforts have included grammars for English, French, German, Hungarian, Indonesian, Japanese, Murrinh-Patha, Norwegian, Polish, Tigrinya, Turkish, Urdu, Welsh and Wolof.
XLE is written in C and uses Tcl/Tk for the user interface. It currently runs on Solaris Unix, Linux, and Mac OS X. Support for Windows is patchy.

One of the main goals of XLE is to parse and generate with LFGs efficiently. This is difficult because the LFG formalism, like most unification-based grammar formalisms, is NP complete. This means that in the worst case the time that it takes to parse or generate with an LFG is exponential in the length of the input.
However, natural languages are mostly context-free equivalent, and one should be able to parse them in mostly cubic time. XLE is designed to automatically take advantage of context-freeness in the grammar of a natural language so that it typically parses in cubic time and generates in linear time. This lets grammar writers write grammars in an expressive formalism without necessarily sacrificing performance.

To learn more about how XLE works, go through the XLE Documentation or read up on our special sections on Ambiguity Management and Robustness.