Revision history for Perl extension MarpaX::Demo::StringParser. 2.00 Thu Oct 9 17:39:00 2014 - Re-write the grammar for DASH (a wrapper around Graphviz's DOT), and also re-write the non-Marpa parsers for the strings with internal spaces. - Move the renderer from Graph::Easy::Marpa::Renderer::GraphViz2 into this module, and call it MarpaX::Demo::StringParser::Renderer. - Remove MarpaX::Demo::StringParser::Actions, since this new grammar relies exclusively on Marpa's event handling. - Delete Graph::Easy::Marpa from CPAN. - Re-write the docs, including a long explanation of the DASH language. - Change some of the examples. - Update the scripts, and add scripts/render.*. 1.10 Fri Sep 19 16:38:00 2014 - Clean up bareword file handles. - Re-generate the demo files. - Rename data/*.dot to data/*.gv, to match other Graphviz-oriented modules. This required patching my own ge2svg.pl, which is not shipped with any package. - Switch from Perl6::Slurp to File::Slurp, to reduce the # of external module I use in all my modules. 1.09 Fri Sep 19 09:15:00 2014 - Fix typo in repo in Build.PL. 1.08 Wed Sep 17 16:58:00 2014 - Update Build.PL and Makefile.PL re putting this package on github. - Replace the deprecated 'action_object' parameter to Marpa::R2::Scanless::G with the 'semantics_package' parameter to Marpa::R2::Scanless::R. 1.07 Sat Feb 22 17:44:00 2014 - Add 'lexeme default = latm => 1' to the grammar. - Make V 2.082 the minimum version for Marpa::R2. 1.06 Tue Jan 14 15:58:00 2014 - Fix a typo in one of the samples in the docs: Old: -> {label: Start} -> {color: red} [node.1] {color: green] -> [node.2] New: -> {label: Start} -> {color: red} [node.1] {color: green} -> [node.2] - Add data/graph.04.ge, which is just a combination of samples from the docs. - Add installation instructions to the docs. - Remove 'use open qw(:std :utf8)' and 'use charnames qw(:full :short)' from all modules. 'use open' is global (i.e. applies to /all/ modules), and I don't use any charnames. It does mean you have to use 'use open qw(:std :utf8)' in any scripts calling this code, if that's what you want to do. - Switch from bareword file handles to lexically-named file handles. This stop these types of msgs: Use of bareword filehandle in open at lib/MarpaX/Demo/StringParser.pm line 472. 1.05 Mon Jul 29 14:42:00 2013 - Simplify the code in Actions.pm. - Add Marpa's homepage to the FAQ. - Fix the description in the FAQ where it described the grammar parsed as a version of DOT when it's actually a version of Graph::Easy::Marpa. - Add data/edge.06.* and html/edge.06.svg to demonstrate juxtaposition of edges without spaces. - Patch MarpaX::Demo::StringParser::Utils to call get_files() from MarpaX::Demo::StringParser::Filer, now that that method has been shifted out of *::Utils. - Clean up the docs in various ways. 1.04 Fri Jul 26 09:47:00 2013 - Remove hard-coded temp dir name from t/ge2tokens.t, which was left over from testing the testing code. - Move sub edge() from Actions.pm into StringParser.pm, because it's never called by Marpa as an action. It was left in Actions.pm to simplify my switching back-and-forth between actions and pauses as I studied the behaviour of these 2 mechanisms. - Document that my usage of pauses is more of an intermediate/advanced usage rather than something for beginners. - Re-write docs where lexing and parsing is discussed, vis-a-vis the Marpa view of processing. This re-write also applies to the accompanying article mentioned in the docs. - Expand docs describing the methods. Some methods were not included in previous documentation. 1.03 Thu Jul 25 12:10:00 2013 - Remove Regexp::Common from being 'use'd by MarpaX::Demo::StringParser. It was not used. - Add File::Temp to the pre-reqs. 1.02 Wed Jul 24 13:05:00 2013 - Split Utils into Filer and Utils. The former does not use the config file. The test code used Utils, which loaded Config, which looked for a config file only installed on the authors PC. - Fix typo in die in sub process(): Was: Unexpected lexeme '$event_name' without a pause. Is: Unexpected lexeme '$lexeme_name' with a pause. 1.01 Tue Jul 23 17:52:00 2013 - Simplify the grammar and hence the code. 1.00 Mon Jul 15 09:22:00 2013 - Original version