parsley can create parsers for custom grammars and yield parse-trees for any
given input. The parsers generated by parsley are a variant of LR parsers.
I'm very open to suggestions regarding the description of this package since I don't want to be very technical but then again the description looks too generic.