It started out that way because yacc was C-only. It could be switched to C++, but that’s a lot of work, so why bother? I enjoy programming in C.
Actually, both C and C++ are terrible languages for writing wrappers. More of a text-processing language would be far better. At Queen’s we were using Perl for wrapping… now hardly anyone likes perl, but it’s an awesome language for things like this.