My idea is really simple. Just have a front end where you can type in
your grammar (with syntax highlighting) and have it parse a test-input
string before you generate the final parser code; during this
simulated test-parse, you can set breakpoints in the input string and
observe the series of shifts and reductions on the stack and the
various state transitions. You can experiment with various sequences
of input tokens and play around with the grammar / language
specification before you finalize them;
The fact that this is self-contained and modular
is a VIRTUE. There is no need to apologize for it!