in reply to
Block-structured language parsing using a Perl module?
If you asked if any one of the CPAN modules could be used to parse a full-featured block-structured language, then the answer is Yes, and here are two that could do it. As for Perl being the basis for a complete language compiler/interpreter or just parser, I am not aware of any. Generally when you are looking at a parser you are in fact looking at the whole shebang: compiler, interpreter, runtime. There are numerous complete compiler and interpreter construction toolkits already available which will get you much closer, much faster, to that complete goal, and to be platform-independent as a freebie.
And, parenthetically, what I said is no idle boast, and the code that did it is proprietary now. I would love to share it if I could, because to be quite honest I didn’t think Perl could do it. Meanwhile: You have “long skills” in certain pursuits, which I have quickly learned to respect and not to question, and I have long skills in others. This happens to be one of them.
Now, let’s just stay on-topic here. These parsers are very robust and they will give you excellent performance although not on par with Bison. They can furthermore be programmed to winnow-through source code (as I did) through their exception-handling and error-recovery features, which are very robust. Their tight integration with Perl (being in one case “pure Perl”) is a tremendous boost. But I would not choose to build a complete language system in it.