Ox is an attribute grammar compiling system that augments Lex and Yacc specifications with definitions of synthesized and inherited attributes written in a combination of Ox and C/C++ syntax. From these augmented specifications, Ox generates ordinary Lex and Yacc specifications that build and decorate attributed parse trees.
The user can specify parse-tree traversals for easy ordering of side effects such as code generation.
Provides C preprocessor macros for easily creating enums, foreach loops, switch-cases etc. based on data tables.
Usage of these macros enforces good programming style by avoiding spreading of information throughout the code.
Only for GCC at the moment, sorry. Maybe Clang ... not tested.
Framework for application development, consisting of a persistant object framework, object notification, central property/attribute management, reporting, automatic display generation etc.