Marpa::Doc::To_Do - Marpa's To Do List
Add symbol & rule ranker tests to code_diag.t.
Add a test for cycle_scale & cycle_rules.
On ambiguous grammars, it may optimize to save values of reset bocage nodes from the first reset, and simply copy them back in on subsequent resets. In particular for the sorted choices. Note this optimizes only to the degree the user wants multiple parses, or else require multiple interations to get the parse she wants.
After MDL is factored out, and stripping & cloning is fully functional, create a matrix of tests of valid grammars vs. their result. Matrix is
grammars X inputs X clone grammar X clone recognizer X strip grammar X strip recognizer
Do just one or two inputs per grammar.
Add optimizations when max_parses <= 1 For example, no need to prune duplicate parses
Add MAX_COUNT for rules. Implement on one of left- and right- recursion only. No immediate need for both.
Add a SYNOPSIS to the Plumbing document.
When rereading Internals doc, check if parse bocage creation can probably be made cleaner.
Make sure that nulling symbols can never be terminals
Add a trace_choices option? There was an option to trace non-trivial evaluation choices in the old evaluator, and the trace_tasks doesn't entirely replace it.
Add a show_derivation option.
Allow call to show_tree before first call to value? Should it cause an error message? How about after unsuccessful call to value?
show_tree
value
MDLex currently does not sort terminals by priority. This means terminal priorities are totally unused. Change this?
MDL is EOL'd.
In the MDL grammar, concatenate_lines is called uselessly in a number of places. Eliminate this, for efficiency's sake?
bin/mdl in parsing equation.marpa (which is used for many examples in the author.t/Makefile) takes a final return and parses past it, but does not fail.
The return is NOT in the grammar. What happens is that the call to ::text() is not recognized as a failure, and then the evaluator looks at the last successful parse.
What to do here? It should be failing, probably. And does the current behavior of the evaluator, (taking the default end as FURTHEST_EARLEME) set the user up for spurious successes.
MDLex and MDL will know about Marpa, but not vice versa.
I should assume that anyone explicitly using separate recognizer and evaluator stages knows what they are doing. On the other hand, just because they are using the plumbing interface does not mean they want to know about the recognizer/evaluator distinction. When I revise the documentation, I should think accordingly.
See the support section in the main module.
Jeffrey Kegler
Copyright 2007 - 2009 Jeffrey Kegler
This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0.
To install Marpa::UrHTML, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Marpa::UrHTML
CPAN shell
perl -MCPAN -e shell install Marpa::UrHTML
For more information on module installation, please visit the detailed CPAN module installation guide.