bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

dot: also use a dot in the output


From: Akim Demaille
Subject: dot: also use a dot in the output
Date: Fri, 3 Jul 2020 07:12:35 +0200

commit d7f7fcd9c7ca64d312196b081aa09def3a518979
Author: Akim Demaille <akim.demaille@gmail.com>
Date:   Fri Jul 3 06:36:50 2020 +0200

    dot: also use a dot in the output
    
    * src/print-graph.c (print_core): Use a dot instead of a point.
    * doc/figs/example-reduce.gv, doc/figs/example-reduce.txt,
    * doc/figs/example-shift.gv, doc/figs/example-shift.txt,
    * doc/figs/example.gv: Update.
    * tests/output.at, tests/report.at: Adjust.

diff --git a/doc/figs/example-reduce.gv b/doc/figs/example-reduce.gv
index fdd99c5d..d71a9d6e 100644
--- a/doc/figs/example-reduce.gv
+++ b/doc/figs/example-reduce.gv
@@ -3,7 +3,7 @@ digraph "reduce.y"
   node [fontname=courier shape=box]
   edge [fontname=courier]
 
-  1 [label="State 1\n  3 a: \"0\" .  [\".\"]\l  4 b: \"0\" .  [\";\"]\l"]
+  1 [label="State 1\n  3 a: \"0\" •  [\".\"]\l  4 b: \"0\" •  [\";\"]\l"]
   1 -> "1R3" [label="" style=solid]
  "1R3" [style=filled shape=diamond fillcolor=yellowgreen label="R3"]
   1 -> "1R4" [label="[\";\"]" style=solid]
diff --git a/doc/figs/example-reduce.txt b/doc/figs/example-reduce.txt
index d4e8219f..ab4a839d 100644
--- a/doc/figs/example-reduce.txt
+++ b/doc/figs/example-reduce.txt
@@ -1,7 +1,7 @@
        .------------------.
        |     State 1      |
-       | 3 a: "0" . [";"] |
-       | 4 b: "0" . ["."] |
+       | 3 a: "0" • [";"] |
+       | 4 b: "0" • ["."] |
        `------------------'
              /     \
             /       \ ["."]
diff --git a/doc/figs/example-shift.gv b/doc/figs/example-shift.gv
index 995ba0e4..df8369f3 100644
--- a/doc/figs/example-shift.gv
+++ b/doc/figs/example-shift.gv
@@ -3,7 +3,7 @@ digraph "shift.y"
   node [fontname=courier shape=box]
   edge [fontname=courier]
 
-  3 [label="State 3\n  1 exp: a . \".\"\l"]
+  3 [label="State 3\n  1 exp: a • \".\"\l"]
   3 -> 6 [style=solid label="\".\""]
-  6 [label="State 6\n  1 exp: a \".\" .\l"]
+  6 [label="State 6\n  1 exp: a \".\" •\l"]
 }
diff --git a/doc/figs/example-shift.txt b/doc/figs/example-shift.txt
index 43b14122..4ff9be80 100644
--- a/doc/figs/example-shift.txt
+++ b/doc/figs/example-shift.txt
@@ -1,6 +1,6 @@
 .----------------.
 |    State 3     |
-| 1 exp: a . ";" |
+| 1 exp: a • ";" |
 `----------------'
         |
         | ";"
@@ -8,5 +8,5 @@
         v
 .----------------.
 |    State 6     |
-| 1 exp: a ";" . |
+| 1 exp: a ";" • |
 `----------------'
diff --git a/doc/figs/example.gv b/doc/figs/example.gv
index 47122928..fe2866e2 100644
--- a/doc/figs/example.gv
+++ b/doc/figs/example.gv
@@ -7,29 +7,29 @@ digraph "example.y"
   node [fontname = courier, shape = box, colorscheme = paired6]
   edge [fontname = courier]
 
-  0 [label="State 0\n\l  0 $accept: . exp $end\l  1 exp: . a \";\"\l  2    | . 
b \".\"\l  3 a: . \"0\"\l  4 b: . \"0\"\l"]
+  0 [label="State 0\n\l  0 $accept: • exp $end\l  1 exp: • a \";\"\l  2    | • 
b \".\"\l  3 a: • \"0\"\l  4 b: • \"0\"\l"]
   0 -> 1 [style=solid label="\"0\""]
   0 -> 2 [style=dashed label="exp"]
   0 -> 3 [style=dashed label="a"]
   0 -> 4 [style=dashed label="b"]
-  1 [label="State 1\n\l  3 a: \"0\" .  [\";\"]\l  4 b: \"0\" .  [\".\"]\l"]
+  1 [label="State 1\n\l  3 a: \"0\" •  [\";\"]\l  4 b: \"0\" •  [\".\"]\l"]
   1 -> "1R3" [style=solid]
  "1R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
   1 -> "1R4" [label="[\".\"]", style=solid]
  "1R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  2 [label="State 2\n\l  0 $accept: exp . $end\l"]
+  2 [label="State 2\n\l  0 $accept: exp • $end\l"]
   2 -> 5 [style=solid label="$end"]
-  3 [label="State 3\n\l  1 exp: a . \";\"\l"]
+  3 [label="State 3\n\l  1 exp: a • \";\"\l"]
   3 -> 6 [style=solid label="\";\""]
-  4 [label="State 4\n\l  2 exp: b . \".\"\l"]
+  4 [label="State 4\n\l  2 exp: b • \".\"\l"]
   4 -> 7 [style=solid label="\".\""]
-  5 [label="State 5\n\l  0 $accept: exp $end .\l"]
+  5 [label="State 5\n\l  0 $accept: exp $end •\l"]
   5 -> "5R0" [style=solid]
  "5R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  6 [label="State 6\n\l  1 exp: a \";\" .\l"]
+  6 [label="State 6\n\l  1 exp: a \";\" •\l"]
   6 -> "6R1" [style=solid]
  "6R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
-  7 [label="State 7\n\l  2 exp: b \".\" .\l"]
+  7 [label="State 7\n\l  2 exp: b \".\" •\l"]
   7 -> "7R2" [style=solid]
  "7R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
 }
diff --git a/src/print-graph.c b/src/print-graph.c
index adaa8bed..f99555aa 100644
--- a/src/print-graph.c
+++ b/src/print-graph.c
@@ -84,7 +84,7 @@ print_core (struct obstack *oout, state *s)
           obstack_1grow (oout, ' ');
         }
 
-      obstack_1grow (oout, '.');
+      obstack_sgrow (oout, "•");
 
       if (0 <= *r->rhs)
         for (item_number const *sp = sp1; 0 <= *sp; ++sp)
diff --git a/tests/output.at b/tests/output.at
index 11dcceb7..60267c2d 100644
--- a/tests/output.at
+++ b/tests/output.at
@@ -332,13 +332,7 @@ AT_KEYWORDS([[graph]])
 AT_DATA([[input.y]], [$2])
 AT_BISON_CHECK([[-rall --graph input.y]], [0], [[]], [[ignore]])
 AT_CHECK([[grep -v // input.dot]], [0],
-[[
-digraph "input.y"
-{
-  node [fontname = courier, shape = box, colorscheme = paired6]
-  edge [fontname = courier]
-  ]$3[}
-]])
+[$3])
 AT_CLEANUP
 ])
 
@@ -354,27 +348,33 @@ a: ;
 b: 'b';
 ]],
 [[
-  0 [label="State 0\n\l  0 $accept: . exp $end\l  1 exp: . a '?' b\l  2 a: . 
%empty\l"]
+digraph "input.y"
+{
+  node [fontname = courier, shape = box, colorscheme = paired6]
+  edge [fontname = courier]
+
+  0 [label="State 0\n\l  0 $accept: • exp $end\l  1 exp: • a '?' b\l  2 a: • 
%empty\l"]
   0 -> 1 [style=dashed label="exp"]
   0 -> 2 [style=dashed label="a"]
   0 -> "0R2" [style=solid]
  "0R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
-  1 [label="State 1\n\l  0 $accept: exp . $end\l"]
+  1 [label="State 1\n\l  0 $accept: exp • $end\l"]
   1 -> 3 [style=solid label="$end"]
-  2 [label="State 2\n\l  1 exp: a . '?' b\l"]
+  2 [label="State 2\n\l  1 exp: a • '?' b\l"]
   2 -> 4 [style=solid label="'?'"]
-  3 [label="State 3\n\l  0 $accept: exp $end .\l"]
+  3 [label="State 3\n\l  0 $accept: exp $end •\l"]
   3 -> "3R0" [style=solid]
  "3R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  4 [label="State 4\n\l  1 exp: a '?' . b\l  3 b: . 'b'\l"]
+  4 [label="State 4\n\l  1 exp: a '?' • b\l  3 b: • 'b'\l"]
   4 -> 5 [style=solid label="'b'"]
   4 -> 6 [style=dashed label="b"]
-  5 [label="State 5\n\l  3 b: 'b' .\l"]
+  5 [label="State 5\n\l  3 b: 'b' •\l"]
   5 -> "5R3" [style=solid]
  "5R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  6 [label="State 6\n\l  1 exp: a '?' b .\l"]
+  6 [label="State 6\n\l  1 exp: a '?' b •\l"]
   6 -> "6R1" [style=solid]
  "6R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
+}
 ]])
 
 ## ------------------------ ##
@@ -396,7 +396,12 @@ empty_b: %prec 'b';
 empty_c: %prec 'c';
 ]],
 [[
-  0 [label="State 0\n\l  0 $accept: . start $end\l  1 start: . 'a'\l  2      | 
. empty_a 'a'\l  3      | . 'b'\l  4      | . empty_b 'b'\l  5      | . 'c'\l  
6      | . empty_c 'c'\l  7 empty_a: . %empty  ['a']\l  8 empty_b: . %empty  
['b']\l  9 empty_c: . %empty  ['c']\l"]
+digraph "input.y"
+{
+  node [fontname = courier, shape = box, colorscheme = paired6]
+  edge [fontname = courier]
+
+  0 [label="State 0\n\l  0 $accept: • start $end\l  1 start: • 'a'\l  2      | 
• empty_a 'a'\l  3      | • 'b'\l  4      | • empty_b 'b'\l  5      | • 'c'\l  
6      | • empty_c 'c'\l  7 empty_a: • %empty  ['a']\l  8 empty_b: • %empty  
['b']\l  9 empty_c: • %empty  ['c']\l"]
   0 -> 1 [style=solid label="'a'"]
   0 -> 2 [style=solid label="'b'"]
   0 -> 3 [style=solid label="'c'"]
@@ -410,35 +415,36 @@ empty_c: %prec 'c';
  "0R8d" [label="R8", fillcolor=5, shape=diamond, style=filled]
   0 -> "0R9d" [label="['c']", style=solid]
  "0R9d" [label="R9", fillcolor=5, shape=diamond, style=filled]
-  1 [label="State 1\n\l  1 start: 'a' .\l"]
+  1 [label="State 1\n\l  1 start: 'a' •\l"]
   1 -> "1R1" [style=solid]
  "1R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
-  2 [label="State 2\n\l  3 start: 'b' .\l"]
+  2 [label="State 2\n\l  3 start: 'b' •\l"]
   2 -> "2R3" [style=solid]
  "2R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  3 [label="State 3\n\l  5 start: 'c' .\l"]
+  3 [label="State 3\n\l  5 start: 'c' •\l"]
   3 -> "3R5" [style=solid]
  "3R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
-  4 [label="State 4\n\l  0 $accept: start . $end\l"]
+  4 [label="State 4\n\l  0 $accept: start • $end\l"]
   4 -> 8 [style=solid label="$end"]
-  5 [label="State 5\n\l  2 start: empty_a . 'a'\l"]
+  5 [label="State 5\n\l  2 start: empty_a • 'a'\l"]
   5 -> 9 [style=solid label="'a'"]
-  6 [label="State 6\n\l  4 start: empty_b . 'b'\l"]
+  6 [label="State 6\n\l  4 start: empty_b • 'b'\l"]
   6 -> 10 [style=solid label="'b'"]
-  7 [label="State 7\n\l  6 start: empty_c . 'c'\l"]
+  7 [label="State 7\n\l  6 start: empty_c • 'c'\l"]
   7 -> 11 [style=solid label="'c'"]
-  8 [label="State 8\n\l  0 $accept: start $end .\l"]
+  8 [label="State 8\n\l  0 $accept: start $end •\l"]
   8 -> "8R0" [style=solid]
  "8R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  9 [label="State 9\n\l  2 start: empty_a 'a' .\l"]
+  9 [label="State 9\n\l  2 start: empty_a 'a' •\l"]
   9 -> "9R2" [style=solid]
  "9R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
-  10 [label="State 10\n\l  4 start: empty_b 'b' .\l"]
+  10 [label="State 10\n\l  4 start: empty_b 'b' •\l"]
   10 -> "10R4" [style=solid]
  "10R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  11 [label="State 11\n\l  6 start: empty_c 'c' .\l"]
+  11 [label="State 11\n\l  6 start: empty_c 'c' •\l"]
   11 -> "11R6" [style=solid]
  "11R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
+}
 ]])
 
 ## ---------------------- ##
@@ -463,7 +469,12 @@ empty_b: %prec 'b';
 empty_c: %prec 'c';
 ]],
 [[
-  0 [label="State 0\n\l  0 $accept: . start $end\l  1 start: . 'a'\l  2      | 
. empty_a 'a'\l  3      | . 'b'\l  4      | . empty_b 'b'\l  5      | . 'c'\l  
6      | . empty_c 'c'\l  7 empty_a: . %empty  ['a']\l  8 empty_b: . %empty  
[]\l  9 empty_c: . %empty  []\l"]
+digraph "input.y"
+{
+  node [fontname = courier, shape = box, colorscheme = paired6]
+  edge [fontname = courier]
+
+  0 [label="State 0\n\l  0 $accept: • start $end\l  1 start: • 'a'\l  2      | 
• empty_a 'a'\l  3      | • 'b'\l  4      | • empty_b 'b'\l  5      | • 'c'\l  
6      | • empty_c 'c'\l  7 empty_a: • %empty  ['a']\l  8 empty_b: • %empty  
[]\l  9 empty_c: • %empty  []\l"]
   0 -> 1 [style=solid label="'b'"]
   0 -> 2 [style=solid label="'c'"]
   0 -> 3 [style=dashed label="start"]
@@ -472,32 +483,33 @@ empty_c: %prec 'c';
   0 -> 6 [style=dashed label="empty_c"]
   0 -> "0R7" [style=solid]
  "0R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
-  1 [label="State 1\n\l  3 start: 'b' .\l"]
+  1 [label="State 1\n\l  3 start: 'b' •\l"]
   1 -> "1R3" [style=solid]
  "1R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  2 [label="State 2\n\l  5 start: 'c' .\l"]
+  2 [label="State 2\n\l  5 start: 'c' •\l"]
   2 -> "2R5" [style=solid]
  "2R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
-  3 [label="State 3\n\l  0 $accept: start . $end\l"]
+  3 [label="State 3\n\l  0 $accept: start • $end\l"]
   3 -> 7 [style=solid label="$end"]
-  4 [label="State 4\n\l  2 start: empty_a . 'a'\l"]
+  4 [label="State 4\n\l  2 start: empty_a • 'a'\l"]
   4 -> 8 [style=solid label="'a'"]
-  5 [label="State 5\n\l  4 start: empty_b . 'b'\l"]
+  5 [label="State 5\n\l  4 start: empty_b • 'b'\l"]
   5 -> 9 [style=solid label="'b'"]
-  6 [label="State 6\n\l  6 start: empty_c . 'c'\l"]
+  6 [label="State 6\n\l  6 start: empty_c • 'c'\l"]
   6 -> 10 [style=solid label="'c'"]
-  7 [label="State 7\n\l  0 $accept: start $end .\l"]
+  7 [label="State 7\n\l  0 $accept: start $end •\l"]
   7 -> "7R0" [style=solid]
  "7R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  8 [label="State 8\n\l  2 start: empty_a 'a' .\l"]
+  8 [label="State 8\n\l  2 start: empty_a 'a' •\l"]
   8 -> "8R2" [style=solid]
  "8R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
-  9 [label="State 9\n\l  4 start: empty_b 'b' .\l"]
+  9 [label="State 9\n\l  4 start: empty_b 'b' •\l"]
   9 -> "9R4" [style=solid]
  "9R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  10 [label="State 10\n\l  6 start: empty_c 'c' .\l"]
+  10 [label="State 10\n\l  6 start: empty_c 'c' •\l"]
   10 -> "10R6" [style=solid]
  "10R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
+}
 ]])
 
 ## ---------------- ##
@@ -511,7 +523,12 @@ a: ;
 b: ;
 ]],
 [[
-  0 [label="State 0\n\l  0 $accept: . exp $end\l  1 exp: . a\l  2    | . b\l  
3 a: . %empty  [$end]\l  4 b: . %empty  [$end]\l"]
+digraph "input.y"
+{
+  node [fontname = courier, shape = box, colorscheme = paired6]
+  edge [fontname = courier]
+
+  0 [label="State 0\n\l  0 $accept: • exp $end\l  1 exp: • a\l  2    | • b\l  
3 a: • %empty  [$end]\l  4 b: • %empty  [$end]\l"]
   0 -> 1 [style=dashed label="exp"]
   0 -> 2 [style=dashed label="a"]
   0 -> 3 [style=dashed label="b"]
@@ -519,17 +536,18 @@ b: ;
  "0R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
   0 -> "0R4d" [label="[$end]", style=solid]
  "0R4d" [label="R4", fillcolor=5, shape=diamond, style=filled]
-  1 [label="State 1\n\l  0 $accept: exp . $end\l"]
+  1 [label="State 1\n\l  0 $accept: exp • $end\l"]
   1 -> 4 [style=solid label="$end"]
-  2 [label="State 2\n\l  1 exp: a .\l"]
+  2 [label="State 2\n\l  1 exp: a •\l"]
   2 -> "2R1" [style=solid]
  "2R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
-  3 [label="State 3\n\l  2 exp: b .\l"]
+  3 [label="State 3\n\l  2 exp: b •\l"]
   3 -> "3R2" [style=solid]
  "3R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
-  4 [label="State 4\n\l  0 $accept: exp $end .\l"]
+  4 [label="State 4\n\l  0 $accept: exp $end •\l"]
   4 -> "4R0" [style=solid]
  "4R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
+}
 ]])
 
 ## ---------------------------------------- ##
@@ -544,7 +562,12 @@ b: ;
 c: ;
 ]],
 [[
-  0 [label="State 0\n\l  0 $accept: . exp $end\l  1 exp: . a ';'\l  2    | . a 
';'\l  3    | . a '.'\l  4    | . b '?'\l  5    | . b '!'\l  6    | . c '?'\l  
7    | . c ';'\l  8 a: . %empty  [';', '.']\l  9 b: . %empty  ['?', '!']\l 10 
c: . %empty  [';', '?']\l"]
+digraph "input.y"
+{
+  node [fontname = courier, shape = box, colorscheme = paired6]
+  edge [fontname = courier]
+
+  0 [label="State 0\n\l  0 $accept: • exp $end\l  1 exp: • a ';'\l  2    | • a 
';'\l  3    | • a '.'\l  4    | • b '?'\l  5    | • b '!'\l  6    | • c '?'\l  
7    | • c ';'\l  8 a: • %empty  [';', '.']\l  9 b: • %empty  ['?', '!']\l 10 
c: • %empty  [';', '?']\l"]
   0 -> 1 [style=dashed label="exp"]
   0 -> 2 [style=dashed label="a"]
   0 -> 3 [style=dashed label="b"]
@@ -555,40 +578,41 @@ c: ;
  "0R9" [label="R9", fillcolor=3, shape=diamond, style=filled]
   0 -> "0R10d" [label="[';', '?']", style=solid]
  "0R10d" [label="R10", fillcolor=5, shape=diamond, style=filled]
-  1 [label="State 1\n\l  0 $accept: exp . $end\l"]
+  1 [label="State 1\n\l  0 $accept: exp • $end\l"]
   1 -> 5 [style=solid label="$end"]
-  2 [label="State 2\n\l  1 exp: a . ';'\l  2    | a . ';'\l  3    | a . '.'\l"]
+  2 [label="State 2\n\l  1 exp: a • ';'\l  2    | a • ';'\l  3    | a • '.'\l"]
   2 -> 6 [style=solid label="';'"]
   2 -> 7 [style=solid label="'.'"]
-  3 [label="State 3\n\l  4 exp: b . '?'\l  5    | b . '!'\l"]
+  3 [label="State 3\n\l  4 exp: b • '?'\l  5    | b • '!'\l"]
   3 -> 8 [style=solid label="'?'"]
   3 -> 9 [style=solid label="'!'"]
-  4 [label="State 4\n\l  6 exp: c . '?'\l  7    | c . ';'\l"]
+  4 [label="State 4\n\l  6 exp: c • '?'\l  7    | c • ';'\l"]
   4 -> 10 [style=solid label="';'"]
   4 -> 11 [style=solid label="'?'"]
-  5 [label="State 5\n\l  0 $accept: exp $end .\l"]
+  5 [label="State 5\n\l  0 $accept: exp $end •\l"]
   5 -> "5R0" [style=solid]
  "5R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  6 [label="State 6\n\l  1 exp: a ';' .  [$end]\l  2    | a ';' .  [$end]\l"]
+  6 [label="State 6\n\l  1 exp: a ';' •  [$end]\l  2    | a ';' •  [$end]\l"]
   6 -> "6R1" [style=solid]
  "6R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
   6 -> "6R2d" [label="[$end]", style=solid]
  "6R2d" [label="R2", fillcolor=5, shape=diamond, style=filled]
-  7 [label="State 7\n\l  3 exp: a '.' .\l"]
+  7 [label="State 7\n\l  3 exp: a '.' •\l"]
   7 -> "7R3" [style=solid]
  "7R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  8 [label="State 8\n\l  4 exp: b '?' .\l"]
+  8 [label="State 8\n\l  4 exp: b '?' •\l"]
   8 -> "8R4" [style=solid]
  "8R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  9 [label="State 9\n\l  5 exp: b '!' .\l"]
+  9 [label="State 9\n\l  5 exp: b '!' •\l"]
   9 -> "9R5" [style=solid]
  "9R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
-  10 [label="State 10\n\l  7 exp: c ';' .\l"]
+  10 [label="State 10\n\l  7 exp: c ';' •\l"]
   10 -> "10R7" [style=solid]
  "10R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
-  11 [label="State 11\n\l  6 exp: c '?' .\l"]
+  11 [label="State 11\n\l  6 exp: c '?' •\l"]
   11 -> "11R6" [style=solid]
  "11R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
+}
 ]])
 
 ## ------------------------------------------------------ ##
@@ -604,62 +628,67 @@ opexp: exp '+' exp;
 imm: '0';
 ]],
 [[
-  0 [label="State 0\n\l  0 $accept: . exp $end\l  1 exp: . ifexp\l  2    | . 
opexp\l  3    | . imm\l  4 ifexp: . \"if\" exp \"then\" exp elseexp\l  7 opexp: 
. exp '+' exp\l  8 imm: . '0'\l"]
+digraph "input.y"
+{
+  node [fontname = courier, shape = box, colorscheme = paired6]
+  edge [fontname = courier]
+
+  0 [label="State 0\n\l  0 $accept: • exp $end\l  1 exp: • ifexp\l  2    | • 
opexp\l  3    | • imm\l  4 ifexp: • \"if\" exp \"then\" exp elseexp\l  7 opexp: 
• exp '+' exp\l  8 imm: • '0'\l"]
   0 -> 1 [style=solid label="\"if\""]
   0 -> 2 [style=solid label="'0'"]
   0 -> 3 [style=dashed label="exp"]
   0 -> 4 [style=dashed label="ifexp"]
   0 -> 5 [style=dashed label="opexp"]
   0 -> 6 [style=dashed label="imm"]
-  1 [label="State 1\n\l  1 exp: . ifexp\l  2    | . opexp\l  3    | . imm\l  4 
ifexp: . \"if\" exp \"then\" exp elseexp\l  4      | \"if\" . exp \"then\" exp 
elseexp\l  7 opexp: . exp '+' exp\l  8 imm: . '0'\l"]
+  1 [label="State 1\n\l  1 exp: • ifexp\l  2    | • opexp\l  3    | • imm\l  4 
ifexp: • \"if\" exp \"then\" exp elseexp\l  4      | \"if\" • exp \"then\" exp 
elseexp\l  7 opexp: • exp '+' exp\l  8 imm: • '0'\l"]
   1 -> 1 [style=solid label="\"if\""]
   1 -> 2 [style=solid label="'0'"]
   1 -> 7 [style=dashed label="exp"]
   1 -> 4 [style=dashed label="ifexp"]
   1 -> 5 [style=dashed label="opexp"]
   1 -> 6 [style=dashed label="imm"]
-  2 [label="State 2\n\l  8 imm: '0' .\l"]
+  2 [label="State 2\n\l  8 imm: '0' •\l"]
   2 -> "2R8" [style=solid]
  "2R8" [label="R8", fillcolor=3, shape=diamond, style=filled]
-  3 [label="State 3\n\l  0 $accept: exp . $end\l  7 opexp: exp . '+' exp\l"]
+  3 [label="State 3\n\l  0 $accept: exp • $end\l  7 opexp: exp • '+' exp\l"]
   3 -> 8 [style=solid label="$end"]
   3 -> 9 [style=solid label="'+'"]
-  4 [label="State 4\n\l  1 exp: ifexp .\l"]
+  4 [label="State 4\n\l  1 exp: ifexp •\l"]
   4 -> "4R1" [style=solid]
  "4R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
-  5 [label="State 5\n\l  2 exp: opexp .\l"]
+  5 [label="State 5\n\l  2 exp: opexp •\l"]
   5 -> "5R2" [style=solid]
  "5R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
-  6 [label="State 6\n\l  3 exp: imm .\l"]
+  6 [label="State 6\n\l  3 exp: imm •\l"]
   6 -> "6R3" [style=solid]
  "6R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  7 [label="State 7\n\l  4 ifexp: \"if\" exp . \"then\" exp elseexp\l  7 
opexp: exp . '+' exp\l"]
+  7 [label="State 7\n\l  4 ifexp: \"if\" exp • \"then\" exp elseexp\l  7 
opexp: exp • '+' exp\l"]
   7 -> 10 [style=solid label="\"then\""]
   7 -> 9 [style=solid label="'+'"]
-  8 [label="State 8\n\l  0 $accept: exp $end .\l"]
+  8 [label="State 8\n\l  0 $accept: exp $end •\l"]
   8 -> "8R0" [style=solid]
  "8R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  9 [label="State 9\n\l  1 exp: . ifexp\l  2    | . opexp\l  3    | . imm\l  4 
ifexp: . \"if\" exp \"then\" exp elseexp\l  7 opexp: . exp '+' exp\l  7      | 
exp '+' . exp\l  8 imm: . '0'\l"]
+  9 [label="State 9\n\l  1 exp: • ifexp\l  2    | • opexp\l  3    | • imm\l  4 
ifexp: • \"if\" exp \"then\" exp elseexp\l  7 opexp: • exp '+' exp\l  7      | 
exp '+' • exp\l  8 imm: • '0'\l"]
   9 -> 1 [style=solid label="\"if\""]
   9 -> 2 [style=solid label="'0'"]
   9 -> 11 [style=dashed label="exp"]
   9 -> 4 [style=dashed label="ifexp"]
   9 -> 5 [style=dashed label="opexp"]
   9 -> 6 [style=dashed label="imm"]
-  10 [label="State 10\n\l  1 exp: . ifexp\l  2    | . opexp\l  3    | . imm\l  
4 ifexp: . \"if\" exp \"then\" exp elseexp\l  4      | \"if\" exp \"then\" . 
exp elseexp\l  7 opexp: . exp '+' exp\l  8 imm: . '0'\l"]
+  10 [label="State 10\n\l  1 exp: • ifexp\l  2    | • opexp\l  3    | • imm\l  
4 ifexp: • \"if\" exp \"then\" exp elseexp\l  4      | \"if\" exp \"then\" • 
exp elseexp\l  7 opexp: • exp '+' exp\l  8 imm: • '0'\l"]
   10 -> 1 [style=solid label="\"if\""]
   10 -> 2 [style=solid label="'0'"]
   10 -> 12 [style=dashed label="exp"]
   10 -> 4 [style=dashed label="ifexp"]
   10 -> 5 [style=dashed label="opexp"]
   10 -> 6 [style=dashed label="imm"]
-  11 [label="State 11\n\l  7 opexp: exp . '+' exp\l  7      | exp '+' exp .  
[$end, \"then\", \"else\", '+']\l"]
+  11 [label="State 11\n\l  7 opexp: exp • '+' exp\l  7      | exp '+' exp •  
[$end, \"then\", \"else\", '+']\l"]
   11 -> 9 [style=solid label="'+'"]
   11 -> "11R7d" [label="['+']", style=solid]
  "11R7d" [label="R7", fillcolor=5, shape=diamond, style=filled]
   11 -> "11R7" [style=solid]
  "11R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
-  12 [label="State 12\n\l  4 ifexp: \"if\" exp \"then\" exp . elseexp\l  5 
elseexp: . \"else\" exp\l  6        | . %empty  [$end, \"then\", \"else\", 
'+']\l  7 opexp: exp . '+' exp\l"]
+  12 [label="State 12\n\l  4 ifexp: \"if\" exp \"then\" exp • elseexp\l  5 
elseexp: • \"else\" exp\l  6        | • %empty  [$end, \"then\", \"else\", 
'+']\l  7 opexp: exp • '+' exp\l"]
   12 -> 13 [style=solid label="\"else\""]
   12 -> 9 [style=solid label="'+'"]
   12 -> 14 [style=dashed label="elseexp"]
@@ -667,22 +696,23 @@ imm: '0';
  "12R6d" [label="R6", fillcolor=5, shape=diamond, style=filled]
   12 -> "12R6" [style=solid]
  "12R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
-  13 [label="State 13\n\l  1 exp: . ifexp\l  2    | . opexp\l  3    | . imm\l  
4 ifexp: . \"if\" exp \"then\" exp elseexp\l  5 elseexp: \"else\" . exp\l  7 
opexp: . exp '+' exp\l  8 imm: . '0'\l"]
+  13 [label="State 13\n\l  1 exp: • ifexp\l  2    | • opexp\l  3    | • imm\l  
4 ifexp: • \"if\" exp \"then\" exp elseexp\l  5 elseexp: \"else\" • exp\l  7 
opexp: • exp '+' exp\l  8 imm: • '0'\l"]
   13 -> 1 [style=solid label="\"if\""]
   13 -> 2 [style=solid label="'0'"]
   13 -> 15 [style=dashed label="exp"]
   13 -> 4 [style=dashed label="ifexp"]
   13 -> 5 [style=dashed label="opexp"]
   13 -> 6 [style=dashed label="imm"]
-  14 [label="State 14\n\l  4 ifexp: \"if\" exp \"then\" exp elseexp .\l"]
+  14 [label="State 14\n\l  4 ifexp: \"if\" exp \"then\" exp elseexp •\l"]
   14 -> "14R4" [style=solid]
  "14R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  15 [label="State 15\n\l  5 elseexp: \"else\" exp .  [$end, \"then\", 
\"else\", '+']\l  7 opexp: exp . '+' exp\l"]
+  15 [label="State 15\n\l  5 elseexp: \"else\" exp •  [$end, \"then\", 
\"else\", '+']\l  7 opexp: exp • '+' exp\l"]
   15 -> 9 [style=solid label="'+'"]
   15 -> "15R5d" [label="['+']", style=solid]
  "15R5d" [label="R5", fillcolor=5, shape=diamond, style=filled]
   15 -> "15R5" [style=solid]
  "15R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
+}
 ]])
 
 m4_popdef([AT_TEST])
diff --git a/tests/report.at b/tests/report.at
index 9e9f1272..f4936aef 100644
--- a/tests/report.at
+++ b/tests/report.at
@@ -586,14 +586,14 @@ digraph "input.yy"
   node [fontname = courier, shape = box, colorscheme = paired6]
   edge [fontname = courier]
 
-  0 [label="State 0\n\l  0 $accept: . unit \"end of file\"\l  1 unit: . 
assignments exp\l  2 assignments: . %empty\l  3            | . assignments 
assignment\l"]
+  0 [label="State 0\n\l  0 $accept: • unit \"end of file\"\l  1 unit: • 
assignments exp\l  2 assignments: • %empty\l  3            | • assignments 
assignment\l"]
   0 -> 1 [style=dashed label="unit"]
   0 -> 2 [style=dashed label="assignments"]
   0 -> "0R2" [style=solid]
  "0R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
-  1 [label="State 1\n\l  0 $accept: unit . \"end of file\"\l"]
+  1 [label="State 1\n\l  0 $accept: unit • \"end of file\"\l"]
   1 -> 3 [style=solid label="\"end of file\""]
-  2 [label="State 2\n\l  1 unit: assignments . exp\l  3 assignments: 
assignments . assignment\l  4 assignment: . id \":=\" exp\l  5 id: . 
\"identifier\"\l  8 exp: . \"incr\" exp @1 @2 exp\l  9    | . \"(\" exp \")\"\l 
10    | . \"identifier\"\l 11    | . \"number\"\l"]
+  2 [label="State 2\n\l  1 unit: assignments • exp\l  3 assignments: 
assignments • assignment\l  4 assignment: • id \":=\" exp\l  5 id: • 
\"identifier\"\l  8 exp: • \"incr\" exp @1 @2 exp\l  9    | • \"(\" exp \")\"\l 
10    | • \"identifier\"\l 11    | • \"number\"\l"]
   2 -> 4 [style=solid label="\"incr\""]
   2 -> 5 [style=solid label="\"identifier\""]
   2 -> 6 [style=solid label="\"number\""]
@@ -601,69 +601,69 @@ digraph "input.yy"
   2 -> 8 [style=dashed label="assignment"]
   2 -> 9 [style=dashed label="id"]
   2 -> 10 [style=dashed label="exp"]
-  3 [label="State 3\n\l  0 $accept: unit \"end of file\" .\l"]
+  3 [label="State 3\n\l  0 $accept: unit \"end of file\" •\l"]
   3 -> "3R0" [style=solid]
  "3R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  4 [label="State 4\n\l  8 exp: . \"incr\" exp @1 @2 exp\l  8    | \"incr\" . 
exp @1 @2 exp\l  9    | . \"(\" exp \")\"\l 10    | . \"identifier\"\l 11    | 
. \"number\"\l"]
+  4 [label="State 4\n\l  8 exp: • \"incr\" exp @1 @2 exp\l  8    | \"incr\" • 
exp @1 @2 exp\l  9    | • \"(\" exp \")\"\l 10    | • \"identifier\"\l 11    | 
• \"number\"\l"]
   4 -> 4 [style=solid label="\"incr\""]
   4 -> 11 [style=solid label="\"identifier\""]
   4 -> 6 [style=solid label="\"number\""]
   4 -> 7 [style=solid label="\"(\""]
   4 -> 12 [style=dashed label="exp"]
-  5 [label="State 5\n\l  5 id: \"identifier\" .  [\":=\"]\l 10 exp: 
\"identifier\" .  [\"end of file\"]\l"]
+  5 [label="State 5\n\l  5 id: \"identifier\" •  [\":=\"]\l 10 exp: 
\"identifier\" •  [\"end of file\"]\l"]
   5 -> "5R5" [style=solid]
  "5R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
   5 -> "5R10" [label="[\"end of file\"]", style=solid]
  "5R10" [label="R10", fillcolor=3, shape=diamond, style=filled]
-  6 [label="State 6\n\l 11 exp: \"number\" .\l"]
+  6 [label="State 6\n\l 11 exp: \"number\" •\l"]
   6 -> "6R11" [style=solid]
  "6R11" [label="R11", fillcolor=3, shape=diamond, style=filled]
-  7 [label="State 7\n\l  8 exp: . \"incr\" exp @1 @2 exp\l  9    | . \"(\" exp 
\")\"\l  9    | \"(\" . exp \")\"\l 10    | . \"identifier\"\l 11    | . 
\"number\"\l"]
+  7 [label="State 7\n\l  8 exp: • \"incr\" exp @1 @2 exp\l  9    | • \"(\" exp 
\")\"\l  9    | \"(\" • exp \")\"\l 10    | • \"identifier\"\l 11    | • 
\"number\"\l"]
   7 -> 4 [style=solid label="\"incr\""]
   7 -> 11 [style=solid label="\"identifier\""]
   7 -> 6 [style=solid label="\"number\""]
   7 -> 7 [style=solid label="\"(\""]
   7 -> 13 [style=dashed label="exp"]
-  8 [label="State 8\n\l  3 assignments: assignments assignment .\l"]
+  8 [label="State 8\n\l  3 assignments: assignments assignment •\l"]
   8 -> "8R3" [style=solid]
  "8R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  9 [label="State 9\n\l  4 assignment: id . \":=\" exp\l"]
+  9 [label="State 9\n\l  4 assignment: id • \":=\" exp\l"]
   9 -> 14 [style=solid label="\":=\""]
-  10 [label="State 10\n\l  1 unit: assignments exp .\l"]
+  10 [label="State 10\n\l  1 unit: assignments exp •\l"]
   10 -> "10R1" [style=solid]
  "10R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
-  11 [label="State 11\n\l 10 exp: \"identifier\" .\l"]
+  11 [label="State 11\n\l 10 exp: \"identifier\" •\l"]
   11 -> "11R10" [style=solid]
  "11R10" [label="R10", fillcolor=3, shape=diamond, style=filled]
-  12 [label="State 12\n\l  6 @1: . %empty\l  8 exp: \"incr\" exp . @1 @2 
exp\l"]
+  12 [label="State 12\n\l  6 @1: • %empty\l  8 exp: \"incr\" exp • @1 @2 
exp\l"]
   12 -> 15 [style=dashed label="@1"]
   12 -> "12R6" [style=solid]
  "12R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
-  13 [label="State 13\n\l  9 exp: \"(\" exp . \")\"\l"]
+  13 [label="State 13\n\l  9 exp: \"(\" exp • \")\"\l"]
   13 -> 16 [style=solid label="\")\""]
-  14 [label="State 14\n\l  4 assignment: id \":=\" . exp\l  8 exp: . \"incr\" 
exp @1 @2 exp\l  9    | . \"(\" exp \")\"\l 10    | . \"identifier\"\l 11    | 
. \"number\"\l"]
+  14 [label="State 14\n\l  4 assignment: id \":=\" • exp\l  8 exp: • \"incr\" 
exp @1 @2 exp\l  9    | • \"(\" exp \")\"\l 10    | • \"identifier\"\l 11    | 
• \"number\"\l"]
   14 -> 4 [style=solid label="\"incr\""]
   14 -> 11 [style=solid label="\"identifier\""]
   14 -> 6 [style=solid label="\"number\""]
   14 -> 7 [style=solid label="\"(\""]
   14 -> 17 [style=dashed label="exp"]
-  15 [label="State 15\n\l  7 @2: . %empty\l  8 exp: \"incr\" exp @1 . @2 
exp\l"]
+  15 [label="State 15\n\l  7 @2: • %empty\l  8 exp: \"incr\" exp @1 • @2 
exp\l"]
   15 -> 18 [style=dashed label="@2"]
   15 -> "15R7" [style=solid]
  "15R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
-  16 [label="State 16\n\l  9 exp: \"(\" exp \")\" .\l"]
+  16 [label="State 16\n\l  9 exp: \"(\" exp \")\" •\l"]
   16 -> "16R9" [style=solid]
  "16R9" [label="R9", fillcolor=3, shape=diamond, style=filled]
-  17 [label="State 17\n\l  4 assignment: id \":=\" exp .\l"]
+  17 [label="State 17\n\l  4 assignment: id \":=\" exp •\l"]
   17 -> "17R4" [style=solid]
  "17R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  18 [label="State 18\n\l  8 exp: . \"incr\" exp @1 @2 exp\l  8    | \"incr\" 
exp @1 @2 . exp\l  9    | . \"(\" exp \")\"\l 10    | . \"identifier\"\l 11    
| . \"number\"\l"]
+  18 [label="State 18\n\l  8 exp: • \"incr\" exp @1 @2 exp\l  8    | \"incr\" 
exp @1 @2 • exp\l  9    | • \"(\" exp \")\"\l 10    | • \"identifier\"\l 11    
| • \"number\"\l"]
   18 -> 4 [style=solid label="\"incr\""]
   18 -> 11 [style=solid label="\"identifier\""]
   18 -> 6 [style=solid label="\"number\""]
   18 -> 7 [style=solid label="\"(\""]
   18 -> 19 [style=dashed label="exp"]
-  19 [label="State 19\n\l  8 exp: \"incr\" exp @1 @2 exp .\l"]
+  19 [label="State 19\n\l  8 exp: \"incr\" exp @1 @2 exp •\l"]
   19 -> "19R8" [style=solid]
  "19R8" [label="R8", fillcolor=3, shape=diamond, style=filled]
 }
@@ -1416,32 +1416,32 @@ digraph "input.y"
   node [fontname = courier, shape = box, colorscheme = paired6]
   edge [fontname = courier]
 
-  0 [label="State 0\n\l  0 $accept: . exp $end\l  1 exp: . exp \"⊕\" exp\l  2  
  | . exp \"+\" exp\l  3    | . exp \"+\" exp\l  4    | . \"number\"\l  5    | 
. \"Ñùṃéℝô\"\l"]
+  0 [label="State 0\n\l  0 $accept: • exp $end\l  1 exp: • exp \"⊕\" exp\l  2  
  | • exp \"+\" exp\l  3    | • exp \"+\" exp\l  4    | • \"number\"\l  5    | 
• \"Ñùṃéℝô\"\l"]
   0 -> 1 [style=solid label="\"number\""]
   0 -> 2 [style=solid label="\"Ñùṃéℝô\""]
   0 -> 3 [style=dashed label="exp"]
-  1 [label="State 1\n\l  4 exp: \"number\" .\l"]
+  1 [label="State 1\n\l  4 exp: \"number\" •\l"]
   1 -> "1R4" [style=solid]
  "1R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  2 [label="State 2\n\l  5 exp: \"Ñùṃéℝô\" .\l"]
+  2 [label="State 2\n\l  5 exp: \"Ñùṃéℝô\" •\l"]
   2 -> "2R5" [style=solid]
  "2R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
-  3 [label="State 3\n\l  0 $accept: exp . $end\l  1 exp: exp . \"⊕\" exp\l  2  
  | exp . \"+\" exp\l  3    | exp . \"+\" exp\l"]
+  3 [label="State 3\n\l  0 $accept: exp • $end\l  1 exp: exp • \"⊕\" exp\l  2  
  | exp • \"+\" exp\l  3    | exp • \"+\" exp\l"]
   3 -> 4 [style=solid label="$end"]
   3 -> 5 [style=solid label="\"+\""]
   3 -> 6 [style=solid label="\"⊕\""]
-  4 [label="State 4\n\l  0 $accept: exp $end .\l"]
+  4 [label="State 4\n\l  0 $accept: exp $end •\l"]
   4 -> "4R0" [style=solid]
  "4R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  5 [label="State 5\n\l  1 exp: . exp \"⊕\" exp\l  2    | . exp \"+\" exp\l  2 
   | exp \"+\" . exp\l  3    | . exp \"+\" exp\l  3    | exp \"+\" . exp\l  4   
 | . \"number\"\l  5    | . \"Ñùṃéℝô\"\l"]
+  5 [label="State 5\n\l  1 exp: • exp \"⊕\" exp\l  2    | • exp \"+\" exp\l  2 
   | exp \"+\" • exp\l  3    | • exp \"+\" exp\l  3    | exp \"+\" • exp\l  4   
 | • \"number\"\l  5    | • \"Ñùṃéℝô\"\l"]
   5 -> 1 [style=solid label="\"number\""]
   5 -> 2 [style=solid label="\"Ñùṃéℝô\""]
   5 -> 7 [style=dashed label="exp"]
-  6 [label="State 6\n\l  1 exp: . exp \"⊕\" exp\l  1    | exp \"⊕\" . exp\l  2 
   | . exp \"+\" exp\l  3    | . exp \"+\" exp\l  4    | . \"number\"\l  5    | 
. \"Ñùṃéℝô\"\l"]
+  6 [label="State 6\n\l  1 exp: • exp \"⊕\" exp\l  1    | exp \"⊕\" • exp\l  2 
   | • exp \"+\" exp\l  3    | • exp \"+\" exp\l  4    | • \"number\"\l  5    | 
• \"Ñùṃéℝô\"\l"]
   6 -> 1 [style=solid label="\"number\""]
   6 -> 2 [style=solid label="\"Ñùṃéℝô\""]
   6 -> 8 [style=dashed label="exp"]
-  7 [label="State 7\n\l  1 exp: exp . \"⊕\" exp\l  2    | exp . \"+\" exp\l  2 
   | exp \"+\" exp .  [$end, \"+\", \"⊕\"]\l  3    | exp . \"+\" exp\l  3    | 
exp \"+\" exp .  [$end, \"+\", \"⊕\"]\l"]
+  7 [label="State 7\n\l  1 exp: exp • \"⊕\" exp\l  2    | exp • \"+\" exp\l  2 
   | exp \"+\" exp •  [$end, \"+\", \"⊕\"]\l  3    | exp • \"+\" exp\l  3    | 
exp \"+\" exp •  [$end, \"+\", \"⊕\"]\l"]
   7 -> 6 [style=solid label="\"⊕\""]
   7 -> "7R2d" [label="[\"⊕\"]", style=solid]
  "7R2d" [label="R2", fillcolor=5, shape=diamond, style=filled]
@@ -1449,7 +1449,7 @@ digraph "input.y"
  "7R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
   7 -> "7R3d" [label="[$end, \"+\", \"⊕\"]", style=solid]
  "7R3d" [label="R3", fillcolor=5, shape=diamond, style=filled]
-  8 [label="State 8\n\l  1 exp: exp . \"⊕\" exp\l  1    | exp \"⊕\" exp .  
[$end, \"+\", \"⊕\"]\l  2    | exp . \"+\" exp\l  3    | exp . \"+\" exp\l"]
+  8 [label="State 8\n\l  1 exp: exp • \"⊕\" exp\l  1    | exp \"⊕\" exp •  
[$end, \"+\", \"⊕\"]\l  2    | exp • \"+\" exp\l  3    | exp • \"+\" exp\l"]
   8 -> 5 [style=solid label="\"+\""]
   8 -> 6 [style=solid label="\"⊕\""]
   8 -> "8R1d" [label="[\"+\", \"⊕\"]", style=solid]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]