Flue is a Groovy library that allows specifying language grammatical rules by a fluent, elegant and clear EBNF-like DSL. When the grammar creation is run, it builds a data structure that represents the language, and allows studying and manipulating the language rules. Finally, Flue provides a collection of algorithms and tools that make optimizing, investigating and reviewing grammars easy. To test the capabilities of Flue, this work also included the implementation of the Java grammar with Flue, and a demonstration of some of Flue's tools and techniques on this grammar.
For further details, please refer to:
A local version of the full report in PDF format
The full report on the Open University website