YYAST is a library which completes Lex and Yacc by adding an Abstract Syntax Tree (AST). It is designed so that you write as little as code as possible in the Lex and Yacc grammar files, so that it doesn't distract from the grammar of the language, and is intended to make it easier to use high level programming languages for compilers.
wiggle is A utility that applies conflicted patches intelligently. When 'patch' fails, wiggle often can succeed by ignoring changes to the original file that are not relevant to the patch. The result should always be reviewed, as wiggle cannot notice semantic changes that are important.