Revision history for Perl extension Parse::Stallion.
0.50
EVAL can take more than just a function.
Leaf can take parenthesized regex'es and use first to set value,
got rid of remove_white_space.
Changed parameters to creating a parser, replaced
rules_to_set_up_hash parameter by having it be first parameter.
Changed paramters to parse_and_evaluate, object to be parsed is
its own parameter.
Changed parse_info to a hash passed in instead of using wantarray
context. This seems more consistent with other programming langauges.
0.4
Removed internal function calls to make faster.
Ensured that default evaluation routines on empty string
will return empty string instead of a undefined value.
0.3
Fix UNEVAL if given no subroutine
Removed CSVFH.pm
Fixed parse_match in unevaluation routine.
code rewritten to speed up parses
changed MATCH_MIN_FIRST() to string parameter of MULTIPLE
NON_STRING_LEAF removed, can be handled by LEAF
0.2
leaf rules have their own forward and backtrack subroutines
backtrack subroutine can end a parse
leaf can have display (for Parse::Stallion::EBNF)
error messages on bad rules
0.11
fixed name in description of module
0.1
additions to the documentation on parsing during evaluation
able to set up parser if grammar rules ref is the parameter to new
leaf rules specificied within other rules as only a Regexp (qr)
fixed finding start_rule if not specified
set default output of stringify
internal changes as to how parameters are passed to evaluation routines
which_parameters_are_arrays now returns 0/1 instead of scalar/array
added Parse::Stallion::EBNF
replaced pvalue with more functionality of parse_match
removed regex_not_match option in leaf, documented how to use
do_evaluation_in_parsing as substitute
removed parse_failed result (parse_succeeded is enough)
removed backtrack_can_change_value (not needed)
removed end_of_parse as a function
0.04
multiple rules can now take lists as arguments instead of just one subrule
the total number of subrules and how many times each subrule appears
is controllable
reduced number of methods, now only new and parse_and_evaluate
internal data structure changes for rule types, simplifying code
start_rule can be determined automatically
parse_and_evaluate can take single string as argument (or ref)
and will return the resultant evaluation; if in array reference
the parse info will also be returned
more complicated notation to define rules not allowed
removed scan arrays
documented parse_function, display_value_function
0.03
allowed 'eval' to be an abbreviation for 'evaluation'
multiple rule now has option match_min_first
fixed error in case of parsing during evaluation, if multiple
rule fails with no children.
allow more than one parser at a time, notably when
evaluating during parsing is on, the code can call another parser
0.02
by default white space is not removed from the value passed to
a leaf's rule evaluation. the parameter remove_white_space has
been added to handle this. evaluation during/after parsing
was inconsistent before.
rules_to_set_up_hash parameter now sorted so rules are
created in a consistent order.
0.01
evaluation can now occur during parsing, replacing
on_start, on_match, and on_unmatch
example directory
parse returns trace of each step
optional rule one letter abbreviation changed from p to z
optional rule also allows naming of zero_or_one
mutliple rules' minimum handling fixed
fixed CSV.pm to handle white space
not croak when a parse fails
0.009 Multiple rules can now have named-subrules when defining
them. Demonstrated in Parse::Stallion::CSV.
Minor changes to the documentation.
Parse::Stallion::CSV was corrected to handle
quotes and the documentation for it was expanded.
0.008 Modified test script date_with_no_end_string.t to handle different operating
systems that have different localtimes
0.007 Modified test script date_parsing.t to handle different operating
systems that have different localtimes?
0.006 Modified test script date_parsing.t to handle different operating
systems that apparently have a different epoch.
0.005 Originally released version.