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.
The libtld is used to extract the TLD from any URI from anywhere in the world. The library recognizes all TLDs, whatever the number of levels the TLD includes (i.e. .com has one, .au has up to 4 such as .schools.nsw.edu.au) this library will be capable of extracting it. The library is for C, C++, and PHP.