you could knock it up with pyBison and friends using GTKSourceView
I have not seen anything, but you could write a program to do this if you wanted. I would either port the source of Bison to a DSO such that you can load it and run your BNF through it and pull out the automata tables. Then attach the evalutation to a GTK-source-view textbox
-- or --
Create a frontend (GTKSourceView seems good again) and attach that to some system calls to write out your flex.c and bison.c and form some shared object output.so which is then loaded and unloaded into the app which you can then run some source through.
What I tend to do when developing a grammar is use pyBison and other high-level language tools to increase the speed of development. Then use C/Flex/Bison with by .l and .y files later. GTK should be really easy to use in Python to achieve the above without the need for DSOs and dlopen() fandango.
Quite similar to a Read-Eval-Print loop whereby the BNF and test syntax are in a loop with some backend D/NFA generators
some time later
I found this answering another question:
http://jscc.jmksf.com/jscc_on_web.png
It is a JavaScript Yacc/Bison-like tool for generating parsers in JavaScript. You could easily use this to debug your C grammars as they are all BNF anyway! I will sure use it.