The first parser generator I’ve worked with was Parse::RecDescent, and the guides/tutorials available for it were great, but the most useful feature it has was it’s debugging tools, specifically the tracing capabilities ( activated by setting $RD_TRACE to 1 ). I am looking for a parser generator that can help you debug it’s rules.
The thing is, it has to be written in Python or in Ruby, and have a verbose mode/trace mode or very helpful debugging techniques.
Does anyone know such a parser generator ?
Edit
When I said debugging, I wasn’t referring to debugging Python or Ruby. I was referring to debugging the parser generator, see what it’s doing at every step, see every char it’s reading, rules it’s trying to match.
Edit
I am seeking a parser generator framework, and an illustration of some of its debugging features. I’m not interested in pdb, but in parser’s debugging framework. Also, please don’t mention treetop. I’m not interested in it.
Python is a pretty easy language to debug. You can just do import pdb pdb.settrace().
However, these parser generators supposedly come with good debugging facilities.
http://www.antlr.org/
http://www.dabeaz.com/ply/
http://pyparsing.wikispaces.com/
In response to bounty
Here is PLY debugging in action.
Source Code
Output
Parse Table generated at parser.out