Index of sample files created by GraphViz2 V 2.02

# Index of sample files created by GraphViz2 V 2.02.

All scripts and input files required to generate these examples are shipped in the GraphViz2 distro's html/ dir. Output files are in there too.

Input file # 1 - scripts/Heawood.pl: | 1 - Demonstrates the transitive 6-net, also known as Heawood's graph.
Input file # 2 - scripts/anonymous.pl: | 2 - Demonstrates empty strings for node names and labels.
Input file # 3 - scripts/cluster.pl: | 3 - Demonstrates a cluster - with a bug. See the TODO in the POD.
Input file # 4 - scripts/dbi.schema.pl: | 4 - Demonstrates graphing a database schema.
Input file # 5 - scripts/dependency.pl: | 5 - Demonstrates graphing an Algorithm::Dependency object.
Input file # 6 - scripts/html.labels.pl: | 6 - Demonstrates a 3-node graph, with colors, HTML labels and ports.
Input file # 7 - scripts/jointed.edges.pl: | 7 - Demonstrates Y-shaped edges between 3 nodes.
Input file # 8 - scripts/macro.1.pl: | 8 - Demonstrates non-cluster subgraphs via a macro.
Input file # 9 - scripts/macro.2.pl: | 9 - Demonstrates linked non-cluster subgraphs via a macro.
Input file # 10 - scripts/macro.3.pl: | 10 - Demonstrates cluster subgraphs via a macro.
Input file # 11 - scripts/macro.4.pl: | 11 - Demonstrates linked cluster subgraphs via a macro.
Input file # 12 - scripts/macro.5.pl: | 12 - Demonstrates compound cluster subgraphs via a macro.
Input file # 13 - scripts/parse.data.pl: | 13 - Demonstrates graphing a Perl data structure.
Input file # 14 - scripts/parse.html.pl:
<html>
<head>
<title>Title of document</title>
</head>
<body>
<h1>Heading 1</h1>
<p>Paragraph 1</p>
</body>
</html>
| 14 - Demonstrates using XML::Bare to parse HTML.
Input file # 15 - scripts/parse.isa.pl: | 15 - Demonstrates graphing a Perl class hierarchy.
Input file # 16 - scripts/parse.marpa.pl:
{ # Graph stuff.
lhs => 'graph_definition',
rhs => [qw/graph_sequence/],
},
{
lhs => 'graph_sequence', # 1 of 2.
rhs => [qw/node_definition/],
},
{
lhs => 'graph_sequence', # 2 of 2.
rhs => [qw/graph_sequence edge_definition node_definition/],
},
{ # Node stuff.
lhs => 'node_definition',
rhs => [qw/node_sequence/],
min => 0,
},
{
lhs => 'node_sequence', # 1 of 2.
rhs => [qw/node_statement/],
},
{
lhs => 'node_statement',
rhs => [qw/start_node node_name end_node attr_definition/],
},
{
lhs => 'node_sequence', # 2 of 2.
rhs => [qw/node_statement daisy_chain/],
},
{
lhs => 'start_node',
rhs => [qw/left_bracket/],
action => 'start_node',
},
{
lhs => 'node_name',
rhs => [qw/node_name_id/],
min => 0,
action => 'node_name_id',
},
{
lhs => 'end_node',
rhs => [qw/right_bracket/],
action => 'end_node',
},
{ # Attribute stuff.
lhs => 'attr_definition',
rhs => [qw/attr_statement/],
min => 0,
},
{
lhs => 'attr_statement',
rhs => [qw/start_attribute attr_sequence end_attribute/],
},
{
lhs => 'start_attribute',
rhs => [qw/left_brace/],
action => 'start_attribute',
},
{
lhs => 'attr_sequence',
rhs => [qw/attr_declaration/],
min => 1,
},
{
lhs => 'attr_declaration',
rhs => [qw/attr_name colon attr_value attr_terminator/],
},
{
lhs => 'attr_name',
rhs => [qw/attr_name_id/],
min => 1,
action => 'attr_name_id',
},
{
lhs => 'attr_value',
rhs => [qw/attr_value_id/],
min => 1,
action => 'attr_value_id',
},
{
lhs => 'attr_terminator',
rhs => [qw/semi_colon/],
min => 1,
},
{
lhs => 'end_attribute',
rhs => [qw/right_brace/],
action => 'end_attribute',
},
{ # Edge stuff.
lhs => 'edge_definition',
rhs => [qw/edge_name attr_definition/],
},
{
lhs => 'edge_name',
rhs => [qw/edge_id/],
action => 'edge_id',
},
| 16 - Demonstrates graphing a Marpa grammar.
Input file # 17 - scripts/parse.recdescent.pl:
test1: "(" 'the' "$::first" /te+st/ is ('easy')(s?)
{ "[$item[3]|$item[4]|$item[5]|" .
join(':', @{$item[6]}) .
']' }
is: 'is' | 'are'
#================================================================#
test2: <matchrule:$arg{article}>
<matchrule:$arg[3]>[$arg{sound}]
the: 'the'
a: 'a'
cat: <reject: $arg[0] ne 'meows'> 'cat'
{ "fluffy" }
| { "not fluffy" }
dog: 'dog'
{ "rover" }
#================================================================#
test3: (defn | typedef | fail)(5..10)
{ join ', ', @{$item[1]}; }
typedef: 'type' id 'is' typename ';'
{ $return = "$item[0]=>$item[2]";
$thisparser->Extend("typename: '$item[2]'"); }
fail: { 'baddef' }
defn: 'var' id 'holds' typename ';'
{ "$item[0]=>$item[2]" }
id: /[a-z] # LEADING ALPHABETIC
\w* # FOLLOWED BY ALPHAS, DIGITS, OR UNDERSCORES
/ix # CASE INSENSITIVE
typename: 'int'
#================================================================#
test4: 'a' b /c/
{ "$itempos[1]{offset}{from}:$itempos[2]{offset}{from}:$itempos[3]{offset}{from}" }
b: "b"
#================================================================#
test5: ...!name notname | name
notname: /[a-z]\w*/i { 'notname' }
name: 'fred' { 'name' }
#================================================================#
test6: <rulevar: $test6 = 1>
test6: 'a' <commit> 'b' <uncommit> 'c' <reject: $test6 && $text>
{ 'prod 1' }
| 'a'
{ 'prod 2' }
| <uncommit>
{ 'prod 3' }
#================================================================#
test7: 'x' <resync> /y+/
{ $return = $item[3] }
| 17 - Demonstrates graphing a Parse::RecDescent-style grammar.
Input file # 18 - scripts/parse.regexp.pl: | 18 - Demonstrates graphing a Perl regular expression.
Input file # 19 - scripts/parse.stt.pl:
['foo', 'b', 'bar'],
['foo', '.', 'foo'],
['bar', 'a', 'foo'],
['bar', 'b', 'bar'],
['bar', 'c', 'baz'],
['baz', '.', 'baz'],
| 19 - Demonstrates graphing a Set::FA::Element's state transition table.
Input file # 20 - scripts/parse.xml.bare.pl:
<person>
<name>
<given_name>Ron</given_name>
<surname>Savage</surname>
</name>
<address>
<country>Australia</country>
<state>Victoria</state>
<city>
<locality>Murrumbeena</locality>
<postcode>3163</postcode>
</city>
</address>
</person>
| 20 - Demonstrates using XML::Bare to parse XML.
Input file # 21 - scripts/parse.xml.pp.pl:
<person>
<name>
<given_name>Ron</given_name>
<surname>Savage</surname>
</name>
<address>
<country>Australia</country>
<state>Victoria</state>
<city>
<locality>Murrumbeena</locality>
<postcode>3163</postcode>
</city>
</address>
</person>
| 21 - Demonstrates using XML::Tiny to parse XML.
Input file # 22 - scripts/parse.yacc.pl:
0 $accept : list $end
1 list :
2 | list stat '\n'
3 | list error '\n'
4 stat : expr
5 | LETTER '=' expr
6 expr : '(' expr ')'
7 | expr '+' expr
8 | expr '-' expr
9 | expr '*' expr
10 | expr '/' expr
11 | expr '%' expr
12 | expr '&' expr
13 | expr '|' expr
14 | '-' expr
15 | LETTER
16 | number
17 number : DIGIT
18 | number DIGIT
state 0
$accept : . list $end (0)
list : . (1)
. reduce 1
list goto 1
state 1
$accept : list . $end (0)
list : list . stat '\n' (2)
list : list . error '\n' (3)
$end accept
error shift 2
DIGIT shift 3
LETTER shift 4
'-' shift 5
'(' shift 6
. error
stat goto 7
expr goto 8
number goto 9
state 2
list : list error . '\n' (3)
'\n' shift 10
. error
state 3
number : DIGIT . (17)
. reduce 17
state 4
stat : LETTER . '=' expr (5)
expr : LETTER . (15)
'=' shift 11
'|' reduce 15
'&' reduce 15
'+' reduce 15
'-' reduce 15
'*' reduce 15
'/' reduce 15
'%' reduce 15
'\n' reduce 15
state 5
expr : '-' . expr (14)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 13
number goto 9
state 6
expr : '(' . expr ')' (6)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 14
number goto 9
state 7
list : list stat . '\n' (2)
'\n' shift 15
. error
state 8
stat : expr . (4)
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
'|' shift 16
'&' shift 17
'+' shift 18
'-' shift 19
'*' shift 20
'/' shift 21
'%' shift 22
'\n' reduce 4
state 9
expr : number . (16)
number : number . DIGIT (18)
DIGIT shift 23
'|' reduce 16
'&' reduce 16
'+' reduce 16
'-' reduce 16
'*' reduce 16
'/' reduce 16
'%' reduce 16
'\n' reduce 16
')' reduce 16
state 10
list : list error '\n' . (3)
. reduce 3
state 11
stat : LETTER '=' . expr (5)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 24
number goto 9
state 12
expr : LETTER . (15)
. reduce 15
state 13
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
expr : '-' expr . (14)
. reduce 14
state 14
expr : '(' expr . ')' (6)
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
'|' shift 16
'&' shift 17
'+' shift 18
'-' shift 19
'*' shift 20
'/' shift 21
'%' shift 22
')' shift 25
. error
state 15
list : list stat '\n' . (2)
. reduce 2
state 16
expr : expr '|' . expr (13)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 26
number goto 9
state 17
expr : expr '&' . expr (12)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 27
number goto 9
state 18
expr : expr '+' . expr (7)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 28
number goto 9
state 19
expr : expr '-' . expr (8)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 29
number goto 9
state 20
expr : expr '*' . expr (9)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 30
number goto 9
state 21
expr : expr '/' . expr (10)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 31
number goto 9
state 22
expr : expr '%' . expr (11)
DIGIT shift 3
LETTER shift 12
'-' shift 5
'(' shift 6
. error
expr goto 32
number goto 9
state 23
number : number DIGIT . (18)
. reduce 18
state 24
stat : LETTER '=' expr . (5)
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
'|' shift 16
'&' shift 17
'+' shift 18
'-' shift 19
'*' shift 20
'/' shift 21
'%' shift 22
'\n' reduce 5
state 25
expr : '(' expr ')' . (6)
. reduce 6
state 26
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
expr : expr '|' expr . (13)
'&' shift 17
'+' shift 18
'-' shift 19
'*' shift 20
'/' shift 21
'%' shift 22
'|' reduce 13
'\n' reduce 13
')' reduce 13
state 27
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr '&' expr . (12)
expr : expr . '|' expr (13)
'+' shift 18
'-' shift 19
'*' shift 20
'/' shift 21
'%' shift 22
'|' reduce 12
'&' reduce 12
'\n' reduce 12
')' reduce 12
state 28
expr : expr . '+' expr (7)
expr : expr '+' expr . (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
'*' shift 20
'/' shift 21
'%' shift 22
'|' reduce 7
'&' reduce 7
'+' reduce 7
'-' reduce 7
'\n' reduce 7
')' reduce 7
state 29
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr '-' expr . (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
'*' shift 20
'/' shift 21
'%' shift 22
'|' reduce 8
'&' reduce 8
'+' reduce 8
'-' reduce 8
'\n' reduce 8
')' reduce 8
state 30
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr '*' expr . (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
. reduce 9
state 31
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr '/' expr . (10)
expr : expr . '%' expr (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
. reduce 10
state 32
expr : expr . '+' expr (7)
expr : expr . '-' expr (8)
expr : expr . '*' expr (9)
expr : expr . '/' expr (10)
expr : expr . '%' expr (11)
expr : expr '%' expr . (11)
expr : expr . '&' expr (12)
expr : expr . '|' expr (13)
. reduce 11
16 terminals, 5 nonterminals
19 grammar rules, 33 states
| 22 - Demonstrates graphing a byacc-style grammar.
Input file # 23 - scripts/parse.yapp.pl:
Conflicts:
----------
Conflict in state 11 between rule 13 and token '-' resolved as reduce.
Conflict in state 11 between rule 13 and token '^' resolved as shift.
Conflict in state 11 between rule 13 and token '*' resolved as reduce.
Conflict in state 11 between rule 13 and token '+' resolved as reduce.
Conflict in state 11 between rule 13 and token '/' resolved as reduce.
Conflict in state 21 between rule 10 and token '-' resolved as reduce.
Conflict in state 21 between rule 10 and token '^' resolved as shift.
Conflict in state 21 between rule 10 and token '*' resolved as shift.
Conflict in state 21 between rule 10 and token '+' resolved as reduce.
Conflict in state 21 between rule 10 and token '/' resolved as shift.
Conflict in state 22 between rule 9 and token '-' resolved as reduce.
Conflict in state 22 between rule 9 and token '^' resolved as shift.
Conflict in state 22 between rule 9 and token '*' resolved as shift.
Conflict in state 22 between rule 9 and token '+' resolved as reduce.
Conflict in state 22 between rule 9 and token '/' resolved as shift.
Conflict in state 23 between rule 12 and token '-' resolved as reduce.
Conflict in state 23 between rule 12 and token '^' resolved as shift.
Conflict in state 23 between rule 12 and token '*' resolved as reduce.
Conflict in state 23 between rule 12 and token '+' resolved as reduce.
Conflict in state 23 between rule 12 and token '/' resolved as reduce.
Conflict in state 24 between rule 14 and token '-' resolved as reduce.
Conflict in state 24 between rule 14 and token '^' resolved as shift.
Conflict in state 24 between rule 14 and token '*' resolved as reduce.
Conflict in state 24 between rule 14 and token '+' resolved as reduce.
Conflict in state 24 between rule 14 and token '/' resolved as reduce.
Conflict in state 25 between rule 11 and token '-' resolved as reduce.
Conflict in state 25 between rule 11 and token '^' resolved as shift.
Conflict in state 25 between rule 11 and token '*' resolved as reduce.
Conflict in state 25 between rule 11 and token '+' resolved as reduce.
Conflict in state 25 between rule 11 and token '/' resolved as reduce.
Conflict in state 27 between rule 8 and token '-' resolved as shift.
Conflict in state 27 between rule 8 and token '^' resolved as shift.
Conflict in state 27 between rule 8 and token '*' resolved as shift.
Conflict in state 27 between rule 8 and token '+' resolved as shift.
Conflict in state 27 between rule 8 and token '/' resolved as shift.
Rules:
------
0: $start -> input $end
1: input -> /* empty */
2: input -> input line
3: line -> '\n'
4: line -> exp '\n'
5: line -> error '\n'
6: exp -> NUM
7: exp -> VAR
8: exp -> VAR '=' exp
9: exp -> exp '+' exp
10: exp -> exp '-' exp
11: exp -> exp '*' exp
12: exp -> exp '/' exp
13: exp -> '-' exp
14: exp -> exp '^' exp
15: exp -> '(' exp ')'
States:
-------
State 0:
$start -> . input $end (Rule 0)
$default reduce using rule 1 (input)
input go to state 1
State 1:
$start -> input . $end (Rule 0)
input -> input . line (Rule 2)
$end shift, and go to state 4
'(' shift, and go to state 7
'-' shift, and go to state 2
'\n' shift, and go to state 5
NUM shift, and go to state 6
VAR shift, and go to state 8
error shift, and go to state 9
exp go to state 3
line go to state 10
State 2:
exp -> '-' . exp (Rule 13)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 11
State 3:
line -> exp . '\n' (Rule 4)
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
'*' shift, and go to state 17
'+' shift, and go to state 13
'-' shift, and go to state 12
'/' shift, and go to state 15
'\n' shift, and go to state 14
'^' shift, and go to state 16
State 4:
$start -> input $end . (Rule 0)
$default accept
State 5:
line -> '\n' . (Rule 3)
$default reduce using rule 3 (line)
State 6:
exp -> NUM . (Rule 6)
$default reduce using rule 6 (exp)
State 7:
exp -> '(' . exp ')' (Rule 15)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 18
State 8:
exp -> VAR . (Rule 7)
exp -> VAR . '=' exp (Rule 8)
'=' shift, and go to state 19
$default reduce using rule 7 (exp)
State 9:
line -> error . '\n' (Rule 5)
'\n' shift, and go to state 20
State 10:
input -> input line . (Rule 2)
$default reduce using rule 2 (input)
State 11:
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> '-' exp . (Rule 13)
exp -> exp . '^' exp (Rule 14)
'^' shift, and go to state 16
$default reduce using rule 13 (exp)
State 12:
exp -> exp '-' . exp (Rule 10)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 21
State 13:
exp -> exp '+' . exp (Rule 9)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 22
State 14:
line -> exp '\n' . (Rule 4)
$default reduce using rule 4 (line)
State 15:
exp -> exp '/' . exp (Rule 12)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 23
State 16:
exp -> exp '^' . exp (Rule 14)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 24
State 17:
exp -> exp '*' . exp (Rule 11)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 25
State 18:
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
exp -> '(' exp . ')' (Rule 15)
')' shift, and go to state 26
'*' shift, and go to state 17
'+' shift, and go to state 13
'-' shift, and go to state 12
'/' shift, and go to state 15
'^' shift, and go to state 16
State 19:
exp -> VAR '=' . exp (Rule 8)
'(' shift, and go to state 7
'-' shift, and go to state 2
NUM shift, and go to state 6
VAR shift, and go to state 8
exp go to state 27
State 20:
line -> error '\n' . (Rule 5)
$default reduce using rule 5 (line)
State 21:
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp '-' exp . (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
'*' shift, and go to state 17
'/' shift, and go to state 15
'^' shift, and go to state 16
$default reduce using rule 10 (exp)
State 22:
exp -> exp . '+' exp (Rule 9)
exp -> exp '+' exp . (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
'*' shift, and go to state 17
'/' shift, and go to state 15
'^' shift, and go to state 16
$default reduce using rule 9 (exp)
State 23:
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp '/' exp . (Rule 12)
exp -> exp . '^' exp (Rule 14)
'^' shift, and go to state 16
$default reduce using rule 12 (exp)
State 24:
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
exp -> exp '^' exp . (Rule 14)
'^' shift, and go to state 16
$default reduce using rule 14 (exp)
State 25:
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp '*' exp . (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
'^' shift, and go to state 16
$default reduce using rule 11 (exp)
State 26:
exp -> '(' exp ')' . (Rule 15)
$default reduce using rule 15 (exp)
State 27:
exp -> VAR '=' exp . (Rule 8)
exp -> exp . '+' exp (Rule 9)
exp -> exp . '-' exp (Rule 10)
exp -> exp . '*' exp (Rule 11)
exp -> exp . '/' exp (Rule 12)
exp -> exp . '^' exp (Rule 14)
'*' shift, and go to state 17
'+' shift, and go to state 13
'-' shift, and go to state 12
'/' shift, and go to state 15
'^' shift, and go to state 16
$default reduce using rule 8 (exp)
Summary:
--------
Number of rules : 16
Number of terminals : 14
Number of non-terminals : 4
Number of states : 28
| 23 - Demonstrates graphing a yapp-style grammar.
Input file # 24 - scripts/quote.pl: | 24 - Demonstrates (1) newlines and double-quotes in node names and labels, (2) justification - with a Graphviz bug.
Input file # 25 - scripts/sub.graph.pl: | 25 - Demonstrates a subgraph (with a frame because the subgroup is called cluster_*).
Input file # 26 - scripts/sub.sub.graph.pl: | 26 - Demonstrates a subsubgraph.
Input file # 27 - scripts/trivial.pl: | 27 - Demonstrates a trivial 3-node graph, with colors.
Input file # 28 - scripts/utf8.pl: | 28 - Demonstrates utf8 chars in labels.
Input file # 29 - scripts/utf8.test.pl: | 29 - Demonstrates utf8 chars in labels.

Last updated: 2012-04-19 12:57:44.