Revision history for Perl extension Graph::Easy::Marpa.
1.09 Mon Jun 25 14:10:00 2012
- Handle HTML-style labels, even if they contain ';' chars, e.g. by using HTML entities such as <.
- Add matching test files data/node.(17, 18, 19).(raw, cooked). See also the demo page.
- Change the abstract slightly to mention we process Graphviz files in the Graph::Easy format.
- Expand the FAQ re HTML-style labels.
- Encode HTML entities when including the demos' source code in the demo page, because now demos can
contain HTML-like labels.
1.08 Sun Dec 25 10:33:00 2011
- Change <img... to <object...> in the demo creation code, to keep poor old FireFox happy.
- Change various things in html/graph.easy.index.tx to we validate as XHTML 1.0 Strict.
- Switch from Marpa::XS to Marpa::R2.
1.07 Wed Dec 14 13:29:00 2011
- Fix declaration of null_value for some rules, to stop heaps of warnings during testing and/or running gem.pl.
The messages you get look like: Zero length sequence for symbol without null value: "group_name",
if you don't have symbol descriptors declared for symbols whose value can be empty.
Search Graph::Easy::Marpa::Parser for 'symbols' to see what I had to do because group and node names can be empty.
- Update Build.PL and Makefile.PL to only require Marpa::XS V 0.026000 (not 0.108000), which is the latest as of today.
- Add a discussion of Marpa::PP to the FAQ, since I've tested it too.
1.06 Mon Aug 8 11:08:00 2011
- Improve home-grown validate.build.make.pl to include not just *.pm files, but also *.pl and *.t files, so as to find more dependencies.
- Add Capture::Tiny, File::Remove, File::Temp, Getopt::Long, List::Cycle, Pod::Usage and Text::Xlate to Build.PL and Makefile.PL.
- And yes I know, List::Cycle is not really needed (yet) :-).
- Patch the STT so that attribute definitions for classes can have leading spaces, as edge and node attribute definitions already could.
Eg: 'graph {rankdir: TB }' can now be 'graph { rankdir: TB}'. Note the new space in front of 'rankdir'.
1.05 Tue Aug 2 15:32:00 2011
- Add File::Slurp to Build.PL and Makefile.PL because its readdir() method is used in t/cooked.t and t/raw.t.
- Add http://metacpan.org/ link to html/graph.easy.index.tx, so it appears in html/index.html.
- Clean up confusion between demo output being png or svg. The demo files uploaded to my web site used to be png,
because one of the outputs (graph.15.*) was empty (for some reason) when svg is used.
But since svg files are smaller than png files, and everything works, svg is used again.
- Add DOCTYPE and Content-Type to html/graph.easy.index.tx, so that html/index.html validates as XHTML 1.0 Transitional.
1.04 Fri Jul 29 14:12:00 2011
- Make scripts/gem.pl pass rankdir thru to parser.
- Make scripts/generate.demo.sh pass image type thru to scripts/generate.demo.pl.
- Fix scripts/graph.easy.index.tx img src field patch which got lost with a git reset.
1.03 Sat Jul 23 16:36:00 2011
- Add Sort::Naturally to Build.PL and Makefile.PL, since it's used in t/*.t.
1.02 Thu Jul 21 13:37:00 2011
- Change colors so they're compatible with both the X11 and SVG color schemes.
- Require GraphViz2 V 1.09 to have access to output image formats such as png:gd etc.
1.01 Wed Jul 20 14:24:00 2011
- Remove the restriction that anonymous nodes had to have at least 1 space in their name.
1.00 Tue Jul 19 15:42:00 2011
- Implement subgraphs (i.e. groups), classes and subclasses. See the FAQ for notes on group attributes.
- Put a copy of the CSV version of the STT in the __DATA__ section of the lexer, to speed up reading it.
- Support the rankdir option for the graph as a whole.
- Support the directed option for the graph as a whole.
- In Graph::Easy::Marpa::Lexer, use the timeout feature to ensure the DFA does not loop forever.
- In Graph::Easy::Marpa::Lexer, make OpenOffice::OODoc optional, and only load it if the user specifies *.ods
for the STT file.
- In Graph::Easy::Marpa::Lexer, add verbose to the list of keys accepted by new().
- In Graph::Easy::Marpa::Renderer::GraphViz2, handle cases where the graph definition starts or ends with an edge,
or a daisy chain of edges.
- In Graph::Easy::Marpa, add a new section to the docs, Methods, where all public methods are documented.
These are the same as the parameters to new(), along with log() and run().
- In other modules, update the lists of keys acceptable to new(), and the corresponding method docs.
- Allow an object of type Graph::Easy::Marpa to pass a logger object to objects of type Graph::Easy::Marpa::Lexer
and of type Graph::Easy::Marpa::Parser, along with the corresponding values for maxlevel and minlevel.
- Use Date::Format to add a date stamp at the end of html/index.html, as output by generate.index.pl.
- Extend demo with data/edge.08.raw, which show various arrow heads, and many class and subgraphs samples too.
- Export the STT (cvs file) as data/default.stt.html. The version shipped with 0.91 was not up-to-date.
0.91 Wed Jun 29 11:41:00 2011
- Update pre-requisites. Set::FA 1.05 -> 1.06. Add File::Spec, File::Basename, GraphViz2.
0.90 Tue Jun 28 12:18:00 2011
- Allow spaces in graph definitions, by expanding the regexps in the state transition table.
- Add more sample data, as data/*.raw (for input to the lexer) and data/*.cooked (as output from the lexer
and input to the parser).
- Adopt Set::Array instead of manually managing some arrayrefs.
- Ensure all major methods (normally run() ) return 0 for success and 1 for failure, and that test code does too.
- Switch from Moose to Hash::FieldHash, to make the code more light-weight.
- Implement scripts/generate.index.pl to create a web page with embedded Graph::Easy files and corresponding *.svg files.
- Upload demo to http://savage.net.au/Perl-modules/html/graph.easy.marpa/index.html.
0.60 Sat May 14 11:16:00 2011
- Implement basic Graph::Easy::Marpa::Lexer to read raw Graph::Easy files.
- Change Graph::Easy::Marpa::Test.run() to test_parser(), and implement test_lexer().
- Change Graph::Easy::Marpa::Test to accept file name not file number.
- Add various test files in data/ and t/.
- Add scripts/graph.30.sh to show how to feed the lexer's output to the parser.
0.51 Wed Apr 27 10:46:00 2011
- Update pre-reqs.
0.50 Tue Apr 26 11:09:44 2011
- Original version