Revision history for Parse-Gnaw 0.20 2008-11-16 First version, released on an unsuspecting world. Took the package "Gnaw" and renamed it "Parse::Gnaw". Massive rewrite to a state-machine based design. Massive changes to reduce the amount of text used to define grammmars. Still need to do some major work on text markers so they're more stable. Currently have some problems when we try something like get(sub{print'x'}, a('alice', 'bob')) This is a BETA release. 0.24 2008-11-20 Recoded the markers so that they are unique elements in the text linked list. adding a marker inserts a new element into the linked list. This allows different functions to keep their markers as needed. Finally got the "get" function working for complex grammars with many "get" calls. Created a "c" function which is a "capture" function. It is a simplified version of "get" in that the user does not have to provide a variable. 0.26 2008-11-20 changed the "get" function so that callbacks can return a string and the return string will be used to replace the original text. return undef and no text will be changed. Created a "modify" top level function which is like "match", but with the write protect turned off. if "get" changes the text, "modify" will write the new text back to the original variable. Created a generic callback taht will receive committed text. set it to undef to do nothing. Set it to a callback that will append committed text to a variable. Could eventually create a callback that will take text and write it to a file or something. added a subroutine which will flush uncommitted text to the above mentioned subroutine so that the text after the matched portion still gets into the variable. created a "swap" function which looks like perls =~s/// function. Basically "swap" is a wrapper that uses modify and get to implement its functionality. Added some more tests and updated the POD. 0.29 2008-11-29 add the "flush" and "sip" functions to get/put text from/to a file or stream or whatever. Keep cleaning up POD. Need to implement remaining functionality in the "not implemented" list. 0.30 2008-11-29 plus add the "bb" and "BB" instructions to detect word boundaries. added test to verify 'bb' instruction. passes. 0.31 2008-11-30 add the "end" function (end of text position assertion). add the "az" function (equivalent to =~ m/\A ... \Z/) add large chunks of text to the "extensions" section in POD. Hopefully extensions are explained sufficiently that folks can create their own without too many questions. 0.34 2008-12-03 The "noskip" function has been implemented. It was coded to be a generic function really to handle any kind of "skip" function we want. The "noskip" function was really an extension of this generic function. 0.36 2008-12-05 add the "skipnow" function. works now. rename the "identifier" function to "id" function. Add the "token" function. Add some more tests. 0.40 2009-01-07 add slideshow directory