So, the tokenizer's done, and the parser's code is written but not tested. The standard testing system included with NetBeans is JUnit. JUnit is a better way to try out code than the usual thing where you write different versions of main() (in C) and run the program.
I've taken to the habit of writing some code as a test, with print statements, verifying the result, and then pasting the output back into the code to check the result. It's tautological, so, if I don't check it quite right, I'm freezing a bug into the system.
The problem I'm having is that the test code invariably produces a bunch of objects, linked together into a whole. How do you test that this structure matches what you expect? You can't.
So, what I do instead is write toString() methods that serialize the objects. That way I can print the object out as a string, and compare it to what I expect.
My only worry is that this isn't how JUnit tests should be written. Maybe it's too "old school". I have to get a book about this topic.
There's a lot of "stuff" in the Java world - zillions of books about zillions of programs in the toolchain, and each book is very long.