Done, and also received feedback already! Here's the bug report: https://rt.cpan.org/Ticket/Display.html?id=39323
And here's the solution I was seeking, based on demo/demo_errors.pl:
use strict; use Data::Dumper; use Parse::RecDescent; # Simple Lisp S-expressions (as an example) my $grammar = q# start: expression(s?) | { die join("\n", map { $_->[0] } @{ $thisparser->{errors} } +)."\n" } expression: /\w+/ | '(' expression(s?) ')' { $item[2] } | <error> #; my $p = Parse::RecDescent->new($grammar); # This will die if there is an error. print Dumper($p->start('(foo (bar))')); # Like so: $p->start('(foo');
--
say "Just Another Perl Hacker";
In reply to Re^5: How to grab Parse::RecDescent error output in a variable?
by vrk
in thread How to grab Parse::RecDescent error output in a variable?
by vrk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |