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.

Reply via email to