Here is a discussion thread of Exegesis 5 http://www.perl.com/pub/a/2002/08/22/exegesis5.html at http://developers.slashdot.org/developers/02/08/23/1232230.shtml?tid=145 But the signal/noise is too low, with side tracks into Monty Python etc.
In section "Smarter alternatives" there is this code: { @$appendline =~ s/<in_marker>/</; I think this needs a backslash in front of the < symbol, and a space after in_marker, i.e. it should be: { @$appendline =~ s/<in_marker>/\<<sp>/; That a small issue. But the following is more important because it strikes at the ease of using inheritance of grammars (i.e. patterns). In http://www.perl.com/pub/a/2002/08/22/exegesis5.html?page=5#different_diffs we see the code: rule fileinfo { <out_marker><3> $oldfile:=(\S+) $olddate:=[\h* (\N+?) \h*?] \n <in_marker><3> $newfile:=(\S+) $newdate:=[\h* (\N+?) \h*?] \n } .... rule out_marker { \+ <sp> } rule in_marker { - <sp> } The <sp> means a single literal space. So I think <out_marker><3> means look for "+ + + " rather than "+++" which is what is really needed to match a Unified diff. Similarly for <in_marker><3> Or am I missing something? If these are bugs, then what would be the best way to fix the code while retaining as much reuse as possible. Hopefully helpfully yours, Steve -- Steven Tolkin [EMAIL PROTECTED] 617-563-0516 Fidelity Investments 82 Devonshire St. V8D Boston MA 02109 There is nothing so practical as a good theory. Comments are by me, not Fidelity Investments, its subsidiaries or affiliates.