dryad is a work-in-progress library with useful data structures for compiler ASTs. It is currently highly unstable, not ready for production use, and does not support anything other than a gcc/clang.
It is developed for my clauf C compiler development: https://github.com/foonathan/clauf.