bug-bison
[Top][All Lists]
Advanced

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

Re: Bison 3.7.90 (beta): test 4


From: Akim Demaille
Subject: Re: Bison 3.7.90 (beta): test 4
Date: Thu, 2 Sep 2021 07:29:36 +0200


> Le 2 sept. 2021 à 07:20, Akim Demaille <akim@lrde.epita.fr> a écrit :
> 
> That being said, it is again a test about a feature I don't want to make 
> public in 3.8, so I will disable this test

Done:

commit da0f993fb950df1030725ce51ac766dd7425ff80
Author: Akim Demaille <akim.demaille@gmail.com>
Date:   Thu Sep 2 07:24:01 2021 +0200

    tests: disable "Multistart reports"
    
    For some reason this test fails on Solaris/x86.  But multistart is not
    part of 3.8, so we can postpone the debugging of this issue.
    Reported by Dagobert Michelsen.
    <https://lists.gnu.org/r/bug-bison/2021-08/msg00027.html>
    
    * tests/report.at (Multistart reports): Comment out.

diff --git a/TODO b/TODO
index a4a91bb0..d89894c7 100644
--- a/TODO
+++ b/TODO
@@ -518,6 +518,7 @@ https://lists.gnu.org/r/bison-patches/2013-09/msg00000.html 
and following
 
 ** Multiple start symbols
 Revert a70e75b8a41755ab96ab211a0ea111ac68a4aadd.
+Revert tests: disable "Multistart reports".
 
 Would be very useful when parsing closely related languages.  The idea is to
 declare several start symbols, for instance
diff --git a/tests/report.at b/tests/report.at
index 77b8af4e..83c418f6 100644
--- a/tests/report.at
+++ b/tests/report.at
@@ -1516,1601 +1516,1604 @@ AT_SETUP([Reports])
 AT_CLEANUP
 
 
-## -------------------- ##
-## Multistart reports.  ##
-## -------------------- ##
-
-AT_SETUP([Multistart reports])
-
-AT_KEYWORDS([multistart report])
-
-AT_BISON_OPTION_PUSHDEFS
-AT_DATA([input.yy],
-[[%token
-  END  0  "end of file"
-  ASSIGN  ":="
-  INCR    "incr"
-;
-
-%token <std::string> IDENTIFIER "identifier"
-%type <std::string> id
-%token <int> NUMBER "number"
-%type  <int> exp
-
-%%
-%start unit assignments exp;
-unit: assignments exp  { driver.result = $2; };
-
-assignments:
-  %empty                 {}
-| assignments assignment {};
-
-assignment:
-  id ":=" exp { driver.variables[$id] = $exp; };
-
-id:
-  "identifier";
-
-exp:
-  "incr" exp <int>{ $$ = 1; } <int>{ $$ = 10; } exp   { $$ = $2 + $3 + $4 + 
$5; }
-| "(" exp ")"   { std::swap ($$, $2); }
-| "identifier"  { $$ = driver.variables[$1]; }
-| "number"      { std::swap ($$, $1); };
-]])
-
-AT_BISON_CHECK([-o input.cc -rall --graph=input.gv --xml input.yy])
-
-# Check the contents of the report.
-AT_CHECK([cat input.output], [],
-[[Grammar
-
-    0 $accept: YY_PARSE_unit unit "end of file"
-    1        | YY_PARSE_assignments assignments "end of file"
-    2        | YY_PARSE_exp exp "end of file"
-
-    3 unit: assignments exp
-
-    4 assignments: %empty
-    5            | assignments assignment
-
-    6 assignment: id ":=" exp
-
-    7 id: "identifier"
-
-    8 @1: %empty
-
-    9 @2: %empty
-
-   10 exp: "incr" exp @1 @2 exp
-   11    | "(" exp ")"
-   12    | "identifier"
-   13    | "number"
-
-
-Terminals, with rules where they appear
-
-    "end of file" (0) 0 1 2
-    error (256)
-    ":=" (258) 6
-    "incr" (259) 10
-    "identifier" <std::string> (260) 7 12
-    "number" <int> (261) 13
-    YY_PARSE_unit (262) 0
-    YY_PARSE_assignments (263) 1
-    YY_PARSE_exp (264) 2
-    "(" (265) 11
-    ")" (266) 11
-
-
-Nonterminals, with rules where they appear
-
-    $accept (12)
-        on left: 0 1 2
-    unit (13)
-        on left: 3
-        on right: 0
-    assignments (14)
-        on left: 4 5
-        on right: 1 3 5
-    assignment (15)
-        on left: 6
-        on right: 5
-    id <std::string> (16)
-        on left: 7
-        on right: 6
-    exp <int> (17)
-        on left: 10 11 12 13
-        on right: 2 3 6 10 11
-    @1 <int> (18)
-        on left: 8
-        on right: 10
-    @2 <int> (19)
-        on left: 9
-        on right: 10
-
-
-State 0
-
-    0 $accept: . YY_PARSE_unit unit "end of file"
-    1        | . YY_PARSE_assignments assignments "end of file"
-    2        | . YY_PARSE_exp exp "end of file"
-
-    YY_PARSE_unit         shift, and go to state 1
-    YY_PARSE_assignments  shift, and go to state 2
-    YY_PARSE_exp          shift, and go to state 3
-
-
-State 1
-
-    0 $accept: YY_PARSE_unit . unit "end of file"
-    3 unit: . assignments exp
-    4 assignments: %empty .
-    5            | . assignments assignment
-
-    $default  reduce using rule 4 (assignments)
-
-    unit         go to state 4
-    assignments  go to state 5
-
-
-State 2
-
-    1 $accept: YY_PARSE_assignments . assignments "end of file"
-    4 assignments: %empty .
-    5            | . assignments assignment
-
-    $default  reduce using rule 4 (assignments)
-
-    assignments  go to state 6
-
-
-State 3
-
-    2 $accept: YY_PARSE_exp . exp "end of file"
-   10 exp: . "incr" exp @1 @2 exp
-   11    | . "(" exp ")"
-   12    | . "identifier"
-   13    | . "number"
-
-    "incr"        shift, and go to state 7
-    "identifier"  shift, and go to state 8
-    "number"      shift, and go to state 9
-    "("           shift, and go to state 10
-
-    exp  go to state 11
-
-
-State 4
-
-    0 $accept: YY_PARSE_unit unit . "end of file"
-
-    "end of file"  shift, and go to state 12
-
-
-State 5
-
-    3 unit: assignments . exp
-    5 assignments: assignments . assignment
-    6 assignment: . id ":=" exp
-    7 id: . "identifier"
-   10 exp: . "incr" exp @1 @2 exp
-   11    | . "(" exp ")"
-   12    | . "identifier"
-   13    | . "number"
-
-    "incr"        shift, and go to state 7
-    "identifier"  shift, and go to state 13
-    "number"      shift, and go to state 9
-    "("           shift, and go to state 10
-
-    assignment  go to state 14
-    id          go to state 15
-    exp         go to state 16
-
-
-State 6
-
-    1 $accept: YY_PARSE_assignments assignments . "end of file"
-    5 assignments: assignments . assignment
-    6 assignment: . id ":=" exp
-    7 id: . "identifier"
-
-    "end of file"  shift, and go to state 17
-    "identifier"   shift, and go to state 18
-
-    assignment  go to state 14
-    id          go to state 15
-
-
-State 7
-
-   10 exp: . "incr" exp @1 @2 exp
-   10    | "incr" . exp @1 @2 exp
-   11    | . "(" exp ")"
-   12    | . "identifier"
-   13    | . "number"
-
-    "incr"        shift, and go to state 7
-    "identifier"  shift, and go to state 8
-    "number"      shift, and go to state 9
-    "("           shift, and go to state 10
-
-    exp  go to state 19
-
-
-State 8
-
-   12 exp: "identifier" .
-
-    $default  reduce using rule 12 (exp)
-
-
-State 9
-
-   13 exp: "number" .
-
-    $default  reduce using rule 13 (exp)
-
-
-State 10
-
-   10 exp: . "incr" exp @1 @2 exp
-   11    | . "(" exp ")"
-   11    | "(" . exp ")"
-   12    | . "identifier"
-   13    | . "number"
-
-    "incr"        shift, and go to state 7
-    "identifier"  shift, and go to state 8
-    "number"      shift, and go to state 9
-    "("           shift, and go to state 10
-
-    exp  go to state 20
-
-
-State 11
-
-    2 $accept: YY_PARSE_exp exp . "end of file"
-
-    "end of file"  shift, and go to state 21
-
-
-State 12
-
-    0 $accept: YY_PARSE_unit unit "end of file" .
-
-    $default  accept
-
-
-State 13
-
-    7 id: "identifier" .  [":="]
-   12 exp: "identifier" .  ["end of file"]
-
-    "end of file"  reduce using rule 12 (exp)
-    $default       reduce using rule 7 (id)
-
-
-State 14
-
-    5 assignments: assignments assignment .
-
-    $default  reduce using rule 5 (assignments)
-
-
-State 15
-
-    6 assignment: id . ":=" exp
-
-    ":="  shift, and go to state 22
-
-
-State 16
-
-    3 unit: assignments exp .
-
-    $default  reduce using rule 3 (unit)
-
-
-State 17
-
-    1 $accept: YY_PARSE_assignments assignments "end of file" .
-
-    $default  accept
-
-
-State 18
-
-    7 id: "identifier" .
-
-    $default  reduce using rule 7 (id)
-
-
-State 19
-
-    8 @1: %empty .
-   10 exp: "incr" exp . @1 @2 exp
-
-    $default  reduce using rule 8 (@1)
-
-    @1  go to state 23
-
-
-State 20
-
-   11 exp: "(" exp . ")"
-
-    ")"  shift, and go to state 24
-
-
-State 21
-
-    2 $accept: YY_PARSE_exp exp "end of file" .
-
-    $default  accept
-
-
-State 22
-
-    6 assignment: id ":=" . exp
-   10 exp: . "incr" exp @1 @2 exp
-   11    | . "(" exp ")"
-   12    | . "identifier"
-   13    | . "number"
-
-    "incr"        shift, and go to state 7
-    "identifier"  shift, and go to state 8
-    "number"      shift, and go to state 9
-    "("           shift, and go to state 10
-
-    exp  go to state 25
-
-
-State 23
-
-    9 @2: %empty .
-   10 exp: "incr" exp @1 . @2 exp
-
-    $default  reduce using rule 9 (@2)
-
-    @2  go to state 26
-
-
-State 24
-
-   11 exp: "(" exp ")" .
-
-    $default  reduce using rule 11 (exp)
-
-
-State 25
-
-    6 assignment: id ":=" exp .
-
-    $default  reduce using rule 6 (assignment)
-
-
-State 26
-
-   10 exp: . "incr" exp @1 @2 exp
-   10    | "incr" exp @1 @2 . exp
-   11    | . "(" exp ")"
-   12    | . "identifier"
-   13    | . "number"
-
-    "incr"        shift, and go to state 7
-    "identifier"  shift, and go to state 8
-    "number"      shift, and go to state 9
-    "("           shift, and go to state 10
-
-    exp  go to state 27
-
-
-State 27
-
-   10 exp: "incr" exp @1 @2 exp .
-
-    $default  reduce using rule 10 (exp)
-]])
-
-
-
-AT_CHECK([cat input.gv], [],
-[[// Generated by GNU Bison ]AT_PACKAGE_VERSION[.
-// Report bugs to <bug-bison@gnu.org>.
-// Home page: <https://www.gnu.org/software/bison/>.
-
-digraph "input.yy"
-{
-  node [fontname = courier, shape = box, colorscheme = paired6]
-  edge [fontname = courier]
-
-  0 [label="State 0\n\l  0 $accept: • YY_PARSE_unit unit \"end of file\"\l  1  
      | • YY_PARSE_assignments assignments \"end of file\"\l  2        | • 
YY_PARSE_exp exp \"end of file\"\l"]
-  0 -> 1 [style=solid label="YY_PARSE_unit"]
-  0 -> 2 [style=solid label="YY_PARSE_assignments"]
-  0 -> 3 [style=solid label="YY_PARSE_exp"]
-  1 [label="State 1\n\l  0 $accept: YY_PARSE_unit • unit \"end of file\"\l  3 
unit: • assignments exp\l  4 assignments: • %empty\l  5            | • 
assignments assignment\l"]
-  1 -> 4 [style=dashed label="unit"]
-  1 -> 5 [style=dashed label="assignments"]
-  1 -> "1R4" [style=solid]
- "1R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  2 [label="State 2\n\l  1 $accept: YY_PARSE_assignments • assignments \"end 
of file\"\l  4 assignments: • %empty\l  5            | • assignments 
assignment\l"]
-  2 -> 6 [style=dashed label="assignments"]
-  2 -> "2R4" [style=solid]
- "2R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
-  3 [label="State 3\n\l  2 $accept: YY_PARSE_exp • exp \"end of file\"\l 10 
exp: • \"incr\" exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 12    | • 
\"identifier\"\l 13    | • \"number\"\l"]
-  3 -> 7 [style=solid label="\"incr\""]
-  3 -> 8 [style=solid label="\"identifier\""]
-  3 -> 9 [style=solid label="\"number\""]
-  3 -> 10 [style=solid label="\"(\""]
-  3 -> 11 [style=dashed label="exp"]
-  4 [label="State 4\n\l  0 $accept: YY_PARSE_unit unit • \"end of file\"\l"]
-  4 -> 12 [style=solid label="\"end of file\""]
-  5 [label="State 5\n\l  3 unit: assignments • exp\l  5 assignments: 
assignments • assignment\l  6 assignment: • id \":=\" exp\l  7 id: • 
\"identifier\"\l 10 exp: • \"incr\" exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 
12    | • \"identifier\"\l 13    | • \"number\"\l"]
-  5 -> 7 [style=solid label="\"incr\""]
-  5 -> 13 [style=solid label="\"identifier\""]
-  5 -> 9 [style=solid label="\"number\""]
-  5 -> 10 [style=solid label="\"(\""]
-  5 -> 14 [style=dashed label="assignment"]
-  5 -> 15 [style=dashed label="id"]
-  5 -> 16 [style=dashed label="exp"]
-  6 [label="State 6\n\l  1 $accept: YY_PARSE_assignments assignments • \"end 
of file\"\l  5 assignments: assignments • assignment\l  6 assignment: • id 
\":=\" exp\l  7 id: • \"identifier\"\l"]
-  6 -> 17 [style=solid label="\"end of file\""]
-  6 -> 18 [style=solid label="\"identifier\""]
-  6 -> 14 [style=dashed label="assignment"]
-  6 -> 15 [style=dashed label="id"]
-  7 [label="State 7\n\l 10 exp: • \"incr\" exp @1 @2 exp\l 10    | \"incr\" • 
exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 12    | • \"identifier\"\l 13    | 
• \"number\"\l"]
-  7 -> 7 [style=solid label="\"incr\""]
-  7 -> 8 [style=solid label="\"identifier\""]
-  7 -> 9 [style=solid label="\"number\""]
-  7 -> 10 [style=solid label="\"(\""]
-  7 -> 19 [style=dashed label="exp"]
-  8 [label="State 8\n\l 12 exp: \"identifier\" •\l"]
-  8 -> "8R12" [style=solid]
- "8R12" [label="R12", fillcolor=3, shape=diamond, style=filled]
-  9 [label="State 9\n\l 13 exp: \"number\" •\l"]
-  9 -> "9R13" [style=solid]
- "9R13" [label="R13", fillcolor=3, shape=diamond, style=filled]
-  10 [label="State 10\n\l 10 exp: • \"incr\" exp @1 @2 exp\l 11    | • \"(\" 
exp \")\"\l 11    | \"(\" • exp \")\"\l 12    | • \"identifier\"\l 13    | • 
\"number\"\l"]
-  10 -> 7 [style=solid label="\"incr\""]
-  10 -> 8 [style=solid label="\"identifier\""]
-  10 -> 9 [style=solid label="\"number\""]
-  10 -> 10 [style=solid label="\"(\""]
-  10 -> 20 [style=dashed label="exp"]
-  11 [label="State 11\n\l  2 $accept: YY_PARSE_exp exp • \"end of file\"\l"]
-  11 -> 21 [style=solid label="\"end of file\""]
-  12 [label="State 12\n\l  0 $accept: YY_PARSE_unit unit \"end of file\" •\l"]
-  12 -> "12R0" [style=solid]
- "12R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  13 [label="State 13\n\l  7 id: \"identifier\" •  [\":=\"]\l 12 exp: 
\"identifier\" •  [\"end of file\"]\l"]
-  13 -> "13R7" [style=solid]
- "13R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
-  13 -> "13R12" [label="[\"end of file\"]", style=solid]
- "13R12" [label="R12", fillcolor=3, shape=diamond, style=filled]
-  14 [label="State 14\n\l  5 assignments: assignments assignment •\l"]
-  14 -> "14R5" [style=solid]
- "14R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
-  15 [label="State 15\n\l  6 assignment: id • \":=\" exp\l"]
-  15 -> 22 [style=solid label="\":=\""]
-  16 [label="State 16\n\l  3 unit: assignments exp •\l"]
-  16 -> "16R3" [style=solid]
- "16R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
-  17 [label="State 17\n\l  1 $accept: YY_PARSE_assignments assignments \"end 
of file\" •\l"]
-  17 -> "17R1" [style=solid]
- "17R1" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  18 [label="State 18\n\l  7 id: \"identifier\" •\l"]
-  18 -> "18R7" [style=solid]
- "18R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
-  19 [label="State 19\n\l  8 @1: • %empty\l 10 exp: \"incr\" exp • @1 @2 
exp\l"]
-  19 -> 23 [style=dashed label="@1"]
-  19 -> "19R8" [style=solid]
- "19R8" [label="R8", fillcolor=3, shape=diamond, style=filled]
-  20 [label="State 20\n\l 11 exp: \"(\" exp • \")\"\l"]
-  20 -> 24 [style=solid label="\")\""]
-  21 [label="State 21\n\l  2 $accept: YY_PARSE_exp exp \"end of file\" •\l"]
-  21 -> "21R2" [style=solid]
- "21R2" [label="Acc", fillcolor=1, shape=diamond, style=filled]
-  22 [label="State 22\n\l  6 assignment: id \":=\" • exp\l 10 exp: • \"incr\" 
exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 12    | • \"identifier\"\l 13    | 
• \"number\"\l"]
-  22 -> 7 [style=solid label="\"incr\""]
-  22 -> 8 [style=solid label="\"identifier\""]
-  22 -> 9 [style=solid label="\"number\""]
-  22 -> 10 [style=solid label="\"(\""]
-  22 -> 25 [style=dashed label="exp"]
-  23 [label="State 23\n\l  9 @2: • %empty\l 10 exp: \"incr\" exp @1 • @2 
exp\l"]
-  23 -> 26 [style=dashed label="@2"]
-  23 -> "23R9" [style=solid]
- "23R9" [label="R9", fillcolor=3, shape=diamond, style=filled]
-  24 [label="State 24\n\l 11 exp: \"(\" exp \")\" •\l"]
-  24 -> "24R11" [style=solid]
- "24R11" [label="R11", fillcolor=3, shape=diamond, style=filled]
-  25 [label="State 25\n\l  6 assignment: id \":=\" exp •\l"]
-  25 -> "25R6" [style=solid]
- "25R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
-  26 [label="State 26\n\l 10 exp: • \"incr\" exp @1 @2 exp\l 10    | \"incr\" 
exp @1 @2 • exp\l 11    | • \"(\" exp \")\"\l 12    | • \"identifier\"\l 13    
| • \"number\"\l"]
-  26 -> 7 [style=solid label="\"incr\""]
-  26 -> 8 [style=solid label="\"identifier\""]
-  26 -> 9 [style=solid label="\"number\""]
-  26 -> 10 [style=solid label="\"(\""]
-  26 -> 27 [style=dashed label="exp"]
-  27 [label="State 27\n\l 10 exp: \"incr\" exp @1 @2 exp •\l"]
-  27 -> "27R10" [style=solid]
- "27R10" [label="R10", fillcolor=3, shape=diamond, style=filled]
-}
-]])
-
-
-AT_CHECK([[cat input.xml]], [],
-[[<?xml version="1.0"?>
-
-<bison-xml-report version="]AT_PACKAGE_VERSION[" 
bug-report="bug-bison@gnu.org" url="https://www.gnu.org/software/bison/";>
-
-  <filename>input.yy</filename>
-
-  <grammar>
-    <rules>
-      <rule number="0" usefulness="useful">
-        <lhs>$accept</lhs>
-        <rhs>
-          <symbol>YY_PARSE_unit</symbol>
-          <symbol>unit</symbol>
-          <symbol>&quot;end of file&quot;</symbol>
-        </rhs>
-      </rule>
-      <rule number="1" usefulness="useful">
-        <lhs>$accept</lhs>
-        <rhs>
-          <symbol>YY_PARSE_assignments</symbol>
-          <symbol>assignments</symbol>
-          <symbol>&quot;end of file&quot;</symbol>
-        </rhs>
-      </rule>
-      <rule number="2" usefulness="useful">
-        <lhs>$accept</lhs>
-        <rhs>
-          <symbol>YY_PARSE_exp</symbol>
-          <symbol>exp</symbol>
-          <symbol>&quot;end of file&quot;</symbol>
-        </rhs>
-      </rule>
-      <rule number="3" usefulness="useful">
-        <lhs>unit</lhs>
-        <rhs>
-          <symbol>assignments</symbol>
-          <symbol>exp</symbol>
-        </rhs>
-      </rule>
-      <rule number="4" usefulness="useful">
-        <lhs>assignments</lhs>
-        <rhs>
-          <empty/>
-        </rhs>
-      </rule>
-      <rule number="5" usefulness="useful">
-        <lhs>assignments</lhs>
-        <rhs>
-          <symbol>assignments</symbol>
-          <symbol>assignment</symbol>
-        </rhs>
-      </rule>
-      <rule number="6" usefulness="useful">
-        <lhs>assignment</lhs>
-        <rhs>
-          <symbol>id</symbol>
-          <symbol>&quot;:=&quot;</symbol>
-          <symbol>exp</symbol>
-        </rhs>
-      </rule>
-      <rule number="7" usefulness="useful">
-        <lhs>id</lhs>
-        <rhs>
-          <symbol>&quot;identifier&quot;</symbol>
-        </rhs>
-      </rule>
-      <rule number="8" usefulness="useful">
-        <lhs>@1</lhs>
-        <rhs>
-          <empty/>
-        </rhs>
-      </rule>
-      <rule number="9" usefulness="useful">
-        <lhs>@2</lhs>
-        <rhs>
-          <empty/>
-        </rhs>
-      </rule>
-      <rule number="10" usefulness="useful">
-        <lhs>exp</lhs>
-        <rhs>
-          <symbol>&quot;incr&quot;</symbol>
-          <symbol>exp</symbol>
-          <symbol>@1</symbol>
-          <symbol>@2</symbol>
-          <symbol>exp</symbol>
-        </rhs>
-      </rule>
-      <rule number="11" usefulness="useful">
-        <lhs>exp</lhs>
-        <rhs>
-          <symbol>&quot;(&quot;</symbol>
-          <symbol>exp</symbol>
-          <symbol>&quot;)&quot;</symbol>
-        </rhs>
-      </rule>
-      <rule number="12" usefulness="useful">
-        <lhs>exp</lhs>
-        <rhs>
-          <symbol>&quot;identifier&quot;</symbol>
-        </rhs>
-      </rule>
-      <rule number="13" usefulness="useful">
-        <lhs>exp</lhs>
-        <rhs>
-          <symbol>&quot;number&quot;</symbol>
-        </rhs>
-      </rule>
-    </rules>
-    <terminals>
-      <terminal symbol-number="0" token-number="0" name="&quot;end of 
file&quot;" type="" usefulness="useful"/>
-      <terminal symbol-number="1" token-number="256" name="error" type="" 
usefulness="useful"/>
-      <terminal symbol-number="3" token-number="258" name="&quot;:=&quot;" 
type="" usefulness="useful"/>
-      <terminal symbol-number="4" token-number="259" name="&quot;incr&quot;" 
type="" usefulness="useful"/>
-      <terminal symbol-number="5" token-number="260" 
name="&quot;identifier&quot;" type="std::string" usefulness="useful"/>
-      <terminal symbol-number="6" token-number="261" name="&quot;number&quot;" 
type="int" usefulness="useful"/>
-      <terminal symbol-number="7" token-number="262" name="YY_PARSE_unit" 
type="" usefulness="useful"/>
-      <terminal symbol-number="8" token-number="263" 
name="YY_PARSE_assignments" type="" usefulness="useful"/>
-      <terminal symbol-number="9" token-number="264" name="YY_PARSE_exp" 
type="" usefulness="useful"/>
-      <terminal symbol-number="10" token-number="265" name="&quot;(&quot;" 
type="" usefulness="useful"/>
-      <terminal symbol-number="11" token-number="266" name="&quot;)&quot;" 
type="" usefulness="useful"/>
-    </terminals>
-    <nonterminals>
-      <nonterminal symbol-number="12" name="$accept" type="" 
usefulness="useful"/>
-      <nonterminal symbol-number="13" name="unit" type="" usefulness="useful"/>
-      <nonterminal symbol-number="14" name="assignments" type="" 
usefulness="useful"/>
-      <nonterminal symbol-number="15" name="assignment" type="" 
usefulness="useful"/>
-      <nonterminal symbol-number="16" name="id" type="std::string" 
usefulness="useful"/>
-      <nonterminal symbol-number="17" name="exp" type="int" 
usefulness="useful"/>
-      <nonterminal symbol-number="18" name="@1" type="int" 
usefulness="useful"/>
-      <nonterminal symbol-number="19" name="@2" type="int" 
usefulness="useful"/>
-    </nonterminals>
-  </grammar>
-
-  <automaton>
-
-    <state number="0">
-      <itemset>
-        <item rule-number="0" dot="0"/>
-        <item rule-number="1" dot="0"/>
-        <item rule-number="2" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="YY_PARSE_unit" state="1"/>
-          <transition type="shift" symbol="YY_PARSE_assignments" state="2"/>
-          <transition type="shift" symbol="YY_PARSE_exp" state="3"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="1">
-      <itemset>
-        <item rule-number="0" dot="1"/>
-        <item rule-number="3" dot="0"/>
-        <item rule-number="4" dot="0"/>
-        <item rule-number="5" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="goto" symbol="unit" state="4"/>
-          <transition type="goto" symbol="assignments" state="5"/>
-        </transitions>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="4" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="2">
-      <itemset>
-        <item rule-number="1" dot="1"/>
-        <item rule-number="4" dot="0"/>
-        <item rule-number="5" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="goto" symbol="assignments" state="6"/>
-        </transitions>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="4" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="3">
-      <itemset>
-        <item rule-number="2" dot="1"/>
-        <item rule-number="10" dot="0"/>
-        <item rule-number="11" dot="0"/>
-        <item rule-number="12" dot="0"/>
-        <item rule-number="13" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="8"/>
-          <transition type="shift" symbol="&quot;number&quot;" state="9"/>
-          <transition type="shift" symbol="&quot;(&quot;" state="10"/>
-          <transition type="goto" symbol="exp" state="11"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="4">
-      <itemset>
-        <item rule-number="0" dot="2"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;end of file&quot;" 
state="12"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="5">
-      <itemset>
-        <item rule-number="3" dot="1"/>
-        <item rule-number="5" dot="1"/>
-        <item rule-number="6" dot="0"/>
-        <item rule-number="7" dot="0"/>
-        <item rule-number="10" dot="0"/>
-        <item rule-number="11" dot="0"/>
-        <item rule-number="12" dot="0"/>
-        <item rule-number="13" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="13"/>
-          <transition type="shift" symbol="&quot;number&quot;" state="9"/>
-          <transition type="shift" symbol="&quot;(&quot;" state="10"/>
-          <transition type="goto" symbol="assignment" state="14"/>
-          <transition type="goto" symbol="id" state="15"/>
-          <transition type="goto" symbol="exp" state="16"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="6">
-      <itemset>
-        <item rule-number="1" dot="2"/>
-        <item rule-number="5" dot="1"/>
-        <item rule-number="6" dot="0"/>
-        <item rule-number="7" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;end of file&quot;" 
state="17"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="18"/>
-          <transition type="goto" symbol="assignment" state="14"/>
-          <transition type="goto" symbol="id" state="15"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="7">
-      <itemset>
-        <item rule-number="10" dot="0"/>
-        <item rule-number="10" dot="1"/>
-        <item rule-number="11" dot="0"/>
-        <item rule-number="12" dot="0"/>
-        <item rule-number="13" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="8"/>
-          <transition type="shift" symbol="&quot;number&quot;" state="9"/>
-          <transition type="shift" symbol="&quot;(&quot;" state="10"/>
-          <transition type="goto" symbol="exp" state="19"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="8">
-      <itemset>
-        <item rule-number="12" dot="1"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="12" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="9">
-      <itemset>
-        <item rule-number="13" dot="1"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="13" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="10">
-      <itemset>
-        <item rule-number="10" dot="0"/>
-        <item rule-number="11" dot="0"/>
-        <item rule-number="11" dot="1"/>
-        <item rule-number="12" dot="0"/>
-        <item rule-number="13" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="8"/>
-          <transition type="shift" symbol="&quot;number&quot;" state="9"/>
-          <transition type="shift" symbol="&quot;(&quot;" state="10"/>
-          <transition type="goto" symbol="exp" state="20"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="11">
-      <itemset>
-        <item rule-number="2" dot="2"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;end of file&quot;" 
state="21"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="12">
-      <itemset>
-        <item rule-number="0" dot="3"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="accept" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="13">
-      <itemset>
-        <item rule-number="7" dot="1">
-          <lookaheads>
-            <symbol>&quot;:=&quot;</symbol>
-          </lookaheads>
-        </item>
-        <item rule-number="12" dot="1">
-          <lookaheads>
-            <symbol>&quot;end of file&quot;</symbol>
-          </lookaheads>
-        </item>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="&quot;end of file&quot;" rule="12" 
enabled="true"/>
-          <reduction symbol="$default" rule="7" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="14">
-      <itemset>
-        <item rule-number="5" dot="2"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="5" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="15">
-      <itemset>
-        <item rule-number="6" dot="1"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;:=&quot;" state="22"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="16">
-      <itemset>
-        <item rule-number="3" dot="2"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="3" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="17">
-      <itemset>
-        <item rule-number="1" dot="3"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="accept" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="18">
-      <itemset>
-        <item rule-number="7" dot="1"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="7" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="19">
-      <itemset>
-        <item rule-number="8" dot="0"/>
-        <item rule-number="10" dot="2"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="goto" symbol="@1" state="23"/>
-        </transitions>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="8" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="20">
-      <itemset>
-        <item rule-number="11" dot="2"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;)&quot;" state="24"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="21">
-      <itemset>
-        <item rule-number="2" dot="3"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="accept" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="22">
-      <itemset>
-        <item rule-number="6" dot="2"/>
-        <item rule-number="10" dot="0"/>
-        <item rule-number="11" dot="0"/>
-        <item rule-number="12" dot="0"/>
-        <item rule-number="13" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="8"/>
-          <transition type="shift" symbol="&quot;number&quot;" state="9"/>
-          <transition type="shift" symbol="&quot;(&quot;" state="10"/>
-          <transition type="goto" symbol="exp" state="25"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="23">
-      <itemset>
-        <item rule-number="9" dot="0"/>
-        <item rule-number="10" dot="3"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="goto" symbol="@2" state="26"/>
-        </transitions>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="9" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="24">
-      <itemset>
-        <item rule-number="11" dot="3"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="11" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="25">
-      <itemset>
-        <item rule-number="6" dot="3"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="6" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="26">
-      <itemset>
-        <item rule-number="10" dot="0"/>
-        <item rule-number="10" dot="4"/>
-        <item rule-number="11" dot="0"/>
-        <item rule-number="12" dot="0"/>
-        <item rule-number="13" dot="0"/>
-      </itemset>
-      <actions>
-        <transitions>
-          <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
-          <transition type="shift" symbol="&quot;identifier&quot;" state="8"/>
-          <transition type="shift" symbol="&quot;number&quot;" state="9"/>
-          <transition type="shift" symbol="&quot;(&quot;" state="10"/>
-          <transition type="goto" symbol="exp" state="27"/>
-        </transitions>
-        <errors/>
-        <reductions/>
-      </actions>
-      <solved-conflicts/>
-    </state>
-
-    <state number="27">
-      <itemset>
-        <item rule-number="10" dot="5"/>
-      </itemset>
-      <actions>
-        <transitions/>
-        <errors/>
-        <reductions>
-          <reduction symbol="$default" rule="10" enabled="true"/>
-        </reductions>
-      </actions>
-      <solved-conflicts/>
-    </state>
-  </automaton>
-</bison-xml-report>
-]])
-
-if test x"$XSLTPROC" != x""; then
-  AT_CHECK([[$XSLTPROC \
-             `]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \
-             input.xml >input.html]])
-  AT_CHECK_HTML([input.html],
-[[<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml"; 
xmlns:bison="https://www.gnu.org/software/bison/";>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
-    <title>input.yy - GNU Bison XML Automaton Report</title>
-    <style type="text/css">
-      body {
-        font-family: "Nimbus Sans L", Arial, sans-serif;
-        font-size: 9pt;
-      }
-      a:link {
-        color: #1f00ff;
-        text-decoration: none;
-      }
-      a:visited {
-        color: #1f00ff;
-        text-decoration: none;
-      }
-      a:hover {
-        color: red;
-      }
-      #menu a {
-        text-decoration: underline;
-      }
-      .i {
-        font-style: italic;
-      }
-      .pre {
-        font-family: monospace;
-        white-space: pre;
-      }
-      ol.decimal {
-        list-style-type: decimal;
-      }
-      ol.lower-alpha {
-        list-style-type: lower-alpha;
-      }
-      .dot {
-        color: #cc0000;
-      }
-      #footer {
-        margin-top: 3.5em;
-        font-size: 7pt;
-      }
-      </style>
-  </head>
-  <body><h1>GNU Bison XML Automaton Report</h1><p>
-    input grammar: <span class="i">input.yy</span></p>
-
-<h3>Table of Contents</h3><ul id="menu"><li><a 
href="#reductions">Reductions</a><ul class="lower-alpha"><li><a 
href="#nonterminals_useless_in_grammar">Nonterminals useless in 
grammar</a></li><li><a href="#terminals_unused_in_grammar">Terminals unused in 
grammar</a></li><li><a href="#rules_useless_in_grammar">Rules useless in 
grammar</a></li></ul></li><li><a href="#conflicts">Conflicts</a></li><li><a 
href="#grammar">Grammar</a><ul class="lower-alpha"><li><a 
href="#grammar">Itemset</a></li><li><a href="#terminals">Terminal 
symbols</a></li><li><a href="#nonterminals">Nonterminal 
symbols</a></li></ul></li><li><a 
href="#automaton">Automaton</a></li></ul><h2><a name="reductions" 
id="reductions"></a> Reductions</h2><h3><a 
name="nonterminals_useless_in_grammar" 
id="nonterminals_useless_in_grammar"></a> Nonterminals useless in grammar</h3>
-
-<h3><a name="terminals_unused_in_grammar" 
id="terminals_unused_in_grammar"></a> Terminals unused in grammar</h3>
-
-<h3><a name="rules_useless_in_grammar" id="rules_useless_in_grammar"></a> 
Rules useless in grammar</h3>
-<h2><a name="conflicts" id="conflicts"></a> Conflicts</h2>
-
-<h2><a name="grammar" id="grammar"></a> Grammar</h2>
-<p class="pre">
-  <a name="rule_0" id="rule_0">  0</a> <span class="i">$accept</span> → 
<b>YY_PARSE_unit</b> <span class="i">unit</span> <b>"end of file"</b>
-  <a name="rule_1" id="rule_1">  1</a>         | <b>YY_PARSE_assignments</b> 
<span class="i">assignments</span> <b>"end of file"</b>
-  <a name="rule_2" id="rule_2">  2</a>         | <b>YY_PARSE_exp</b> <span 
class="i">exp</span> <b>"end of file"</b>
-
-  <a name="rule_3" id="rule_3">  3</a> <span class="i">unit</span> → <span 
class="i">assignments</span> <span class="i">exp</span>
-
-  <a name="rule_4" id="rule_4">  4</a> <span class="i">assignments</span> → 
%empty
-  <a name="rule_5" id="rule_5">  5</a>             | <span 
class="i">assignments</span> <span class="i">assignment</span>
-
-  <a name="rule_6" id="rule_6">  6</a> <span class="i">assignment</span> → 
<span class="i">id</span> <b>":="</b> <span class="i">exp</span>
-
-  <a name="rule_7" id="rule_7">  7</a> <span class="i">id</span> → 
<b>"identifier"</b>
-
-  <a name="rule_8" id="rule_8">  8</a> <span class="i">@1</span> → %empty
-
-  <a name="rule_9" id="rule_9">  9</a> <span class="i">@2</span> → %empty
-
-  <a name="rule_10" id="rule_10"> 10</a> <span class="i">exp</span> → 
<b>"incr"</b> <span class="i">exp</span> <span class="i">@1</span> <span 
class="i">@2</span> <span class="i">exp</span>
-  <a name="rule_11" id="rule_11"> 11</a>     | <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a name="rule_12" id="rule_12"> 12</a>     | <b>"identifier"</b>
-  <a name="rule_13" id="rule_13"> 13</a>     | <b>"number"</b>
-</p>
-
-<h3><a name="terminals" id="terminals"></a> Terminals, with rules where they 
appear</h3>
-
-<ul>
-  <li><b>"end of file"</b> (0) <a href="#rule_0">0</a> <a href="#rule_1">1</a> 
<a href="#rule_2">2</a></li>
-  <li><b>error</b> (256)</li>
-  <li><b>":="</b> (258) <a href="#rule_6">6</a></li>
-  <li><b>"incr"</b> (259) <a href="#rule_10">10</a></li>
-  <li><b>"identifier"</b> &lt;std::string&gt; (260) <a href="#rule_7">7</a> <a 
href="#rule_12">12</a></li>
-  <li><b>"number"</b> &lt;int&gt; (261) <a href="#rule_13">13</a></li>
-  <li><b>YY_PARSE_unit</b> (262) <a href="#rule_0">0</a></li>
-  <li><b>YY_PARSE_assignments</b> (263) <a href="#rule_1">1</a></li>
-  <li><b>YY_PARSE_exp</b> (264) <a href="#rule_2">2</a></li>
-  <li><b>"("</b> (265) <a href="#rule_11">11</a></li>
-  <li><b>")"</b> (266) <a href="#rule_11">11</a></li>
-</ul>
-
-<h3><a name="nonterminals" id="nonterminals"></a> Nonterminals, with rules 
where they appear</h3>
-
-<ul>
-  <li><b>$accept</b> (12)
-    <ul>
-      <li>on left: <a href="#rule_0">0</a> <a href="#rule_1">1</a> <a 
href="#rule_2">2</a></li>
-    </ul>
-  </li>
-  <li><b>unit</b> (13)
-    <ul>
-      <li>on left: <a href="#rule_3">3</a></li>
-      <li>on right: <a href="#rule_0">0</a></li>
-    </ul>
-  </li>
-  <li><b>assignments</b> (14)
-    <ul>
-      <li>on left: <a href="#rule_4">4</a> <a href="#rule_5">5</a></li>
-      <li>on right: <a href="#rule_1">1</a> <a href="#rule_3">3</a> <a 
href="#rule_5">5</a></li>
-    </ul>
-  </li>
-  <li><b>assignment</b> (15)
-    <ul>
-      <li>on left: <a href="#rule_6">6</a></li>
-      <li>on right: <a href="#rule_5">5</a></li>
-    </ul>
-  </li>
-  <li><b>id</b> &lt;std::string&gt; (16)
-    <ul>
-      <li>on left: <a href="#rule_7">7</a></li>
-      <li>on right: <a href="#rule_6">6</a></li>
-    </ul>
-  </li>
-  <li><b>exp</b> &lt;int&gt; (17)
-    <ul>
-      <li>on left: <a href="#rule_10">10</a> <a href="#rule_11">11</a> <a 
href="#rule_12">12</a> <a href="#rule_13">13</a></li>
-      <li>on right: <a href="#rule_2">2</a> <a href="#rule_3">3</a> <a 
href="#rule_6">6</a> <a href="#rule_10">10</a> <a href="#rule_11">11</a></li>
-    </ul>
-  </li>
-  <li><b>@1</b> &lt;int&gt; (18)
-    <ul>
-      <li>on left: <a href="#rule_8">8</a></li>
-      <li>on right: <a href="#rule_10">10</a></li>
-    </ul>
-  </li>
-  <li><b>@2</b> &lt;int&gt; (19)
-    <ul>
-      <li>on left: <a href="#rule_9">9</a></li>
-      <li>on right: <a href="#rule_10">10</a></li>
-    </ul>
-  </li>
-</ul><h2><a name="automaton" id="automaton"></a> Automaton</h2>
-
-<h3><a name="state_0" id="state_0"></a>State 0</h3>
-
-<p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> → 
<span class="dot">•</span> <b>YY_PARSE_unit</b> <span class="i">unit</span> 
<b>"end of file"</b>
-  <a href="#rule_1">  1</a>         | <span class="dot">•</span> 
<b>YY_PARSE_assignments</b> <span class="i">assignments</span> <b>"end of 
file"</b>
-  <a href="#rule_2">  2</a>         | <span class="dot">•</span> 
<b>YY_PARSE_exp</b> <span class="i">exp</span> <b>"end of file"</b>
-
-    YY_PARSE_unit         <a href="#state_1">shift, and go to state 1</a>
-    YY_PARSE_assignments  <a href="#state_2">shift, and go to state 2</a>
-    YY_PARSE_exp          <a href="#state_3">shift, and go to state 3</a>
-</p>
-
-<h3><a name="state_1" id="state_1"></a>State 1</h3>
-
-<p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> → 
<b>YY_PARSE_unit</b> <span class="dot">•</span> <span class="i">unit</span> 
<b>"end of file"</b>
-  <a href="#rule_3">  3</a> <span class="i">unit</span> → <span 
class="dot">•</span> <span class="i">assignments</span> <span 
class="i">exp</span>
-  <a href="#rule_4">  4</a> <span class="i">assignments</span> → <span 
class="dot">•</span> %empty
-  <a href="#rule_5">  5</a>             | <span class="dot">•</span> <span 
class="i">assignments</span> <span class="i">assignment</span>
-
-    $default  <a href="#rule_4">reduce using rule 4</a> (assignments)
-
-    unit         <a href="#state_4">go to state 4</a>
-    assignments  <a href="#state_5">go to state 5</a>
-</p>
-
-<h3><a name="state_2" id="state_2"></a>State 2</h3>
-
-<p class="pre">  <a href="#rule_1">  1</a> <span class="i">$accept</span> → 
<b>YY_PARSE_assignments</b> <span class="dot">•</span> <span 
class="i">assignments</span> <b>"end of file"</b>
-  <a href="#rule_4">  4</a> <span class="i">assignments</span> → <span 
class="dot">•</span> %empty
-  <a href="#rule_5">  5</a>             | <span class="dot">•</span> <span 
class="i">assignments</span> <span class="i">assignment</span>
-
-    $default  <a href="#rule_4">reduce using rule 4</a> (assignments)
-
-    assignments  <a href="#state_6">go to state 6</a>
-</p>
-
-<h3><a name="state_3" id="state_3"></a>State 3</h3>
-
-<p class="pre">  <a href="#rule_2">  2</a> <span class="i">$accept</span> → 
<b>YY_PARSE_exp</b> <span class="dot">•</span> <span class="i">exp</span> 
<b>"end of file"</b>
-  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
-  <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
-  <a href="#rule_13"> 13</a>     | <span class="dot">•</span> <b>"number"</b>
-
-    "incr"        <a href="#state_7">shift, and go to state 7</a>
-    "identifier"  <a href="#state_8">shift, and go to state 8</a>
-    "number"      <a href="#state_9">shift, and go to state 9</a>
-    "("           <a href="#state_10">shift, and go to state 10</a>
-
-    exp  <a href="#state_11">go to state 11</a>
-</p>
-
-<h3><a name="state_4" id="state_4"></a>State 4</h3>
-
-<p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> → 
<b>YY_PARSE_unit</b> <span class="i">unit</span> <span class="dot">•</span> 
<b>"end of file"</b>
-
-    "end of file"  <a href="#state_12">shift, and go to state 12</a>
-</p>
-
-<h3><a name="state_5" id="state_5"></a>State 5</h3>
-
-<p class="pre">  <a href="#rule_3">  3</a> <span class="i">unit</span> → <span 
class="i">assignments</span> <span class="dot">•</span> <span 
class="i">exp</span>
-  <a href="#rule_5">  5</a> <span class="i">assignments</span> → <span 
class="i">assignments</span> <span class="dot">•</span> <span 
class="i">assignment</span>
-  <a href="#rule_6">  6</a> <span class="i">assignment</span> → <span 
class="dot">•</span> <span class="i">id</span> <b>":="</b> <span 
class="i">exp</span>
-  <a href="#rule_7">  7</a> <span class="i">id</span> → <span 
class="dot">•</span> <b>"identifier"</b>
-  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
-  <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
-  <a href="#rule_13"> 13</a>     | <span class="dot">•</span> <b>"number"</b>
-
-    "incr"        <a href="#state_7">shift, and go to state 7</a>
-    "identifier"  <a href="#state_13">shift, and go to state 13</a>
-    "number"      <a href="#state_9">shift, and go to state 9</a>
-    "("           <a href="#state_10">shift, and go to state 10</a>
-
-    assignment  <a href="#state_14">go to state 14</a>
-    id          <a href="#state_15">go to state 15</a>
-    exp         <a href="#state_16">go to state 16</a>
-</p>
-
-<h3><a name="state_6" id="state_6"></a>State 6</h3>
-
-<p class="pre">  <a href="#rule_1">  1</a> <span class="i">$accept</span> → 
<b>YY_PARSE_assignments</b> <span class="i">assignments</span> <span 
class="dot">•</span> <b>"end of file"</b>
-  <a href="#rule_5">  5</a> <span class="i">assignments</span> → <span 
class="i">assignments</span> <span class="dot">•</span> <span 
class="i">assignment</span>
-  <a href="#rule_6">  6</a> <span class="i">assignment</span> → <span 
class="dot">•</span> <span class="i">id</span> <b>":="</b> <span 
class="i">exp</span>
-  <a href="#rule_7">  7</a> <span class="i">id</span> → <span 
class="dot">•</span> <b>"identifier"</b>
-
-    "end of file"  <a href="#state_17">shift, and go to state 17</a>
-    "identifier"   <a href="#state_18">shift, and go to state 18</a>
-
-    assignment  <a href="#state_14">go to state 14</a>
-    id          <a href="#state_15">go to state 15</a>
-</p>
-
-<h3><a name="state_7" id="state_7"></a>State 7</h3>
-
-<p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
-  <a href="#rule_10"> 10</a>     | <b>"incr"</b> <span class="dot">•</span> 
<span class="i">exp</span> <span class="i">@1</span> <span class="i">@2</span> 
<span class="i">exp</span>
-  <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
-  <a href="#rule_13"> 13</a>     | <span class="dot">•</span> <b>"number"</b>
-
-    "incr"        <a href="#state_7">shift, and go to state 7</a>
-    "identifier"  <a href="#state_8">shift, and go to state 8</a>
-    "number"      <a href="#state_9">shift, and go to state 9</a>
-    "("           <a href="#state_10">shift, and go to state 10</a>
-
-    exp  <a href="#state_19">go to state 19</a>
-</p>
-
-<h3><a name="state_8" id="state_8"></a>State 8</h3>
-
-<p class="pre">  <a href="#rule_12"> 12</a> <span class="i">exp</span> → 
<b>"identifier"</b> <span class="dot">•</span>
-
-    $default  <a href="#rule_12">reduce using rule 12</a> (exp)
-</p>
-
-<h3><a name="state_9" id="state_9"></a>State 9</h3>
-
-<p class="pre">  <a href="#rule_13"> 13</a> <span class="i">exp</span> → 
<b>"number"</b> <span class="dot">•</span>
-
-    $default  <a href="#rule_13">reduce using rule 13</a> (exp)
-</p>
-
-<h3><a name="state_10" id="state_10"></a>State 10</h3>
-
-<p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
-  <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_11"> 11</a>     | <b>"("</b> <span class="dot">•</span> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
-  <a href="#rule_13"> 13</a>     | <span class="dot">•</span> <b>"number"</b>
-
-    "incr"        <a href="#state_7">shift, and go to state 7</a>
-    "identifier"  <a href="#state_8">shift, and go to state 8</a>
-    "number"      <a href="#state_9">shift, and go to state 9</a>
-    "("           <a href="#state_10">shift, and go to state 10</a>
-
-    exp  <a href="#state_20">go to state 20</a>
-</p>
-
-<h3><a name="state_11" id="state_11"></a>State 11</h3>
-
-<p class="pre">  <a href="#rule_2">  2</a> <span class="i">$accept</span> → 
<b>YY_PARSE_exp</b> <span class="i">exp</span> <span class="dot">•</span> 
<b>"end of file"</b>
-
-    "end of file"  <a href="#state_21">shift, and go to state 21</a>
-</p>
-
-<h3><a name="state_12" id="state_12"></a>State 12</h3>
-
-<p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> → 
<b>YY_PARSE_unit</b> <span class="i">unit</span> <b>"end of file"</b> <span 
class="dot">•</span>
-
-    $default  accept
-</p>
-
-<h3><a name="state_13" id="state_13"></a>State 13</h3>
-
-<p class="pre">  <a href="#rule_7">  7</a> <span class="i">id</span> → 
<b>"identifier"</b> <span class="dot">•</span>  [":="]
-  <a href="#rule_12"> 12</a> <span class="i">exp</span> → <b>"identifier"</b> 
<span class="dot">•</span>  ["end of file"]
-
-    "end of file"  <a href="#rule_12">reduce using rule 12</a> (exp)
-    $default       <a href="#rule_7">reduce using rule 7</a> (id)
-</p>
-
-<h3><a name="state_14" id="state_14"></a>State 14</h3>
-
-<p class="pre">  <a href="#rule_5">  5</a> <span class="i">assignments</span> 
→ <span class="i">assignments</span> <span class="i">assignment</span> <span 
class="dot">•</span>
-
-    $default  <a href="#rule_5">reduce using rule 5</a> (assignments)
-</p>
-
-<h3><a name="state_15" id="state_15"></a>State 15</h3>
-
-<p class="pre">  <a href="#rule_6">  6</a> <span class="i">assignment</span> → 
<span class="i">id</span> <span class="dot">•</span> <b>":="</b> <span 
class="i">exp</span>
-
-    ":="  <a href="#state_22">shift, and go to state 22</a>
-</p>
-
-<h3><a name="state_16" id="state_16"></a>State 16</h3>
-
-<p class="pre">  <a href="#rule_3">  3</a> <span class="i">unit</span> → <span 
class="i">assignments</span> <span class="i">exp</span> <span 
class="dot">•</span>
-
-    $default  <a href="#rule_3">reduce using rule 3</a> (unit)
-</p>
-
-<h3><a name="state_17" id="state_17"></a>State 17</h3>
-
-<p class="pre">  <a href="#rule_1">  1</a> <span class="i">$accept</span> → 
<b>YY_PARSE_assignments</b> <span class="i">assignments</span> <b>"end of 
file"</b> <span class="dot">•</span>
-
-    $default  accept
-</p>
-
-<h3><a name="state_18" id="state_18"></a>State 18</h3>
-
-<p class="pre">  <a href="#rule_7">  7</a> <span class="i">id</span> → 
<b>"identifier"</b> <span class="dot">•</span>
-
-    $default  <a href="#rule_7">reduce using rule 7</a> (id)
-</p>
-
-<h3><a name="state_19" id="state_19"></a>State 19</h3>
-
-<p class="pre">  <a href="#rule_8">  8</a> <span class="i">@1</span> → <span 
class="dot">•</span> %empty
-  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <b>"incr"</b> <span 
class="i">exp</span> <span class="dot">•</span> <span class="i">@1</span> <span 
class="i">@2</span> <span class="i">exp</span>
-
-    $default  <a href="#rule_8">reduce using rule 8</a> (@1)
-
-    @1  <a href="#state_23">go to state 23</a>
-</p>
-
-<h3><a name="state_20" id="state_20"></a>State 20</h3>
-
-<p class="pre">  <a href="#rule_11"> 11</a> <span class="i">exp</span> → 
<b>"("</b> <span class="i">exp</span> <span class="dot">•</span> <b>")"</b>
-
-    ")"  <a href="#state_24">shift, and go to state 24</a>
-</p>
-
-<h3><a name="state_21" id="state_21"></a>State 21</h3>
-
-<p class="pre">  <a href="#rule_2">  2</a> <span class="i">$accept</span> → 
<b>YY_PARSE_exp</b> <span class="i">exp</span> <b>"end of file"</b> <span 
class="dot">•</span>
-
-    $default  accept
-</p>
-
-<h3><a name="state_22" id="state_22"></a>State 22</h3>
-
-<p class="pre">  <a href="#rule_6">  6</a> <span class="i">assignment</span> → 
<span class="i">id</span> <b>":="</b> <span class="dot">•</span> <span 
class="i">exp</span>
-  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
-  <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
-  <a href="#rule_13"> 13</a>     | <span class="dot">•</span> <b>"number"</b>
-
-    "incr"        <a href="#state_7">shift, and go to state 7</a>
-    "identifier"  <a href="#state_8">shift, and go to state 8</a>
-    "number"      <a href="#state_9">shift, and go to state 9</a>
-    "("           <a href="#state_10">shift, and go to state 10</a>
-
-    exp  <a href="#state_25">go to state 25</a>
-</p>
-
-<h3><a name="state_23" id="state_23"></a>State 23</h3>
-
-<p class="pre">  <a href="#rule_9">  9</a> <span class="i">@2</span> → <span 
class="dot">•</span> %empty
-  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <b>"incr"</b> <span 
class="i">exp</span> <span class="i">@1</span> <span class="dot">•</span> <span 
class="i">@2</span> <span class="i">exp</span>
-
-    $default  <a href="#rule_9">reduce using rule 9</a> (@2)
-
-    @2  <a href="#state_26">go to state 26</a>
-</p>
-
-<h3><a name="state_24" id="state_24"></a>State 24</h3>
-
-<p class="pre">  <a href="#rule_11"> 11</a> <span class="i">exp</span> → 
<b>"("</b> <span class="i">exp</span> <b>")"</b> <span class="dot">•</span>
-
-    $default  <a href="#rule_11">reduce using rule 11</a> (exp)
-</p>
-
-<h3><a name="state_25" id="state_25"></a>State 25</h3>
-
-<p class="pre">  <a href="#rule_6">  6</a> <span class="i">assignment</span> → 
<span class="i">id</span> <b>":="</b> <span class="i">exp</span> <span 
class="dot">•</span>
-
-    $default  <a href="#rule_6">reduce using rule 6</a> (assignment)
-</p>
-
-<h3><a name="state_26" id="state_26"></a>State 26</h3>
-
-<p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
-  <a href="#rule_10"> 10</a>     | <b>"incr"</b> <span class="i">exp</span> 
<span class="i">@1</span> <span class="i">@2</span> <span class="dot">•</span> 
<span class="i">exp</span>
-  <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
-  <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
-  <a href="#rule_13"> 13</a>     | <span class="dot">•</span> <b>"number"</b>
-
-    "incr"        <a href="#state_7">shift, and go to state 7</a>
-    "identifier"  <a href="#state_8">shift, and go to state 8</a>
-    "number"      <a href="#state_9">shift, and go to state 9</a>
-    "("           <a href="#state_10">shift, and go to state 10</a>
-
-    exp  <a href="#state_27">go to state 27</a>
-</p>
-
-<h3><a name="state_27" id="state_27"></a>State 27</h3>
-
-<p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → 
<b>"incr"</b> <span class="i">exp</span> <span class="i">@1</span> <span 
class="i">@2</span> <span class="i">exp</span> <span class="dot">•</span>
-
-    $default  <a href="#rule_10">reduce using rule 10</a> (exp)
-</p>
-
-<div id="footer"><hr />This document was generated using
-      <a href="https://www.gnu.org/software/bison/"; title="GNU Bison">
-      GNU Bison ]AT_PACKAGE_VERSION[</a>
-      XML Automaton Report.<br />
-      Verbatim copying and distribution of this entire page is
-      permitted in any medium, provided this notice is preserved.</div></body>
-</html>
-]])
-fi
-
-AT_BISON_OPTION_POPDEFS
-AT_CLEANUP
+dnl Disable because aborts on some architectures.  Not scheduled for 3.8 
anyway.
+dnl <https://lists.gnu.org/r/bug-bison/2021-08/msg00027.html>
+dnl
+dnl ## -------------------- ##
+dnl ## Multistart reports.  ##
+dnl ## -------------------- ##
+dnl
+dnl AT_SETUP([Multistart reports])
+dnl
+dnl AT_KEYWORDS([multistart report])
+dnl
+dnl AT_BISON_OPTION_PUSHDEFS
+dnl AT_DATA([input.yy],
+dnl [[%token
+dnl   END  0  "end of file"
+dnl   ASSIGN  ":="
+dnl   INCR    "incr"
+dnl ;
+dnl
+dnl %token <std::string> IDENTIFIER "identifier"
+dnl %type <std::string> id
+dnl %token <int> NUMBER "number"
+dnl %type  <int> exp
+dnl
+dnl %%
+dnl %start unit assignments exp;
+dnl unit: assignments exp  { driver.result = $2; };
+dnl
+dnl assignments:
+dnl   %empty                 {}
+dnl | assignments assignment {};
+dnl
+dnl assignment:
+dnl   id ":=" exp { driver.variables[$id] = $exp; };
+dnl
+dnl id:
+dnl   "identifier";
+dnl
+dnl exp:
+dnl   "incr" exp <int>{ $$ = 1; } <int>{ $$ = 10; } exp   { $$ = $2 + $3 + $4 
+ $5; }
+dnl | "(" exp ")"   { std::swap ($$, $2); }
+dnl | "identifier"  { $$ = driver.variables[$1]; }
+dnl | "number"      { std::swap ($$, $1); };
+dnl ]])
+dnl
+dnl AT_BISON_CHECK([-o input.cc -rall --graph=input.gv --xml input.yy])
+dnl
+dnl # Check the contents of the report.
+dnl AT_CHECK([cat input.output], [],
+dnl [[Grammar
+dnl
+dnl     0 $accept: YY_PARSE_unit unit "end of file"
+dnl     1        | YY_PARSE_assignments assignments "end of file"
+dnl     2        | YY_PARSE_exp exp "end of file"
+dnl
+dnl     3 unit: assignments exp
+dnl
+dnl     4 assignments: %empty
+dnl     5            | assignments assignment
+dnl
+dnl     6 assignment: id ":=" exp
+dnl
+dnl     7 id: "identifier"
+dnl
+dnl     8 @1: %empty
+dnl
+dnl     9 @2: %empty
+dnl
+dnl    10 exp: "incr" exp @1 @2 exp
+dnl    11    | "(" exp ")"
+dnl    12    | "identifier"
+dnl    13    | "number"
+dnl
+dnl
+dnl Terminals, with rules where they appear
+dnl
+dnl     "end of file" (0) 0 1 2
+dnl     error (256)
+dnl     ":=" (258) 6
+dnl     "incr" (259) 10
+dnl     "identifier" <std::string> (260) 7 12
+dnl     "number" <int> (261) 13
+dnl     YY_PARSE_unit (262) 0
+dnl     YY_PARSE_assignments (263) 1
+dnl     YY_PARSE_exp (264) 2
+dnl     "(" (265) 11
+dnl     ")" (266) 11
+dnl
+dnl
+dnl Nonterminals, with rules where they appear
+dnl
+dnl     $accept (12)
+dnl         on left: 0 1 2
+dnl     unit (13)
+dnl         on left: 3
+dnl         on right: 0
+dnl     assignments (14)
+dnl         on left: 4 5
+dnl         on right: 1 3 5
+dnl     assignment (15)
+dnl         on left: 6
+dnl         on right: 5
+dnl     id <std::string> (16)
+dnl         on left: 7
+dnl         on right: 6
+dnl     exp <int> (17)
+dnl         on left: 10 11 12 13
+dnl         on right: 2 3 6 10 11
+dnl     @1 <int> (18)
+dnl         on left: 8
+dnl         on right: 10
+dnl     @2 <int> (19)
+dnl         on left: 9
+dnl         on right: 10
+dnl
+dnl
+dnl State 0
+dnl
+dnl     0 $accept: . YY_PARSE_unit unit "end of file"
+dnl     1        | . YY_PARSE_assignments assignments "end of file"
+dnl     2        | . YY_PARSE_exp exp "end of file"
+dnl
+dnl     YY_PARSE_unit         shift, and go to state 1
+dnl     YY_PARSE_assignments  shift, and go to state 2
+dnl     YY_PARSE_exp          shift, and go to state 3
+dnl
+dnl
+dnl State 1
+dnl
+dnl     0 $accept: YY_PARSE_unit . unit "end of file"
+dnl     3 unit: . assignments exp
+dnl     4 assignments: %empty .
+dnl     5            | . assignments assignment
+dnl
+dnl     $default  reduce using rule 4 (assignments)
+dnl
+dnl     unit         go to state 4
+dnl     assignments  go to state 5
+dnl
+dnl
+dnl State 2
+dnl
+dnl     1 $accept: YY_PARSE_assignments . assignments "end of file"
+dnl     4 assignments: %empty .
+dnl     5            | . assignments assignment
+dnl
+dnl     $default  reduce using rule 4 (assignments)
+dnl
+dnl     assignments  go to state 6
+dnl
+dnl
+dnl State 3
+dnl
+dnl     2 $accept: YY_PARSE_exp . exp "end of file"
+dnl    10 exp: . "incr" exp @1 @2 exp
+dnl    11    | . "(" exp ")"
+dnl    12    | . "identifier"
+dnl    13    | . "number"
+dnl
+dnl     "incr"        shift, and go to state 7
+dnl     "identifier"  shift, and go to state 8
+dnl     "number"      shift, and go to state 9
+dnl     "("           shift, and go to state 10
+dnl
+dnl     exp  go to state 11
+dnl
+dnl
+dnl State 4
+dnl
+dnl     0 $accept: YY_PARSE_unit unit . "end of file"
+dnl
+dnl     "end of file"  shift, and go to state 12
+dnl
+dnl
+dnl State 5
+dnl
+dnl     3 unit: assignments . exp
+dnl     5 assignments: assignments . assignment
+dnl     6 assignment: . id ":=" exp
+dnl     7 id: . "identifier"
+dnl    10 exp: . "incr" exp @1 @2 exp
+dnl    11    | . "(" exp ")"
+dnl    12    | . "identifier"
+dnl    13    | . "number"
+dnl
+dnl     "incr"        shift, and go to state 7
+dnl     "identifier"  shift, and go to state 13
+dnl     "number"      shift, and go to state 9
+dnl     "("           shift, and go to state 10
+dnl
+dnl     assignment  go to state 14
+dnl     id          go to state 15
+dnl     exp         go to state 16
+dnl
+dnl
+dnl State 6
+dnl
+dnl     1 $accept: YY_PARSE_assignments assignments . "end of file"
+dnl     5 assignments: assignments . assignment
+dnl     6 assignment: . id ":=" exp
+dnl     7 id: . "identifier"
+dnl
+dnl     "end of file"  shift, and go to state 17
+dnl     "identifier"   shift, and go to state 18
+dnl
+dnl     assignment  go to state 14
+dnl     id          go to state 15
+dnl
+dnl
+dnl State 7
+dnl
+dnl    10 exp: . "incr" exp @1 @2 exp
+dnl    10    | "incr" . exp @1 @2 exp
+dnl    11    | . "(" exp ")"
+dnl    12    | . "identifier"
+dnl    13    | . "number"
+dnl
+dnl     "incr"        shift, and go to state 7
+dnl     "identifier"  shift, and go to state 8
+dnl     "number"      shift, and go to state 9
+dnl     "("           shift, and go to state 10
+dnl
+dnl     exp  go to state 19
+dnl
+dnl
+dnl State 8
+dnl
+dnl    12 exp: "identifier" .
+dnl
+dnl     $default  reduce using rule 12 (exp)
+dnl
+dnl
+dnl State 9
+dnl
+dnl    13 exp: "number" .
+dnl
+dnl     $default  reduce using rule 13 (exp)
+dnl
+dnl
+dnl State 10
+dnl
+dnl    10 exp: . "incr" exp @1 @2 exp
+dnl    11    | . "(" exp ")"
+dnl    11    | "(" . exp ")"
+dnl    12    | . "identifier"
+dnl    13    | . "number"
+dnl
+dnl     "incr"        shift, and go to state 7
+dnl     "identifier"  shift, and go to state 8
+dnl     "number"      shift, and go to state 9
+dnl     "("           shift, and go to state 10
+dnl
+dnl     exp  go to state 20
+dnl
+dnl
+dnl State 11
+dnl
+dnl     2 $accept: YY_PARSE_exp exp . "end of file"
+dnl
+dnl     "end of file"  shift, and go to state 21
+dnl
+dnl
+dnl State 12
+dnl
+dnl     0 $accept: YY_PARSE_unit unit "end of file" .
+dnl
+dnl     $default  accept
+dnl
+dnl
+dnl State 13
+dnl
+dnl     7 id: "identifier" .  [":="]
+dnl    12 exp: "identifier" .  ["end of file"]
+dnl
+dnl     "end of file"  reduce using rule 12 (exp)
+dnl     $default       reduce using rule 7 (id)
+dnl
+dnl
+dnl State 14
+dnl
+dnl     5 assignments: assignments assignment .
+dnl
+dnl     $default  reduce using rule 5 (assignments)
+dnl
+dnl
+dnl State 15
+dnl
+dnl     6 assignment: id . ":=" exp
+dnl
+dnl     ":="  shift, and go to state 22
+dnl
+dnl
+dnl State 16
+dnl
+dnl     3 unit: assignments exp .
+dnl
+dnl     $default  reduce using rule 3 (unit)
+dnl
+dnl
+dnl State 17
+dnl
+dnl     1 $accept: YY_PARSE_assignments assignments "end of file" .
+dnl
+dnl     $default  accept
+dnl
+dnl
+dnl State 18
+dnl
+dnl     7 id: "identifier" .
+dnl
+dnl     $default  reduce using rule 7 (id)
+dnl
+dnl
+dnl State 19
+dnl
+dnl     8 @1: %empty .
+dnl    10 exp: "incr" exp . @1 @2 exp
+dnl
+dnl     $default  reduce using rule 8 (@1)
+dnl
+dnl     @1  go to state 23
+dnl
+dnl
+dnl State 20
+dnl
+dnl    11 exp: "(" exp . ")"
+dnl
+dnl     ")"  shift, and go to state 24
+dnl
+dnl
+dnl State 21
+dnl
+dnl     2 $accept: YY_PARSE_exp exp "end of file" .
+dnl
+dnl     $default  accept
+dnl
+dnl
+dnl State 22
+dnl
+dnl     6 assignment: id ":=" . exp
+dnl    10 exp: . "incr" exp @1 @2 exp
+dnl    11    | . "(" exp ")"
+dnl    12    | . "identifier"
+dnl    13    | . "number"
+dnl
+dnl     "incr"        shift, and go to state 7
+dnl     "identifier"  shift, and go to state 8
+dnl     "number"      shift, and go to state 9
+dnl     "("           shift, and go to state 10
+dnl
+dnl     exp  go to state 25
+dnl
+dnl
+dnl State 23
+dnl
+dnl     9 @2: %empty .
+dnl    10 exp: "incr" exp @1 . @2 exp
+dnl
+dnl     $default  reduce using rule 9 (@2)
+dnl
+dnl     @2  go to state 26
+dnl
+dnl
+dnl State 24
+dnl
+dnl    11 exp: "(" exp ")" .
+dnl
+dnl     $default  reduce using rule 11 (exp)
+dnl
+dnl
+dnl State 25
+dnl
+dnl     6 assignment: id ":=" exp .
+dnl
+dnl     $default  reduce using rule 6 (assignment)
+dnl
+dnl
+dnl State 26
+dnl
+dnl    10 exp: . "incr" exp @1 @2 exp
+dnl    10    | "incr" exp @1 @2 . exp
+dnl    11    | . "(" exp ")"
+dnl    12    | . "identifier"
+dnl    13    | . "number"
+dnl
+dnl     "incr"        shift, and go to state 7
+dnl     "identifier"  shift, and go to state 8
+dnl     "number"      shift, and go to state 9
+dnl     "("           shift, and go to state 10
+dnl
+dnl     exp  go to state 27
+dnl
+dnl
+dnl State 27
+dnl
+dnl    10 exp: "incr" exp @1 @2 exp .
+dnl
+dnl     $default  reduce using rule 10 (exp)
+dnl ]])
+dnl
+dnl
+dnl
+dnl AT_CHECK([cat input.gv], [],
+dnl [[// Generated by GNU Bison ]AT_PACKAGE_VERSION[.
+dnl // Report bugs to <bug-bison@gnu.org>.
+dnl // Home page: <https://www.gnu.org/software/bison/>.
+dnl
+dnl digraph "input.yy"
+dnl {
+dnl   node [fontname = courier, shape = box, colorscheme = paired6]
+dnl   edge [fontname = courier]
+dnl
+dnl   0 [label="State 0\n\l  0 $accept: • YY_PARSE_unit unit \"end of file\"\l 
 1        | • YY_PARSE_assignments assignments \"end of file\"\l  2        | • 
YY_PARSE_exp exp \"end of file\"\l"]
+dnl   0 -> 1 [style=solid label="YY_PARSE_unit"]
+dnl   0 -> 2 [style=solid label="YY_PARSE_assignments"]
+dnl   0 -> 3 [style=solid label="YY_PARSE_exp"]
+dnl   1 [label="State 1\n\l  0 $accept: YY_PARSE_unit • unit \"end of file\"\l 
 3 unit: • assignments exp\l  4 assignments: • %empty\l  5            | • 
assignments assignment\l"]
+dnl   1 -> 4 [style=dashed label="unit"]
+dnl   1 -> 5 [style=dashed label="assignments"]
+dnl   1 -> "1R4" [style=solid]
+dnl  "1R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
+dnl   2 [label="State 2\n\l  1 $accept: YY_PARSE_assignments • assignments 
\"end of file\"\l  4 assignments: • %empty\l  5            | • assignments 
assignment\l"]
+dnl   2 -> 6 [style=dashed label="assignments"]
+dnl   2 -> "2R4" [style=solid]
+dnl  "2R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
+dnl   3 [label="State 3\n\l  2 $accept: YY_PARSE_exp • exp \"end of file\"\l 
10 exp: • \"incr\" exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 12    | • 
\"identifier\"\l 13    | • \"number\"\l"]
+dnl   3 -> 7 [style=solid label="\"incr\""]
+dnl   3 -> 8 [style=solid label="\"identifier\""]
+dnl   3 -> 9 [style=solid label="\"number\""]
+dnl   3 -> 10 [style=solid label="\"(\""]
+dnl   3 -> 11 [style=dashed label="exp"]
+dnl   4 [label="State 4\n\l  0 $accept: YY_PARSE_unit unit • \"end of 
file\"\l"]
+dnl   4 -> 12 [style=solid label="\"end of file\""]
+dnl   5 [label="State 5\n\l  3 unit: assignments • exp\l  5 assignments: 
assignments • assignment\l  6 assignment: • id \":=\" exp\l  7 id: • 
\"identifier\"\l 10 exp: • \"incr\" exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 
12    | • \"identifier\"\l 13    | • \"number\"\l"]
+dnl   5 -> 7 [style=solid label="\"incr\""]
+dnl   5 -> 13 [style=solid label="\"identifier\""]
+dnl   5 -> 9 [style=solid label="\"number\""]
+dnl   5 -> 10 [style=solid label="\"(\""]
+dnl   5 -> 14 [style=dashed label="assignment"]
+dnl   5 -> 15 [style=dashed label="id"]
+dnl   5 -> 16 [style=dashed label="exp"]
+dnl   6 [label="State 6\n\l  1 $accept: YY_PARSE_assignments assignments • 
\"end of file\"\l  5 assignments: assignments • assignment\l  6 assignment: • 
id \":=\" exp\l  7 id: • \"identifier\"\l"]
+dnl   6 -> 17 [style=solid label="\"end of file\""]
+dnl   6 -> 18 [style=solid label="\"identifier\""]
+dnl   6 -> 14 [style=dashed label="assignment"]
+dnl   6 -> 15 [style=dashed label="id"]
+dnl   7 [label="State 7\n\l 10 exp: • \"incr\" exp @1 @2 exp\l 10    | 
\"incr\" • exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 12    | • 
\"identifier\"\l 13    | • \"number\"\l"]
+dnl   7 -> 7 [style=solid label="\"incr\""]
+dnl   7 -> 8 [style=solid label="\"identifier\""]
+dnl   7 -> 9 [style=solid label="\"number\""]
+dnl   7 -> 10 [style=solid label="\"(\""]
+dnl   7 -> 19 [style=dashed label="exp"]
+dnl   8 [label="State 8\n\l 12 exp: \"identifier\" •\l"]
+dnl   8 -> "8R12" [style=solid]
+dnl  "8R12" [label="R12", fillcolor=3, shape=diamond, style=filled]
+dnl   9 [label="State 9\n\l 13 exp: \"number\" •\l"]
+dnl   9 -> "9R13" [style=solid]
+dnl  "9R13" [label="R13", fillcolor=3, shape=diamond, style=filled]
+dnl   10 [label="State 10\n\l 10 exp: • \"incr\" exp @1 @2 exp\l 11    | • 
\"(\" exp \")\"\l 11    | \"(\" • exp \")\"\l 12    | • \"identifier\"\l 13    
| • \"number\"\l"]
+dnl   10 -> 7 [style=solid label="\"incr\""]
+dnl   10 -> 8 [style=solid label="\"identifier\""]
+dnl   10 -> 9 [style=solid label="\"number\""]
+dnl   10 -> 10 [style=solid label="\"(\""]
+dnl   10 -> 20 [style=dashed label="exp"]
+dnl   11 [label="State 11\n\l  2 $accept: YY_PARSE_exp exp • \"end of 
file\"\l"]
+dnl   11 -> 21 [style=solid label="\"end of file\""]
+dnl   12 [label="State 12\n\l  0 $accept: YY_PARSE_unit unit \"end of file\" 
•\l"]
+dnl   12 -> "12R0" [style=solid]
+dnl  "12R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
+dnl   13 [label="State 13\n\l  7 id: \"identifier\" •  [\":=\"]\l 12 exp: 
\"identifier\" •  [\"end of file\"]\l"]
+dnl   13 -> "13R7" [style=solid]
+dnl  "13R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
+dnl   13 -> "13R12" [label="[\"end of file\"]", style=solid]
+dnl  "13R12" [label="R12", fillcolor=3, shape=diamond, style=filled]
+dnl   14 [label="State 14\n\l  5 assignments: assignments assignment •\l"]
+dnl   14 -> "14R5" [style=solid]
+dnl  "14R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
+dnl   15 [label="State 15\n\l  6 assignment: id • \":=\" exp\l"]
+dnl   15 -> 22 [style=solid label="\":=\""]
+dnl   16 [label="State 16\n\l  3 unit: assignments exp •\l"]
+dnl   16 -> "16R3" [style=solid]
+dnl  "16R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
+dnl   17 [label="State 17\n\l  1 $accept: YY_PARSE_assignments assignments 
\"end of file\" •\l"]
+dnl   17 -> "17R1" [style=solid]
+dnl  "17R1" [label="Acc", fillcolor=1, shape=diamond, style=filled]
+dnl   18 [label="State 18\n\l  7 id: \"identifier\" •\l"]
+dnl   18 -> "18R7" [style=solid]
+dnl  "18R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
+dnl   19 [label="State 19\n\l  8 @1: • %empty\l 10 exp: \"incr\" exp • @1 @2 
exp\l"]
+dnl   19 -> 23 [style=dashed label="@1"]
+dnl   19 -> "19R8" [style=solid]
+dnl  "19R8" [label="R8", fillcolor=3, shape=diamond, style=filled]
+dnl   20 [label="State 20\n\l 11 exp: \"(\" exp • \")\"\l"]
+dnl   20 -> 24 [style=solid label="\")\""]
+dnl   21 [label="State 21\n\l  2 $accept: YY_PARSE_exp exp \"end of file\" 
•\l"]
+dnl   21 -> "21R2" [style=solid]
+dnl  "21R2" [label="Acc", fillcolor=1, shape=diamond, style=filled]
+dnl   22 [label="State 22\n\l  6 assignment: id \":=\" • exp\l 10 exp: • 
\"incr\" exp @1 @2 exp\l 11    | • \"(\" exp \")\"\l 12    | • \"identifier\"\l 
13    | • \"number\"\l"]
+dnl   22 -> 7 [style=solid label="\"incr\""]
+dnl   22 -> 8 [style=solid label="\"identifier\""]
+dnl   22 -> 9 [style=solid label="\"number\""]
+dnl   22 -> 10 [style=solid label="\"(\""]
+dnl   22 -> 25 [style=dashed label="exp"]
+dnl   23 [label="State 23\n\l  9 @2: • %empty\l 10 exp: \"incr\" exp @1 • @2 
exp\l"]
+dnl   23 -> 26 [style=dashed label="@2"]
+dnl   23 -> "23R9" [style=solid]
+dnl  "23R9" [label="R9", fillcolor=3, shape=diamond, style=filled]
+dnl   24 [label="State 24\n\l 11 exp: \"(\" exp \")\" •\l"]
+dnl   24 -> "24R11" [style=solid]
+dnl  "24R11" [label="R11", fillcolor=3, shape=diamond, style=filled]
+dnl   25 [label="State 25\n\l  6 assignment: id \":=\" exp •\l"]
+dnl   25 -> "25R6" [style=solid]
+dnl  "25R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
+dnl   26 [label="State 26\n\l 10 exp: • \"incr\" exp @1 @2 exp\l 10    | 
\"incr\" exp @1 @2 • exp\l 11    | • \"(\" exp \")\"\l 12    | • 
\"identifier\"\l 13    | • \"number\"\l"]
+dnl   26 -> 7 [style=solid label="\"incr\""]
+dnl   26 -> 8 [style=solid label="\"identifier\""]
+dnl   26 -> 9 [style=solid label="\"number\""]
+dnl   26 -> 10 [style=solid label="\"(\""]
+dnl   26 -> 27 [style=dashed label="exp"]
+dnl   27 [label="State 27\n\l 10 exp: \"incr\" exp @1 @2 exp •\l"]
+dnl   27 -> "27R10" [style=solid]
+dnl  "27R10" [label="R10", fillcolor=3, shape=diamond, style=filled]
+dnl }
+dnl ]])
+dnl
+dnl
+dnl AT_CHECK([[cat input.xml]], [],
+dnl [[<?xml version="1.0"?>
+dnl
+dnl <bison-xml-report version="]AT_PACKAGE_VERSION[" 
bug-report="bug-bison@gnu.org" url="https://www.gnu.org/software/bison/";>
+dnl
+dnl   <filename>input.yy</filename>
+dnl
+dnl   <grammar>
+dnl     <rules>
+dnl       <rule number="0" usefulness="useful">
+dnl         <lhs>$accept</lhs>
+dnl         <rhs>
+dnl           <symbol>YY_PARSE_unit</symbol>
+dnl           <symbol>unit</symbol>
+dnl           <symbol>&quot;end of file&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="1" usefulness="useful">
+dnl         <lhs>$accept</lhs>
+dnl         <rhs>
+dnl           <symbol>YY_PARSE_assignments</symbol>
+dnl           <symbol>assignments</symbol>
+dnl           <symbol>&quot;end of file&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="2" usefulness="useful">
+dnl         <lhs>$accept</lhs>
+dnl         <rhs>
+dnl           <symbol>YY_PARSE_exp</symbol>
+dnl           <symbol>exp</symbol>
+dnl           <symbol>&quot;end of file&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="3" usefulness="useful">
+dnl         <lhs>unit</lhs>
+dnl         <rhs>
+dnl           <symbol>assignments</symbol>
+dnl           <symbol>exp</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="4" usefulness="useful">
+dnl         <lhs>assignments</lhs>
+dnl         <rhs>
+dnl           <empty/>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="5" usefulness="useful">
+dnl         <lhs>assignments</lhs>
+dnl         <rhs>
+dnl           <symbol>assignments</symbol>
+dnl           <symbol>assignment</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="6" usefulness="useful">
+dnl         <lhs>assignment</lhs>
+dnl         <rhs>
+dnl           <symbol>id</symbol>
+dnl           <symbol>&quot;:=&quot;</symbol>
+dnl           <symbol>exp</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="7" usefulness="useful">
+dnl         <lhs>id</lhs>
+dnl         <rhs>
+dnl           <symbol>&quot;identifier&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="8" usefulness="useful">
+dnl         <lhs>@1</lhs>
+dnl         <rhs>
+dnl           <empty/>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="9" usefulness="useful">
+dnl         <lhs>@2</lhs>
+dnl         <rhs>
+dnl           <empty/>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="10" usefulness="useful">
+dnl         <lhs>exp</lhs>
+dnl         <rhs>
+dnl           <symbol>&quot;incr&quot;</symbol>
+dnl           <symbol>exp</symbol>
+dnl           <symbol>@1</symbol>
+dnl           <symbol>@2</symbol>
+dnl           <symbol>exp</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="11" usefulness="useful">
+dnl         <lhs>exp</lhs>
+dnl         <rhs>
+dnl           <symbol>&quot;(&quot;</symbol>
+dnl           <symbol>exp</symbol>
+dnl           <symbol>&quot;)&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="12" usefulness="useful">
+dnl         <lhs>exp</lhs>
+dnl         <rhs>
+dnl           <symbol>&quot;identifier&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl       <rule number="13" usefulness="useful">
+dnl         <lhs>exp</lhs>
+dnl         <rhs>
+dnl           <symbol>&quot;number&quot;</symbol>
+dnl         </rhs>
+dnl       </rule>
+dnl     </rules>
+dnl     <terminals>
+dnl       <terminal symbol-number="0" token-number="0" name="&quot;end of 
file&quot;" type="" usefulness="useful"/>
+dnl       <terminal symbol-number="1" token-number="256" name="error" type="" 
usefulness="useful"/>
+dnl       <terminal symbol-number="3" token-number="258" name="&quot;:=&quot;" 
type="" usefulness="useful"/>
+dnl       <terminal symbol-number="4" token-number="259" 
name="&quot;incr&quot;" type="" usefulness="useful"/>
+dnl       <terminal symbol-number="5" token-number="260" 
name="&quot;identifier&quot;" type="std::string" usefulness="useful"/>
+dnl       <terminal symbol-number="6" token-number="261" 
name="&quot;number&quot;" type="int" usefulness="useful"/>
+dnl       <terminal symbol-number="7" token-number="262" name="YY_PARSE_unit" 
type="" usefulness="useful"/>
+dnl       <terminal symbol-number="8" token-number="263" 
name="YY_PARSE_assignments" type="" usefulness="useful"/>
+dnl       <terminal symbol-number="9" token-number="264" name="YY_PARSE_exp" 
type="" usefulness="useful"/>
+dnl       <terminal symbol-number="10" token-number="265" name="&quot;(&quot;" 
type="" usefulness="useful"/>
+dnl       <terminal symbol-number="11" token-number="266" name="&quot;)&quot;" 
type="" usefulness="useful"/>
+dnl     </terminals>
+dnl     <nonterminals>
+dnl       <nonterminal symbol-number="12" name="$accept" type="" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="13" name="unit" type="" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="14" name="assignments" type="" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="15" name="assignment" type="" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="16" name="id" type="std::string" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="17" name="exp" type="int" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="18" name="@1" type="int" 
usefulness="useful"/>
+dnl       <nonterminal symbol-number="19" name="@2" type="int" 
usefulness="useful"/>
+dnl     </nonterminals>
+dnl   </grammar>
+dnl
+dnl   <automaton>
+dnl
+dnl     <state number="0">
+dnl       <itemset>
+dnl         <item rule-number="0" dot="0"/>
+dnl         <item rule-number="1" dot="0"/>
+dnl         <item rule-number="2" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="YY_PARSE_unit" state="1"/>
+dnl           <transition type="shift" symbol="YY_PARSE_assignments" 
state="2"/>
+dnl           <transition type="shift" symbol="YY_PARSE_exp" state="3"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="1">
+dnl       <itemset>
+dnl         <item rule-number="0" dot="1"/>
+dnl         <item rule-number="3" dot="0"/>
+dnl         <item rule-number="4" dot="0"/>
+dnl         <item rule-number="5" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="goto" symbol="unit" state="4"/>
+dnl           <transition type="goto" symbol="assignments" state="5"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="4" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="2">
+dnl       <itemset>
+dnl         <item rule-number="1" dot="1"/>
+dnl         <item rule-number="4" dot="0"/>
+dnl         <item rule-number="5" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="goto" symbol="assignments" state="6"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="4" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="3">
+dnl       <itemset>
+dnl         <item rule-number="2" dot="1"/>
+dnl         <item rule-number="10" dot="0"/>
+dnl         <item rule-number="11" dot="0"/>
+dnl         <item rule-number="12" dot="0"/>
+dnl         <item rule-number="13" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="8"/>
+dnl           <transition type="shift" symbol="&quot;number&quot;" state="9"/>
+dnl           <transition type="shift" symbol="&quot;(&quot;" state="10"/>
+dnl           <transition type="goto" symbol="exp" state="11"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="4">
+dnl       <itemset>
+dnl         <item rule-number="0" dot="2"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;end of file&quot;" 
state="12"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="5">
+dnl       <itemset>
+dnl         <item rule-number="3" dot="1"/>
+dnl         <item rule-number="5" dot="1"/>
+dnl         <item rule-number="6" dot="0"/>
+dnl         <item rule-number="7" dot="0"/>
+dnl         <item rule-number="10" dot="0"/>
+dnl         <item rule-number="11" dot="0"/>
+dnl         <item rule-number="12" dot="0"/>
+dnl         <item rule-number="13" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="13"/>
+dnl           <transition type="shift" symbol="&quot;number&quot;" state="9"/>
+dnl           <transition type="shift" symbol="&quot;(&quot;" state="10"/>
+dnl           <transition type="goto" symbol="assignment" state="14"/>
+dnl           <transition type="goto" symbol="id" state="15"/>
+dnl           <transition type="goto" symbol="exp" state="16"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="6">
+dnl       <itemset>
+dnl         <item rule-number="1" dot="2"/>
+dnl         <item rule-number="5" dot="1"/>
+dnl         <item rule-number="6" dot="0"/>
+dnl         <item rule-number="7" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;end of file&quot;" 
state="17"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="18"/>
+dnl           <transition type="goto" symbol="assignment" state="14"/>
+dnl           <transition type="goto" symbol="id" state="15"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="7">
+dnl       <itemset>
+dnl         <item rule-number="10" dot="0"/>
+dnl         <item rule-number="10" dot="1"/>
+dnl         <item rule-number="11" dot="0"/>
+dnl         <item rule-number="12" dot="0"/>
+dnl         <item rule-number="13" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="8"/>
+dnl           <transition type="shift" symbol="&quot;number&quot;" state="9"/>
+dnl           <transition type="shift" symbol="&quot;(&quot;" state="10"/>
+dnl           <transition type="goto" symbol="exp" state="19"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="8">
+dnl       <itemset>
+dnl         <item rule-number="12" dot="1"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="12" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="9">
+dnl       <itemset>
+dnl         <item rule-number="13" dot="1"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="13" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="10">
+dnl       <itemset>
+dnl         <item rule-number="10" dot="0"/>
+dnl         <item rule-number="11" dot="0"/>
+dnl         <item rule-number="11" dot="1"/>
+dnl         <item rule-number="12" dot="0"/>
+dnl         <item rule-number="13" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="8"/>
+dnl           <transition type="shift" symbol="&quot;number&quot;" state="9"/>
+dnl           <transition type="shift" symbol="&quot;(&quot;" state="10"/>
+dnl           <transition type="goto" symbol="exp" state="20"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="11">
+dnl       <itemset>
+dnl         <item rule-number="2" dot="2"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;end of file&quot;" 
state="21"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="12">
+dnl       <itemset>
+dnl         <item rule-number="0" dot="3"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="accept" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="13">
+dnl       <itemset>
+dnl         <item rule-number="7" dot="1">
+dnl           <lookaheads>
+dnl             <symbol>&quot;:=&quot;</symbol>
+dnl           </lookaheads>
+dnl         </item>
+dnl         <item rule-number="12" dot="1">
+dnl           <lookaheads>
+dnl             <symbol>&quot;end of file&quot;</symbol>
+dnl           </lookaheads>
+dnl         </item>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="&quot;end of file&quot;" rule="12" 
enabled="true"/>
+dnl           <reduction symbol="$default" rule="7" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="14">
+dnl       <itemset>
+dnl         <item rule-number="5" dot="2"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="5" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="15">
+dnl       <itemset>
+dnl         <item rule-number="6" dot="1"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;:=&quot;" state="22"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="16">
+dnl       <itemset>
+dnl         <item rule-number="3" dot="2"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="3" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="17">
+dnl       <itemset>
+dnl         <item rule-number="1" dot="3"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="accept" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="18">
+dnl       <itemset>
+dnl         <item rule-number="7" dot="1"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="7" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="19">
+dnl       <itemset>
+dnl         <item rule-number="8" dot="0"/>
+dnl         <item rule-number="10" dot="2"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="goto" symbol="@1" state="23"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="8" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="20">
+dnl       <itemset>
+dnl         <item rule-number="11" dot="2"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;)&quot;" state="24"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="21">
+dnl       <itemset>
+dnl         <item rule-number="2" dot="3"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="accept" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="22">
+dnl       <itemset>
+dnl         <item rule-number="6" dot="2"/>
+dnl         <item rule-number="10" dot="0"/>
+dnl         <item rule-number="11" dot="0"/>
+dnl         <item rule-number="12" dot="0"/>
+dnl         <item rule-number="13" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="8"/>
+dnl           <transition type="shift" symbol="&quot;number&quot;" state="9"/>
+dnl           <transition type="shift" symbol="&quot;(&quot;" state="10"/>
+dnl           <transition type="goto" symbol="exp" state="25"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="23">
+dnl       <itemset>
+dnl         <item rule-number="9" dot="0"/>
+dnl         <item rule-number="10" dot="3"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="goto" symbol="@2" state="26"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="9" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="24">
+dnl       <itemset>
+dnl         <item rule-number="11" dot="3"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="11" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="25">
+dnl       <itemset>
+dnl         <item rule-number="6" dot="3"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="6" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="26">
+dnl       <itemset>
+dnl         <item rule-number="10" dot="0"/>
+dnl         <item rule-number="10" dot="4"/>
+dnl         <item rule-number="11" dot="0"/>
+dnl         <item rule-number="12" dot="0"/>
+dnl         <item rule-number="13" dot="0"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions>
+dnl           <transition type="shift" symbol="&quot;incr&quot;" state="7"/>
+dnl           <transition type="shift" symbol="&quot;identifier&quot;" 
state="8"/>
+dnl           <transition type="shift" symbol="&quot;number&quot;" state="9"/>
+dnl           <transition type="shift" symbol="&quot;(&quot;" state="10"/>
+dnl           <transition type="goto" symbol="exp" state="27"/>
+dnl         </transitions>
+dnl         <errors/>
+dnl         <reductions/>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl
+dnl     <state number="27">
+dnl       <itemset>
+dnl         <item rule-number="10" dot="5"/>
+dnl       </itemset>
+dnl       <actions>
+dnl         <transitions/>
+dnl         <errors/>
+dnl         <reductions>
+dnl           <reduction symbol="$default" rule="10" enabled="true"/>
+dnl         </reductions>
+dnl       </actions>
+dnl       <solved-conflicts/>
+dnl     </state>
+dnl   </automaton>
+dnl </bison-xml-report>
+dnl ]])
+dnl
+dnl if test x"$XSLTPROC" != x""; then
+dnl   AT_CHECK([[$XSLTPROC \
+dnl              `]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \
+dnl              input.xml >input.html]])
+dnl   AT_CHECK_HTML([input.html],
+dnl [[<?xml version="1.0" encoding="UTF-8"?>
+dnl <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+dnl <html xmlns="http://www.w3.org/1999/xhtml"; 
xmlns:bison="https://www.gnu.org/software/bison/";>
+dnl   <head>
+dnl     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
+dnl     <title>input.yy - GNU Bison XML Automaton Report</title>
+dnl     <style type="text/css">
+dnl       body {
+dnl         font-family: "Nimbus Sans L", Arial, sans-serif;
+dnl         font-size: 9pt;
+dnl       }
+dnl       a:link {
+dnl         color: #1f00ff;
+dnl         text-decoration: none;
+dnl       }
+dnl       a:visited {
+dnl         color: #1f00ff;
+dnl         text-decoration: none;
+dnl       }
+dnl       a:hover {
+dnl         color: red;
+dnl       }
+dnl       #menu a {
+dnl         text-decoration: underline;
+dnl       }
+dnl       .i {
+dnl         font-style: italic;
+dnl       }
+dnl       .pre {
+dnl         font-family: monospace;
+dnl         white-space: pre;
+dnl       }
+dnl       ol.decimal {
+dnl         list-style-type: decimal;
+dnl       }
+dnl       ol.lower-alpha {
+dnl         list-style-type: lower-alpha;
+dnl       }
+dnl       .dot {
+dnl         color: #cc0000;
+dnl       }
+dnl       #footer {
+dnl         margin-top: 3.5em;
+dnl         font-size: 7pt;
+dnl       }
+dnl       </style>
+dnl   </head>
+dnl   <body><h1>GNU Bison XML Automaton Report</h1><p>
+dnl     input grammar: <span class="i">input.yy</span></p>
+dnl
+dnl <h3>Table of Contents</h3><ul id="menu"><li><a 
href="#reductions">Reductions</a><ul class="lower-alpha"><li><a 
href="#nonterminals_useless_in_grammar">Nonterminals useless in 
grammar</a></li><li><a href="#terminals_unused_in_grammar">Terminals unused in 
grammar</a></li><li><a href="#rules_useless_in_grammar">Rules useless in 
grammar</a></li></ul></li><li><a href="#conflicts">Conflicts</a></li><li><a 
href="#grammar">Grammar</a><ul class="lower-alpha"><li><a 
href="#grammar">Itemset</a></li><li><a href="#terminals">Terminal 
symbols</a></li><li><a href="#nonterminals">Nonterminal 
symbols</a></li></ul></li><li><a 
href="#automaton">Automaton</a></li></ul><h2><a name="reductions" 
id="reductions"></a> Reductions</h2><h3><a 
name="nonterminals_useless_in_grammar" 
id="nonterminals_useless_in_grammar"></a> Nonterminals useless in grammar</h3>
+dnl
+dnl <h3><a name="terminals_unused_in_grammar" 
id="terminals_unused_in_grammar"></a> Terminals unused in grammar</h3>
+dnl
+dnl <h3><a name="rules_useless_in_grammar" id="rules_useless_in_grammar"></a> 
Rules useless in grammar</h3>
+dnl <h2><a name="conflicts" id="conflicts"></a> Conflicts</h2>
+dnl
+dnl <h2><a name="grammar" id="grammar"></a> Grammar</h2>
+dnl <p class="pre">
+dnl   <a name="rule_0" id="rule_0">  0</a> <span class="i">$accept</span> → 
<b>YY_PARSE_unit</b> <span class="i">unit</span> <b>"end of file"</b>
+dnl   <a name="rule_1" id="rule_1">  1</a>         | 
<b>YY_PARSE_assignments</b> <span class="i">assignments</span> <b>"end of 
file"</b>
+dnl   <a name="rule_2" id="rule_2">  2</a>         | <b>YY_PARSE_exp</b> <span 
class="i">exp</span> <b>"end of file"</b>
+dnl
+dnl   <a name="rule_3" id="rule_3">  3</a> <span class="i">unit</span> → <span 
class="i">assignments</span> <span class="i">exp</span>
+dnl
+dnl   <a name="rule_4" id="rule_4">  4</a> <span class="i">assignments</span> 
→ %empty
+dnl   <a name="rule_5" id="rule_5">  5</a>             | <span 
class="i">assignments</span> <span class="i">assignment</span>
+dnl
+dnl   <a name="rule_6" id="rule_6">  6</a> <span class="i">assignment</span> → 
<span class="i">id</span> <b>":="</b> <span class="i">exp</span>
+dnl
+dnl   <a name="rule_7" id="rule_7">  7</a> <span class="i">id</span> → 
<b>"identifier"</b>
+dnl
+dnl   <a name="rule_8" id="rule_8">  8</a> <span class="i">@1</span> → %empty
+dnl
+dnl   <a name="rule_9" id="rule_9">  9</a> <span class="i">@2</span> → %empty
+dnl
+dnl   <a name="rule_10" id="rule_10"> 10</a> <span class="i">exp</span> → 
<b>"incr"</b> <span class="i">exp</span> <span class="i">@1</span> <span 
class="i">@2</span> <span class="i">exp</span>
+dnl   <a name="rule_11" id="rule_11"> 11</a>     | <b>"("</b> <span 
class="i">exp</span> <b>")"</b>
+dnl   <a name="rule_12" id="rule_12"> 12</a>     | <b>"identifier"</b>
+dnl   <a name="rule_13" id="rule_13"> 13</a>     | <b>"number"</b>
+dnl </p>
+dnl
+dnl <h3><a name="terminals" id="terminals"></a> Terminals, with rules where 
they appear</h3>
+dnl
+dnl <ul>
+dnl   <li><b>"end of file"</b> (0) <a href="#rule_0">0</a> <a 
href="#rule_1">1</a> <a href="#rule_2">2</a></li>
+dnl   <li><b>error</b> (256)</li>
+dnl   <li><b>":="</b> (258) <a href="#rule_6">6</a></li>
+dnl   <li><b>"incr"</b> (259) <a href="#rule_10">10</a></li>
+dnl   <li><b>"identifier"</b> &lt;std::string&gt; (260) <a 
href="#rule_7">7</a> <a href="#rule_12">12</a></li>
+dnl   <li><b>"number"</b> &lt;int&gt; (261) <a href="#rule_13">13</a></li>
+dnl   <li><b>YY_PARSE_unit</b> (262) <a href="#rule_0">0</a></li>
+dnl   <li><b>YY_PARSE_assignments</b> (263) <a href="#rule_1">1</a></li>
+dnl   <li><b>YY_PARSE_exp</b> (264) <a href="#rule_2">2</a></li>
+dnl   <li><b>"("</b> (265) <a href="#rule_11">11</a></li>
+dnl   <li><b>")"</b> (266) <a href="#rule_11">11</a></li>
+dnl </ul>
+dnl
+dnl <h3><a name="nonterminals" id="nonterminals"></a> Nonterminals, with rules 
where they appear</h3>
+dnl
+dnl <ul>
+dnl   <li><b>$accept</b> (12)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_0">0</a> <a href="#rule_1">1</a> <a 
href="#rule_2">2</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>unit</b> (13)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_3">3</a></li>
+dnl       <li>on right: <a href="#rule_0">0</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>assignments</b> (14)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_4">4</a> <a href="#rule_5">5</a></li>
+dnl       <li>on right: <a href="#rule_1">1</a> <a href="#rule_3">3</a> <a 
href="#rule_5">5</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>assignment</b> (15)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_6">6</a></li>
+dnl       <li>on right: <a href="#rule_5">5</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>id</b> &lt;std::string&gt; (16)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_7">7</a></li>
+dnl       <li>on right: <a href="#rule_6">6</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>exp</b> &lt;int&gt; (17)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_10">10</a> <a href="#rule_11">11</a> <a 
href="#rule_12">12</a> <a href="#rule_13">13</a></li>
+dnl       <li>on right: <a href="#rule_2">2</a> <a href="#rule_3">3</a> <a 
href="#rule_6">6</a> <a href="#rule_10">10</a> <a href="#rule_11">11</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>@1</b> &lt;int&gt; (18)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_8">8</a></li>
+dnl       <li>on right: <a href="#rule_10">10</a></li>
+dnl     </ul>
+dnl   </li>
+dnl   <li><b>@2</b> &lt;int&gt; (19)
+dnl     <ul>
+dnl       <li>on left: <a href="#rule_9">9</a></li>
+dnl       <li>on right: <a href="#rule_10">10</a></li>
+dnl     </ul>
+dnl   </li>
+dnl </ul><h2><a name="automaton" id="automaton"></a> Automaton</h2>
+dnl
+dnl <h3><a name="state_0" id="state_0"></a>State 0</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> 
→ <span class="dot">•</span> <b>YY_PARSE_unit</b> <span class="i">unit</span> 
<b>"end of file"</b>
+dnl   <a href="#rule_1">  1</a>         | <span class="dot">•</span> 
<b>YY_PARSE_assignments</b> <span class="i">assignments</span> <b>"end of 
file"</b>
+dnl   <a href="#rule_2">  2</a>         | <span class="dot">•</span> 
<b>YY_PARSE_exp</b> <span class="i">exp</span> <b>"end of file"</b>
+dnl
+dnl     YY_PARSE_unit         <a href="#state_1">shift, and go to state 1</a>
+dnl     YY_PARSE_assignments  <a href="#state_2">shift, and go to state 2</a>
+dnl     YY_PARSE_exp          <a href="#state_3">shift, and go to state 3</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_1" id="state_1"></a>State 1</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_unit</b> <span class="dot">•</span> <span class="i">unit</span> 
<b>"end of file"</b>
+dnl   <a href="#rule_3">  3</a> <span class="i">unit</span> → <span 
class="dot">•</span> <span class="i">assignments</span> <span 
class="i">exp</span>
+dnl   <a href="#rule_4">  4</a> <span class="i">assignments</span> → <span 
class="dot">•</span> %empty
+dnl   <a href="#rule_5">  5</a>             | <span class="dot">•</span> <span 
class="i">assignments</span> <span class="i">assignment</span>
+dnl
+dnl     $default  <a href="#rule_4">reduce using rule 4</a> (assignments)
+dnl
+dnl     unit         <a href="#state_4">go to state 4</a>
+dnl     assignments  <a href="#state_5">go to state 5</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_2" id="state_2"></a>State 2</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_1">  1</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_assignments</b> <span class="dot">•</span> <span 
class="i">assignments</span> <b>"end of file"</b>
+dnl   <a href="#rule_4">  4</a> <span class="i">assignments</span> → <span 
class="dot">•</span> %empty
+dnl   <a href="#rule_5">  5</a>             | <span class="dot">•</span> <span 
class="i">assignments</span> <span class="i">assignment</span>
+dnl
+dnl     $default  <a href="#rule_4">reduce using rule 4</a> (assignments)
+dnl
+dnl     assignments  <a href="#state_6">go to state 6</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_3" id="state_3"></a>State 3</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_2">  2</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_exp</b> <span class="dot">•</span> <span class="i">exp</span> 
<b>"end of file"</b>
+dnl   <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
+dnl   <a href="#rule_13"> 13</a>     | <span class="dot">•</span> 
<b>"number"</b>
+dnl
+dnl     "incr"        <a href="#state_7">shift, and go to state 7</a>
+dnl     "identifier"  <a href="#state_8">shift, and go to state 8</a>
+dnl     "number"      <a href="#state_9">shift, and go to state 9</a>
+dnl     "("           <a href="#state_10">shift, and go to state 10</a>
+dnl
+dnl     exp  <a href="#state_11">go to state 11</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_4" id="state_4"></a>State 4</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_unit</b> <span class="i">unit</span> <span class="dot">•</span> 
<b>"end of file"</b>
+dnl
+dnl     "end of file"  <a href="#state_12">shift, and go to state 12</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_5" id="state_5"></a>State 5</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_3">  3</a> <span class="i">unit</span> → 
<span class="i">assignments</span> <span class="dot">•</span> <span 
class="i">exp</span>
+dnl   <a href="#rule_5">  5</a> <span class="i">assignments</span> → <span 
class="i">assignments</span> <span class="dot">•</span> <span 
class="i">assignment</span>
+dnl   <a href="#rule_6">  6</a> <span class="i">assignment</span> → <span 
class="dot">•</span> <span class="i">id</span> <b>":="</b> <span 
class="i">exp</span>
+dnl   <a href="#rule_7">  7</a> <span class="i">id</span> → <span 
class="dot">•</span> <b>"identifier"</b>
+dnl   <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
+dnl   <a href="#rule_13"> 13</a>     | <span class="dot">•</span> 
<b>"number"</b>
+dnl
+dnl     "incr"        <a href="#state_7">shift, and go to state 7</a>
+dnl     "identifier"  <a href="#state_13">shift, and go to state 13</a>
+dnl     "number"      <a href="#state_9">shift, and go to state 9</a>
+dnl     "("           <a href="#state_10">shift, and go to state 10</a>
+dnl
+dnl     assignment  <a href="#state_14">go to state 14</a>
+dnl     id          <a href="#state_15">go to state 15</a>
+dnl     exp         <a href="#state_16">go to state 16</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_6" id="state_6"></a>State 6</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_1">  1</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_assignments</b> <span class="i">assignments</span> <span 
class="dot">•</span> <b>"end of file"</b>
+dnl   <a href="#rule_5">  5</a> <span class="i">assignments</span> → <span 
class="i">assignments</span> <span class="dot">•</span> <span 
class="i">assignment</span>
+dnl   <a href="#rule_6">  6</a> <span class="i">assignment</span> → <span 
class="dot">•</span> <span class="i">id</span> <b>":="</b> <span 
class="i">exp</span>
+dnl   <a href="#rule_7">  7</a> <span class="i">id</span> → <span 
class="dot">•</span> <b>"identifier"</b>
+dnl
+dnl     "end of file"  <a href="#state_17">shift, and go to state 17</a>
+dnl     "identifier"   <a href="#state_18">shift, and go to state 18</a>
+dnl
+dnl     assignment  <a href="#state_14">go to state 14</a>
+dnl     id          <a href="#state_15">go to state 15</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_7" id="state_7"></a>State 7</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → 
<span class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_10"> 10</a>     | <b>"incr"</b> <span 
class="dot">•</span> <span class="i">exp</span> <span class="i">@1</span> <span 
class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
+dnl   <a href="#rule_13"> 13</a>     | <span class="dot">•</span> 
<b>"number"</b>
+dnl
+dnl     "incr"        <a href="#state_7">shift, and go to state 7</a>
+dnl     "identifier"  <a href="#state_8">shift, and go to state 8</a>
+dnl     "number"      <a href="#state_9">shift, and go to state 9</a>
+dnl     "("           <a href="#state_10">shift, and go to state 10</a>
+dnl
+dnl     exp  <a href="#state_19">go to state 19</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_8" id="state_8"></a>State 8</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_12"> 12</a> <span class="i">exp</span> → 
<b>"identifier"</b> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_12">reduce using rule 12</a> (exp)
+dnl </p>
+dnl
+dnl <h3><a name="state_9" id="state_9"></a>State 9</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_13"> 13</a> <span class="i">exp</span> → 
<b>"number"</b> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_13">reduce using rule 13</a> (exp)
+dnl </p>
+dnl
+dnl <h3><a name="state_10" id="state_10"></a>State 10</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → 
<span class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_11"> 11</a>     | <b>"("</b> <span class="dot">•</span> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
+dnl   <a href="#rule_13"> 13</a>     | <span class="dot">•</span> 
<b>"number"</b>
+dnl
+dnl     "incr"        <a href="#state_7">shift, and go to state 7</a>
+dnl     "identifier"  <a href="#state_8">shift, and go to state 8</a>
+dnl     "number"      <a href="#state_9">shift, and go to state 9</a>
+dnl     "("           <a href="#state_10">shift, and go to state 10</a>
+dnl
+dnl     exp  <a href="#state_20">go to state 20</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_11" id="state_11"></a>State 11</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_2">  2</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_exp</b> <span class="i">exp</span> <span class="dot">•</span> 
<b>"end of file"</b>
+dnl
+dnl     "end of file"  <a href="#state_21">shift, and go to state 21</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_12" id="state_12"></a>State 12</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_0">  0</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_unit</b> <span class="i">unit</span> <b>"end of file"</b> <span 
class="dot">•</span>
+dnl
+dnl     $default  accept
+dnl </p>
+dnl
+dnl <h3><a name="state_13" id="state_13"></a>State 13</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_7">  7</a> <span class="i">id</span> → 
<b>"identifier"</b> <span class="dot">•</span>  [":="]
+dnl   <a href="#rule_12"> 12</a> <span class="i">exp</span> → 
<b>"identifier"</b> <span class="dot">•</span>  ["end of file"]
+dnl
+dnl     "end of file"  <a href="#rule_12">reduce using rule 12</a> (exp)
+dnl     $default       <a href="#rule_7">reduce using rule 7</a> (id)
+dnl </p>
+dnl
+dnl <h3><a name="state_14" id="state_14"></a>State 14</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_5">  5</a> <span 
class="i">assignments</span> → <span class="i">assignments</span> <span 
class="i">assignment</span> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_5">reduce using rule 5</a> (assignments)
+dnl </p>
+dnl
+dnl <h3><a name="state_15" id="state_15"></a>State 15</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_6">  6</a> <span 
class="i">assignment</span> → <span class="i">id</span> <span 
class="dot">•</span> <b>":="</b> <span class="i">exp</span>
+dnl
+dnl     ":="  <a href="#state_22">shift, and go to state 22</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_16" id="state_16"></a>State 16</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_3">  3</a> <span class="i">unit</span> → 
<span class="i">assignments</span> <span class="i">exp</span> <span 
class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_3">reduce using rule 3</a> (unit)
+dnl </p>
+dnl
+dnl <h3><a name="state_17" id="state_17"></a>State 17</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_1">  1</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_assignments</b> <span class="i">assignments</span> <b>"end of 
file"</b> <span class="dot">•</span>
+dnl
+dnl     $default  accept
+dnl </p>
+dnl
+dnl <h3><a name="state_18" id="state_18"></a>State 18</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_7">  7</a> <span class="i">id</span> → 
<b>"identifier"</b> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_7">reduce using rule 7</a> (id)
+dnl </p>
+dnl
+dnl <h3><a name="state_19" id="state_19"></a>State 19</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_8">  8</a> <span class="i">@1</span> → 
<span class="dot">•</span> %empty
+dnl   <a href="#rule_10"> 10</a> <span class="i">exp</span> → <b>"incr"</b> 
<span class="i">exp</span> <span class="dot">•</span> <span class="i">@1</span> 
<span class="i">@2</span> <span class="i">exp</span>
+dnl
+dnl     $default  <a href="#rule_8">reduce using rule 8</a> (@1)
+dnl
+dnl     @1  <a href="#state_23">go to state 23</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_20" id="state_20"></a>State 20</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_11"> 11</a> <span class="i">exp</span> → 
<b>"("</b> <span class="i">exp</span> <span class="dot">•</span> <b>")"</b>
+dnl
+dnl     ")"  <a href="#state_24">shift, and go to state 24</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_21" id="state_21"></a>State 21</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_2">  2</a> <span class="i">$accept</span> 
→ <b>YY_PARSE_exp</b> <span class="i">exp</span> <b>"end of file"</b> <span 
class="dot">•</span>
+dnl
+dnl     $default  accept
+dnl </p>
+dnl
+dnl <h3><a name="state_22" id="state_22"></a>State 22</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_6">  6</a> <span 
class="i">assignment</span> → <span class="i">id</span> <b>":="</b> <span 
class="dot">•</span> <span class="i">exp</span>
+dnl   <a href="#rule_10"> 10</a> <span class="i">exp</span> → <span 
class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
+dnl   <a href="#rule_13"> 13</a>     | <span class="dot">•</span> 
<b>"number"</b>
+dnl
+dnl     "incr"        <a href="#state_7">shift, and go to state 7</a>
+dnl     "identifier"  <a href="#state_8">shift, and go to state 8</a>
+dnl     "number"      <a href="#state_9">shift, and go to state 9</a>
+dnl     "("           <a href="#state_10">shift, and go to state 10</a>
+dnl
+dnl     exp  <a href="#state_25">go to state 25</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_23" id="state_23"></a>State 23</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_9">  9</a> <span class="i">@2</span> → 
<span class="dot">•</span> %empty
+dnl   <a href="#rule_10"> 10</a> <span class="i">exp</span> → <b>"incr"</b> 
<span class="i">exp</span> <span class="i">@1</span> <span class="dot">•</span> 
<span class="i">@2</span> <span class="i">exp</span>
+dnl
+dnl     $default  <a href="#rule_9">reduce using rule 9</a> (@2)
+dnl
+dnl     @2  <a href="#state_26">go to state 26</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_24" id="state_24"></a>State 24</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_11"> 11</a> <span class="i">exp</span> → 
<b>"("</b> <span class="i">exp</span> <b>")"</b> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_11">reduce using rule 11</a> (exp)
+dnl </p>
+dnl
+dnl <h3><a name="state_25" id="state_25"></a>State 25</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_6">  6</a> <span 
class="i">assignment</span> → <span class="i">id</span> <b>":="</b> <span 
class="i">exp</span> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_6">reduce using rule 6</a> (assignment)
+dnl </p>
+dnl
+dnl <h3><a name="state_26" id="state_26"></a>State 26</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → 
<span class="dot">•</span> <b>"incr"</b> <span class="i">exp</span> <span 
class="i">@1</span> <span class="i">@2</span> <span class="i">exp</span>
+dnl   <a href="#rule_10"> 10</a>     | <b>"incr"</b> <span 
class="i">exp</span> <span class="i">@1</span> <span class="i">@2</span> <span 
class="dot">•</span> <span class="i">exp</span>
+dnl   <a href="#rule_11"> 11</a>     | <span class="dot">•</span> <b>"("</b> 
<span class="i">exp</span> <b>")"</b>
+dnl   <a href="#rule_12"> 12</a>     | <span class="dot">•</span> 
<b>"identifier"</b>
+dnl   <a href="#rule_13"> 13</a>     | <span class="dot">•</span> 
<b>"number"</b>
+dnl
+dnl     "incr"        <a href="#state_7">shift, and go to state 7</a>
+dnl     "identifier"  <a href="#state_8">shift, and go to state 8</a>
+dnl     "number"      <a href="#state_9">shift, and go to state 9</a>
+dnl     "("           <a href="#state_10">shift, and go to state 10</a>
+dnl
+dnl     exp  <a href="#state_27">go to state 27</a>
+dnl </p>
+dnl
+dnl <h3><a name="state_27" id="state_27"></a>State 27</h3>
+dnl
+dnl <p class="pre">  <a href="#rule_10"> 10</a> <span class="i">exp</span> → 
<b>"incr"</b> <span class="i">exp</span> <span class="i">@1</span> <span 
class="i">@2</span> <span class="i">exp</span> <span class="dot">•</span>
+dnl
+dnl     $default  <a href="#rule_10">reduce using rule 10</a> (exp)
+dnl </p>
+dnl
+dnl <div id="footer"><hr />This document was generated using
+dnl       <a href="https://www.gnu.org/software/bison/"; title="GNU Bison">
+dnl       GNU Bison ]AT_PACKAGE_VERSION[</a>
+dnl       XML Automaton Report.<br />
+dnl       Verbatim copying and distribution of this entire page is
+dnl       permitted in any medium, provided this notice is 
preserved.</div></body>
+dnl </html>
+dnl ]])
+dnl fi
+dnl
+dnl AT_BISON_OPTION_POPDEFS
+dnl AT_CLEANUP
 
 
 ## ------------------------ ##




reply via email to

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