There’s only so far that you can go with a recursive-descent parsing solution, and, unfortunately, it isn’t very far at all. It is not your only alternative, nor is it necessarily the best one if the language that you need to process becomes complicated. Don't be “in a hurry” to change your approach, of course, but don't be afraid to, either. If you find your program becoming complicated in structure, just because the language is, that ought to be a warning-flag to you. Just keep your eyes open and continue to use your best judgment.