Index of sample files created by MarpaX::Demo::StringParser

# Index of sample files created by MarpaX::Demo::StringParser V <: $version :>.

This demo was created as part of my article Conditional preservation of whitespace when parsing with Marpa::R2.

More-or-less all the coding effort has gone into the problem of handling the various quoting rules (below).

I'm currently (2013-07-19) using Marpa::R2 V 2.064000.

Almost all the scripts, input files and output files required to generate these examples are shipped in the MarpaX::Demo::StringParser distro.

The missing script uses Graph::Easy::Marpa::Renderer::GraphViz2 V 2.00 (unreleased), and is omitted to simplify the pre-reqs list. It can be downloaded from here.

Herewith a brief summary of the syntax.
This syntax is a cut-down version of Graphviz's DOT language.
Some sample data might not be acceptable to Graphviz. If it is, there will be an image on the right-hand-side.

Element | Syntax
--- | ---
Edge names | Either '->' or '--'.
Node names | 1: Delimited by '[' and ']'. 2: May be quoted with " or '. 3: Escaped characters, using '\', are allowed. 4: Internal spaces in node names are preserved even if not quoted.
Both edges and nodes can have attributes.
Attributes | 1: Delimited by '{' and '}'. 2: Within that, any number of "key : value" pairs separated by ';'. 3: Values may be quoted with " or ' or '<...>' or '<<table>...</table>>'. 4: Escaped characters, using '\', are allowed. 5: Internal spaces in attribute values are preserved even if not quoted.

:for $data -> $row {
Input file # <: $row.count :> - <: $row.input :>: <: $row.ge :> | <: $row.title :> Output file # <: $row.count :> - <: $row.output :>
:}

### Links

## Index page for all graph module demos

### Environment

: include "fancy.table.tx" { data => $environment };