Blame Changes

Packit 292bd0
Revision history for Perl extension Yapp.
Packit 292bd0
Packit 292bd0
	- original version; created by h2xs 1.18
Packit 292bd0
0.01  Thu Jun 25 20:02:09 1998
Packit 292bd0
0.02  Never released
Packit 292bd0
0.03  Never released
Packit 292bd0
0.04  Never released
Packit 292bd0
	- Fix installation of yapp.pl to $INST_SCRIPT
Packit 292bd0
	- $VERSION is now in Yapp/Driver to check compatibility
Packit 292bd0
	- Add debugging driver and debug option
Packit 292bd0
	- Bug in error recovery fixed: do not shift an $error reduction
Packit 292bd0
	- Add LeftValue, Curtok and Curval methods
Packit 292bd0
	- Add driver version compatibility check 
Packit 292bd0
0.05  Thu Jul 03 20:05:05 1998
Packit 292bd0
	- Add LeftValue, Curtok and Curval methods
Packit 292bd0
0.06  Tue Jul 07 20:36:17 GMT 1998
Packit 292bd0
    - Error token '$error' becomes 'error' (like in yacc)
Packit 292bd0
    - The '$end' token becomes ''
Packit 292bd0
0.07  Never released
Packit 292bd0
    - Default action become a separate entry in states hash
Packit 292bd0
    - $COMPATIBLE value changed to 0.08
Packit 292bd0
    - The grammar parser is now a Yapp parser module
Packit 292bd0
    - Comments can be either Perl (#...\n) or C /* ... */ style
Packit 292bd0
    - The parser accepts %type, %union and <type> constructs and
Packit 292bd0
      almost ignore them, except checking consistency between token
Packit 292bd0
      and non-terminal declarations (warnings)
Packit 292bd0
    - The parser now has error recovery and consistent error line numbers
Packit 292bd0
    - The parser now accepts "in rule" actions and generates pseudo
Packit 292bd0
      empty rules to reduce, named @x-y, where x is a sequential
Packit 292bd0
      number and y the 'dot position' in the rule for the driver
Packit 292bd0
      to know how many parameters to pass to semantic action sub
Packit 292bd0
    - Add "in rule" actions handling in Driver.pm
Packit 292bd0
    - Empty rhs need not be the first one anymore
Packit 292bd0
    - Warning if more than one empty rhs for a given lhs
Packit 292bd0
0.08  Fri Jul 10 22:04:31 GMT 1998
Packit 292bd0
    - Changed 'print STDERR' to 'warn' in parser.
Packit 292bd0
    - Use of literal 'error' produces a warning and is treated as
Packit 292bd0
      the error token
Packit 292bd0
    - Add prefix 'YY' before each parser object methods to avoid
Packit 292bd0
      clashes with user written methods
Packit 292bd0
    - Renamed YYUserData to YYData (shorter and more consistent with
Packit 292bd0
      other methods names)
Packit 292bd0
    - Renamed YYLeftVal to YYSemval for same reasons
Packit 292bd0
    - Modified Driver.pm so Semval(-n..n) reacts like $-n..$n in yacc
Packit 292bd0
0.09  Never released
Packit 292bd0
    - Changed test suite to 't/' style and add base tests for semantic
Packit 292bd0
      actions/values and associativity tests
Packit 292bd0
    - Check code to be (almost) Perl's -w compatible
Packit 292bd0
    - Updates to pod section in Yapp.pm reflecting most of those changes
Packit 292bd0
0.10  Mon Jul 13 20:53:40 GMT 1998
Packit 292bd0
    - Cosmetic changes
Packit 292bd0
0.11  Wed Jul 15 19:46:17 GMT 1998
Packit 292bd0
    - Renamed Yapp::Parse parameters with a leading yy
Packit 292bd0
    - Updated Yapp.pm pod section
Packit 292bd0
0.12  Tue Jul 21 22:34:00 GMT 1998
Packit 292bd0
0.13  Never released. (I'm not supersticious, but who knows...8-))
Packit 292bd0
    - Renaming to Parse::Yapp for better CPAN entry...
Packit 292bd0
0.14  Wed Jul 29 21:43:03 GMT 1998
Packit 292bd0
    - Doc change: empty token is '', not undef (perl -w complains otherwise)
Packit 292bd0
    - Bug in _ReduceGrammar: used $ruleno instead of $#{$grammar{RULES}}
Packit 292bd0
      making no-terminal pointing to wrong rhs if useless rules.
Packit 292bd0
0.15  Mon Aug 17 11:39:01 CEST 1998
Packit 292bd0
    - YappParse.yp modified to allow empty tail section (not even \n)
Packit 292bd0
    - YappParse.yp modified to diagnose lack of rules in grammar section
Packit 292bd0
    - Driver.pm has been modified so there is no performance impact at
Packit 292bd0
      loading when debugging is not used and to insure thread safety at
Packit 292bd0
      runtime
Packit 292bd0
    - Output.pm can now include driver code into the parser module to
Packit 292bd0
      make it 'standalone'
Packit 292bd0
    - Copyright notice in Driver has been changed to reflect its use
Packit 292bd0
      if included in a standalone parser
Packit 292bd0
    - A -s option has been added to yapp.pl to generate standalone parsers
Packit 292bd0
    - Usage in yapp.pl reflects this new option 
Packit 292bd0
    - Updated Yapp.pm pod to add Standalone Parsers item
Packit 292bd0
0.16  Sun Oct 25 12:36:05 CET 1998
Packit 292bd0
    - Output.pm modified not to use DATA handle, which seems broken on windows
Packit 292bd0
      systems when Parse::Yapp module is untarred and Output.pm hasn't its \n
Packit 292bd0
      converted to \r\n pairs.
Packit 292bd0
    - Added the %expect declaration, a la bison
Packit 292bd0
    - Updated Yapp.pm pod to reflect this new option
Packit 292bd0
    - The core of Parse::Yapp seems very stable now so I change the status from
Packit 292bd0
      alpha to beta and jump to version 0.20 directly.
Packit 292bd0
0.20  Sun Dec 20 16:13:21 CET 1998
Packit 292bd0
    - Added YYExpect method in Parse/Yapp/Driver.pm
Packit 292bd0
    - Updated Yapp.pm pod to reflect this new method
Packit 292bd0
    - Modified Makefile.PL for using current Parse::Yapp version if recompiling
Packit 292bd0
      Parse/Yapp/Parse.pm from YappParse.yp ( $(PERL) -I. )
Packit 292bd0
    - Modified yapp.pl to add -V option and make output default to final name
Packit 292bd0
      of package, if -m option is specified. Usage updated.
Packit 292bd0
    - Added missing $@ check after eval of debugging driver.
Packit 292bd0
0.21  Thu Dec 24 17:55:47 GMT 1998
Packit 292bd0
    - Corrected a weird bug in Lalr.pm (_SolveConflicts & _SetDefaults) about
Packit 292bd0
      shift/reduce conflicts on non-associative tokens
Packit 292bd0
    - Added a test in base.t to check non-associative conflicts and error
Packit 292bd0
      token handling
Packit 292bd0
    - Added some doc to explain YYExpect can include YYCurtok when non-associ-
Packit 292bd0
      ative errors happen
Packit 292bd0
0.22  Wed Mar 10 17:03:39 CET 1999
Packit 292bd0
    - Moved Parse path tree under lib to be conformant with standard Perl
Packit 292bd0
      modules distributions
Packit 292bd0
    - Added Parse::Yapp::Options class as parent of Parse::Yapp::Grammar
Packit 292bd0
      to handle various options.
Packit 292bd0
    - As the Output method is not really 'public' yet, it now takes its
Packit 292bd0
      arguments as hash list, like YYParse. Can break code of people not
Packit 292bd0
      using the yapp.pl front-end.
Packit 292bd0
      Of course, its arguments are handled by Parse::Yapp::Options
Packit 292bd0
    - Added #line "inputfile" trace in generated grammar by default for input
Packit 292bd0
      source line numbers (obvious reason for adding that :-).
Packit 292bd0
    - Added language, linenumbers, inputfile, classname, standalone and input
Packit 292bd0
      options which default to ( 'Perl', 1, undef, 'Parser', 0, undef )
Packit 292bd0
    - Modified yapp.pl for new parameter list
Packit 292bd0
    - Idem for t/base.t and t/calc.t
Packit 292bd0
    - Modified Grammar.pm so it uses linenumbers option to know it must output
Packit 292bd0
      line numbers and inputfile as the filename. If inputfile is undef, then
Packit 292bd0
      use 'unkown'.
Packit 292bd0
    - Added a new flag -n to yapp.pl to disable line numbers in parser output
Packit 292bd0
    - Renamed yapp.pl to yapp (bored of typing .pl)
Packit 292bd0
    - Wrote pod for yapp frontend (so now there's a man 1 page !)
Packit 292bd0
    - Added article in copyright notice when using the standalone parser option
Packit 292bd0
0.30 Sat Apr  3 15:36:58 CEST 1999
Packit 292bd0
    - Corrected a silly bug in yapp front-end, calling Output method with
Packit 292bd0
      inputfile parameter, which was already done with the constructor
Packit 292bd0
    - Change to yapp frontend so the F<*.output> file goes to the same
Packit 292bd0
      directory than the F<*.yp> source file
Packit 292bd0
    - Corrected Head method in Parse::Yapp::Grammar so it returns '' if there
Packit 292bd0
      is no header code, to avoid a warning with perl's -w switch
Packit 292bd0
    - Same for Tail method, so no line number is output if there is no trailer
Packit 292bd0
      code
Packit 292bd0
    - Corrected a bug in Grammar.pm, to make useful rules useless if their lhs
Packit 292bd0
      are not reachable.
Packit 292bd0
0.31 Fri May  7 21:06:32 CEST 1999
Packit 292bd0
    - Won some milliseconds in Driver.pm by not calling an anonymous sub if
Packit 292bd0
      there is no semantic action: just get the first semantic value as result
Packit 292bd0
    - Added a patch from Andy Wardley (thanks) which allow people to specify
Packit 292bd0
      their own template rather than the standard one from Output.pm
Packit 292bd0
    - Added option C<-b> to yapp to specify a 'shebang'. If value is an empty
Packit 292bd0
      string, $Config{perlpath} is used.
Packit 292bd0
1.00 Wed Oct 20 17:52:38 CEST 1999
Packit 292bd0
    - Corrected a bug in Options.pm to have it run with Perl 5.6.0 
Packit 292bd0
1.01 Tue Mar 28 18:50:19 CEST 2000
Packit 292bd0
    - In YappParse.yp, if declaring a token with %left/%right/%nonassoc and
Packit 292bd0
      later redefining it with token lost precedence/associativity. Now, it
Packit 292bd0
      emits a warning
Packit 292bd0
    - In Lalr.pm, _FirstSfx, incorrectly looped when epsilon was in firstset
Packit 292bd0
      instead of beeing nullable (this one was weird)
Packit 292bd0
    - In Driver.pm, check for a call to YYErrok after calling error routine
Packit 292bd0
      to abort error recovery and continue normal parsing 
Packit 292bd0
    - New method YYLexer added in Driver.pm, to get a reference to the lexer
Packit 292bd0
      routine
Packit 292bd0
    - In Driver.pm, $check variable was not always cleaned up
Packit 292bd0
1.02 Mon May  1 13:42:03 CEST 2000
Packit 292bd0
    - English corrections in README file (thanks to Donald Lancon)
Packit 292bd0
	- New email address
Packit 292bd0
	- Updated copyright boundaries
Packit 292bd0
	- Various cleanups in Grammar.pm and Lalr.pm
Packit 292bd0
1.03 Sun Nov  5 13:14:49 CEST 2000
Packit 292bd0
    - In Lalr.pm, _Preds, recursivity removed
Packit 292bd0
    - English corrections in Parse::Yapp pod section (thanks to Julian Trudy)
Packit 292bd0
	- Updated copyright boundaries
Packit 292bd0
    - Stress test added (compile and check a full C++ grammar)
Packit 292bd0
1.04 Mon Feb 12 16:46:37 CET 2001
Packit 292bd0
    - Bug correction in YappParse.yp _Lexer sub to accept '\\' literals
Packit 292bd0
      (Thanks to Denis Barbier to catch this one)
Packit 292bd0
1.05 Sun Nov  4 20:32:32 CET 2001
Packit 292bd0
1.06 Wed Jun 14 2017
Packit 292bd0
    - First Release In Over 15 Years, 
Packit 292bd0
      How's That For Long-Term Stability?!?  :-)
Packit 292bd0
    - Bug Fix, Unescaped Left Curly Braces { In Regular Expressions,
Packit 292bd0
      Fatal Since Perl v5.25.1, Minor Changes In YappParse.yp & Parse.pm
Packit 292bd0
    - Typo Fixes, POD Spelling & Syntax
Packit 292bd0
    - Copyright Assignment Documents, Desarmenien To Braswell
Packit 292bd0
1.20 Wed Jun 14 2017
Packit 292bd0
    - Bug Fix, CPAN Version Dependencies Failure, 
Packit 292bd0
      Enable Module Version In Parse::Yapp,
Packit 292bd0
      Not Just Distribution Version In Parse::Yapp::Driver
Packit 292bd0
    - Bump Version
Packit 292bd0
1.21 Fri Aug 04 2017
Packit 292bd0
    - Typo Fixes, POD Spelling (thanks to Gregor Herrmann)
Packit 292bd0
    - Bug Fix, Missing POD Encoding (thanks to Gregor Herrmann)
Packit 292bd0