Disclaimer 1: I'm the other dev working on the project.
Disclaimer 2: This will be more of a pie in the sky design review than code review.
#Co-dev Hat
Co-dev Hat
It works, so I don't really care how it's implemented. (At least until I actually have to make some kind of change to it. Gods help me that may I never have to truly understand your parser. Not because it's bad, but because I haven't spent any time learning it.)
#Reviewer Hat
Reviewer Hat
 I would expect the CommendNodes to be part of the ParseTree. I understand why they're not. The grammar file you borrowed from another Open Source project didn't include comments. This is because that project was interested in executing VBA code. Therefore it, naturally, excluded them. Our project is different. We're interested in analyzing the code and this includes the comments. I feel like the technically right thing to do would be to modify the grammar file so that comments are parsed along with the rest of the language. At that point, implementing features based off of parsed comments becomes identical to implementing any other feature based off of parsed code. As it is, any features that need to know about both the code and the comments is likely to need special handling for each. That's double the work and double the chance to introduce a bug.
Now, is that worth the effort? I don't know yet. I haven't tried to modify the grammar file to pick up comments yet.
 
                