doc: use dot/'•' rather than point/'.'

AFAICT, "dotted rule" is a more frequent synonym of "item" than
"pointed rule".  So let's migrate to using "dot" only.

* doc/bison.texi: Use dot/'•' rather than point/'.'.

* src/print-xml.c (print_core): Use dot rather than point.  This is
not backward compatible, but AFAICT, we don't have actual user of the
XML output (but ourselves).  So...
* data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl,
* data/xslt/xml2xhtml.xsl, tests/report.at: ... adjust.
This commit is contained in:
Akim Demaille
2020-06-23 07:21:52 +02:00
parent b65bd16e45
commit c4b1a2b68f
8 changed files with 181 additions and 187 deletions

10
TODO
View File

@@ -33,14 +33,8 @@ Show the counterexamples. This is going to be really hard and/or painful.
Unless we play it dumb (little structure). Unless we play it dumb (little structure).
*** Doc *** Doc
-Wcounterexamples, --report=counterexamples -Wcounterexamples, --report=counterexamples. Don't forget to include
examples about conflicts in the reports.
Use "•" instead of ".".
*** point, dot
We have too many names. In XML we use "point", in C "dot". A traditional
more accurate name of "item" is "pointed rule", so we should probably prefer
"point" to "dot".
** Bistromathic ** Bistromathic
- Hitting tab on a line with a syntax error is ugly - Hitting tab on a line with a syntax error is ugly

View File

@@ -159,7 +159,7 @@
<xsl:param name="prev-rule-number" <xsl:param name="prev-rule-number"
select="preceding-sibling::item[1]/@rule-number"/> select="preceding-sibling::item[1]/@rule-number"/>
<xsl:apply-templates select="key('bison:ruleByNumber', @rule-number)"> <xsl:apply-templates select="key('bison:ruleByNumber', @rule-number)">
<xsl:with-param name="point" select="@point"/> <xsl:with-param name="dot" select="@dot"/>
<xsl:with-param name="num" select="@rule-number"/> <xsl:with-param name="num" select="@rule-number"/>
<xsl:with-param name="prev-lhs" <xsl:with-param name="prev-lhs"
select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]" select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
@@ -169,7 +169,7 @@
</xsl:template> </xsl:template>
<xsl:template match="rule"> <xsl:template match="rule">
<xsl:param name="point"/> <xsl:param name="dot"/>
<xsl:param name="num"/> <xsl:param name="num"/>
<xsl:param name="prev-lhs"/> <xsl:param name="prev-lhs"/>
<xsl:text>&#10;</xsl:text> <xsl:text>&#10;</xsl:text>
@@ -198,14 +198,14 @@
<xsl:text>:</xsl:text> <xsl:text>:</xsl:text>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:if test="$point = 0"> <xsl:if test="$dot = 0">
<xsl:text> .</xsl:text> <xsl:text> .</xsl:text>
</xsl:if> </xsl:if>
<!-- RHS --> <!-- RHS -->
<xsl:for-each select="rhs/symbol|rhs/empty"> <xsl:for-each select="rhs/symbol|rhs/empty">
<xsl:apply-templates select="."/> <xsl:apply-templates select="."/>
<xsl:if test="$point = position()"> <xsl:if test="$dot = position()">
<xsl:text> .</xsl:text> <xsl:text> .</xsl:text>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>

View File

@@ -300,7 +300,7 @@
name="prev-lhs" name="prev-lhs"
select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]" select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
/> />
<xsl:with-param name="point" select="@point"/> <xsl:with-param name="dot" select="@dot"/>
<xsl:with-param name="lookaheads"> <xsl:with-param name="lookaheads">
<xsl:apply-templates select="lookaheads"/> <xsl:apply-templates select="lookaheads"/>
</xsl:with-param> </xsl:with-param>
@@ -311,7 +311,7 @@
<xsl:param name="itemset"/> <xsl:param name="itemset"/>
<xsl:param name="pad"/> <xsl:param name="pad"/>
<xsl:param name="prev-lhs"/> <xsl:param name="prev-lhs"/>
<xsl:param name="point"/> <xsl:param name="dot"/>
<xsl:param name="lookaheads"/> <xsl:param name="lookaheads"/>
<xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])"> <xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
@@ -347,11 +347,11 @@
<!-- RHS --> <!-- RHS -->
<xsl:for-each select="rhs/*"> <xsl:for-each select="rhs/*">
<xsl:if test="position() = $point + 1"> <xsl:if test="position() = $dot + 1">
<xsl:text> .</xsl:text> <xsl:text> .</xsl:text>
</xsl:if> </xsl:if>
<xsl:apply-templates select="."/> <xsl:apply-templates select="."/>
<xsl:if test="position() = last() and position() = $point"> <xsl:if test="position() = last() and position() = $dot">
<xsl:text> .</xsl:text> <xsl:text> .</xsl:text>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>

View File

@@ -75,7 +75,7 @@
ol.lower-alpha { ol.lower-alpha {
list-style-type: lower-alpha; list-style-type: lower-alpha;
} }
.point { .dot {
color: #cc0000; color: #cc0000;
} }
#footer { #footer {
@@ -457,7 +457,7 @@
<xsl:with-param name="prev-lhs" <xsl:with-param name="prev-lhs"
select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]" select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
/> />
<xsl:with-param name="point" select="@point"/> <xsl:with-param name="dot" select="@dot"/>
<xsl:with-param name="lookaheads"> <xsl:with-param name="lookaheads">
<xsl:apply-templates select="lookaheads"/> <xsl:apply-templates select="lookaheads"/>
</xsl:with-param> </xsl:with-param>
@@ -468,7 +468,7 @@
<xsl:param name="itemset"/> <xsl:param name="itemset"/>
<xsl:param name="pad"/> <xsl:param name="pad"/>
<xsl:param name="prev-lhs"/> <xsl:param name="prev-lhs"/>
<xsl:param name="point"/> <xsl:param name="dot"/>
<xsl:param name="lookaheads"/> <xsl:param name="lookaheads"/>
<xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])"> <xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
@@ -529,14 +529,14 @@
<!-- RHS --> <!-- RHS -->
<xsl:for-each select="rhs/*"> <xsl:for-each select="rhs/*">
<xsl:if test="position() = $point + 1"> <xsl:if test="position() = $dot + 1">
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
<span class="point">&#x2022;</span> <span class="dot">&#x2022;</span>
</xsl:if> </xsl:if>
<xsl:apply-templates select="."/> <xsl:apply-templates select="."/>
<xsl:if test="position() = last() and position() = $point"> <xsl:if test="position() = last() and position() = $dot">
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
<span class="point">&#x2022;</span> <span class="dot">&#x2022;</span>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
<xsl:if test="$lookaheads"> <xsl:if test="$lookaheads">

View File

@@ -8301,7 +8301,7 @@ explicitly. This shift/reduce conflicts occurs in the following situation,
where the period denotes the current parsing state: where the period denotes the current parsing state:
@example @example
if @var{e1} then if @var{e2} then @var{s1} . else @var{s2} if @var{e1} then if @var{e2} then @var{s1} else @var{s2}
@end example @end example
The conflict involves the reduction of the rule @samp{IF expr THEN The conflict involves the reduction of the rule @samp{IF expr THEN
@@ -9849,23 +9849,24 @@ Nonterminals, with rules where they appear
$accept (9) $accept (9)
on left: 0 on left: 0
exp <ival> (10) exp <ival> (10)
on left: 1 2 3 4 5, on right: 0 1 2 3 4 on left: 1 2 3 4 5
on right: 0 1 2 3 4
@end group @end group
@end example @end example
@noindent @noindent
@cindex item @cindex item
@cindex pointed rule @cindex dotted rule
@cindex rule, pointed @cindex rule, dotted
Bison then proceeds onto the automaton itself, describing each state Bison then proceeds onto the automaton itself, describing each state with
with its set of @dfn{items}, also known as @dfn{pointed rules}. Each its set of @dfn{items}, also known as @dfn{dotted rules}. Each item is a
item is a production rule together with a point (@samp{.}) marking production rule together with a point (@samp{.}) marking the location of the
the location of the input cursor. input cursor.
@example @example
State 0 State 0
0 $accept: . exp $end 0 $accept: exp $end
NUM shift, and go to state 1 NUM shift, and go to state 1
@@ -9895,12 +9896,12 @@ you want to see more detail you can invoke @command{bison} with
@example @example
State 0 State 0
0 $accept: . exp $end 0 $accept: exp $end
1 exp: . exp '+' exp 1 exp: exp '+' exp
2 | . exp '-' exp 2 | exp '-' exp
3 | . exp '*' exp 3 | exp '*' exp
4 | . exp '/' exp 4 | exp '/' exp
5 | . NUM 5 | NUM
NUM shift, and go to state 1 NUM shift, and go to state 1
@@ -9913,25 +9914,25 @@ In the state 1@dots{}
@example @example
State 1 State 1
5 exp: NUM . 5 exp: NUM
$default reduce using rule 5 (exp) $default reduce using rule 5 (exp)
@end example @end example
@noindent @noindent
the rule 5, @samp{exp: NUM;}, is completed. Whatever the lookahead token the rule 5, @samp{exp: NUM;}, is completed. Whatever the lookahead token
(@samp{$default}), the parser will reduce it. If it was coming from (@samp{$default}), the parser will reduce it. If it was coming from State
State 0, then, after this reduction it will return to state 0, and will 0, then, after this reduction it will return to state 0, and will jump to
jump to state 2 (@samp{exp: go to state 2}). state 2 (@samp{exp: go to state 2}).
@example @example
State 2 State 2
0 $accept: exp . $end 0 $accept: exp $end
1 exp: exp . '+' exp 1 exp: exp '+' exp
2 | exp . '-' exp 2 | exp '-' exp
3 | exp . '*' exp 3 | exp '*' exp
4 | exp . '/' exp 4 | exp '/' exp
$end shift, and go to state 3 $end shift, and go to state 3
'+' shift, and go to state 4 '+' shift, and go to state 4
@@ -9941,12 +9942,11 @@ State 2
@end example @end example
@noindent @noindent
In state 2, the automaton can only shift a symbol. For instance, In state 2, the automaton can only shift a symbol. For instance, because of
because of the item @samp{exp: exp . '+' exp}, if the lookahead is the item @samp{exp: exp '+' exp}, if the lookahead is @samp{+} it is
@samp{+} it is shifted onto the parse stack, and the automaton shifted onto the parse stack, and the automaton jumps to state 4,
jumps to state 4, corresponding to the item @samp{exp: exp '+' . exp}. corresponding to the item @samp{exp: exp '+' exp}. Since there is no
Since there is no default action, any lookahead not listed triggers a syntax default action, any lookahead not listed triggers a syntax error.
error.
@cindex accepting state @cindex accepting state
The state 3 is named the @dfn{final state}, or the @dfn{accepting The state 3 is named the @dfn{final state}, or the @dfn{accepting
@@ -9955,7 +9955,7 @@ state}:
@example @example
State 3 State 3
0 $accept: exp $end . 0 $accept: exp $end
$default accept $default accept
@end example @end example
@@ -9970,7 +9970,7 @@ the reader.
@example @example
State 4 State 4
1 exp: exp '+' . exp 1 exp: exp '+' exp
NUM shift, and go to state 1 NUM shift, and go to state 1
@@ -9979,7 +9979,7 @@ State 4
State 5 State 5
2 exp: exp '-' . exp 2 exp: exp '-' exp
NUM shift, and go to state 1 NUM shift, and go to state 1
@@ -9988,7 +9988,7 @@ State 5
State 6 State 6
3 exp: exp '*' . exp 3 exp: exp '*' exp
NUM shift, and go to state 1 NUM shift, and go to state 1
@@ -9997,7 +9997,7 @@ State 6
State 7 State 7
4 exp: exp '/' . exp 4 exp: exp '/' exp
NUM shift, and go to state 1 NUM shift, and go to state 1
@@ -10010,11 +10010,11 @@ As was announced in beginning of the report, @samp{State 8 conflicts:
@example @example
State 8 State 8
1 exp: exp . '+' exp 1 exp: exp '+' exp
1 | exp '+' exp . 1 | exp '+' exp
2 | exp . '-' exp 2 | exp '-' exp
3 | exp . '*' exp 3 | exp '*' exp
4 | exp . '/' exp 4 | exp '/' exp
'*' shift, and go to state 6 '*' shift, and go to state 6
'/' shift, and go to state 7 '/' shift, and go to state 7
@@ -10052,11 +10052,11 @@ with some set of possible lookahead tokens. When run with
@example @example
State 8 State 8
1 exp: exp . '+' exp 1 exp: exp '+' exp
1 | exp '+' exp . [$end, '+', '-', '/'] 1 | exp '+' exp [$end, '+', '-', '/']
2 | exp . '-' exp 2 | exp '-' exp
3 | exp . '*' exp 3 | exp '*' exp
4 | exp . '/' exp 4 | exp '/' exp
'*' shift, and go to state 6 '*' shift, and go to state 6
'/' shift, and go to state 7 '/' shift, and go to state 7
@@ -10084,11 +10084,11 @@ The remaining states are similar:
@group @group
State 9 State 9
1 exp: exp . '+' exp 1 exp: exp '+' exp
2 | exp . '-' exp 2 | exp '-' exp
2 | exp '-' exp . 2 | exp '-' exp
3 | exp . '*' exp 3 | exp '*' exp
4 | exp . '/' exp 4 | exp '/' exp
'*' shift, and go to state 6 '*' shift, and go to state 6
'/' shift, and go to state 7 '/' shift, and go to state 7
@@ -10100,11 +10100,11 @@ State 9
@group @group
State 10 State 10
1 exp: exp . '+' exp 1 exp: exp '+' exp
2 | exp . '-' exp 2 | exp '-' exp
3 | exp . '*' exp 3 | exp '*' exp
3 | exp '*' exp . 3 | exp '*' exp
4 | exp . '/' exp 4 | exp '/' exp
'/' shift, and go to state 7 '/' shift, and go to state 7
@@ -10115,11 +10115,11 @@ State 10
@group @group
State 11 State 11
1 exp: exp . '+' exp 1 exp: exp '+' exp
2 | exp . '-' exp 2 | exp '-' exp
3 | exp . '*' exp 3 | exp '*' exp
4 | exp . '/' exp 4 | exp '/' exp
4 | exp '/' exp . 4 | exp '/' exp
'+' shift, and go to state 4 '+' shift, and go to state 4
'-' shift, and go to state 5 '-' shift, and go to state 5
@@ -10192,9 +10192,9 @@ analysis of the textual report.
@subheading Graphical Representation of States @subheading Graphical Representation of States
The items (pointed rules) for each state are grouped together in graph nodes. The items (dotted rules) for each state are grouped together in graph nodes.
Their numbering is the same as in the verbose file. See the following points, Their numbering is the same as in the verbose file. See the following
about transitions, for examples points, about transitions, for examples
When invoked with @option{--report=lookaheads}, the lookahead tokens, when When invoked with @option{--report=lookaheads}, the lookahead tokens, when
needed, are shown next to the relevant rule between square brackets as a needed, are shown next to the relevant rule between square brackets as a
@@ -10215,7 +10215,7 @@ shift. The following describes a reduction in the @file{rr.output} file:
@group @group
State 3 State 3
1 exp: a . ";" 1 exp: a ";"
";" shift, and go to state 6 ";" shift, and go to state 6
@end group @end group
@@ -10236,8 +10236,8 @@ This is how reductions are represented in the verbose file @file{rr.output}:
@example @example
State 1 State 1
3 a: "0" . [";"] 3 a: "0" [";"]
4 b: "0" . ["."] 4 b: "0" ["."]
"." reduce using rule 4 (b) "." reduce using rule 4 (b)
$default reduce using rule 3 (a) $default reduce using rule 3 (a)

View File

@@ -229,7 +229,7 @@ print_dot_fallback (unsigned int code _GL_UNUSED,
} }
/* Print "•", the symbol used to represent a point in an item (aka, a /* Print "•", the symbol used to represent a point in an item (aka, a
pointed rule). */ dotted rule). */
static inline void static inline void
print_dot (FILE *out) print_dot (FILE *out)
{ {

View File

@@ -89,7 +89,7 @@ print_core (FILE *out, int level, state *s)
if (reds->lookahead_tokens && red != -1) if (reds->lookahead_tokens && red != -1)
{ {
xml_printf (out, level + 1, xml_printf (out, level + 1,
"<item rule-number=\"%d\" point=\"%d\">", "<item rule-number=\"%d\" dot=\"%d\">",
r->number, sp1 - sp); r->number, sp1 - sp);
state_rule_lookahead_tokens_print_xml (s, r, state_rule_lookahead_tokens_print_xml (s, r,
out, level + 2); out, level + 2);
@@ -100,7 +100,7 @@ print_core (FILE *out, int level, state *s)
if (!printed) if (!printed)
xml_printf (out, level + 1, xml_printf (out, level + 1,
"<item rule-number=\"%d\" point=\"%d\"/>", "<item rule-number=\"%d\" dot=\"%d\"/>",
r->number, r->number,
sp1 - sp); sp1 - sp);
} }

View File

@@ -789,10 +789,10 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="0"> <state number="0">
<itemset> <itemset>
<item rule-number="0" point="0"/> <item rule-number="0" dot="0"/>
<item rule-number="1" point="0"/> <item rule-number="1" dot="0"/>
<item rule-number="2" point="0"/> <item rule-number="2" dot="0"/>
<item rule-number="3" point="0"/> <item rule-number="3" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -809,7 +809,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="1"> <state number="1">
<itemset> <itemset>
<item rule-number="0" point="1"/> <item rule-number="0" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -823,14 +823,14 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="2"> <state number="2">
<itemset> <itemset>
<item rule-number="1" point="1"/> <item rule-number="1" dot="1"/>
<item rule-number="3" point="1"/> <item rule-number="3" dot="1"/>
<item rule-number="4" point="0"/> <item rule-number="4" dot="0"/>
<item rule-number="5" point="0"/> <item rule-number="5" dot="0"/>
<item rule-number="8" point="0"/> <item rule-number="8" dot="0"/>
<item rule-number="9" point="0"/> <item rule-number="9" dot="0"/>
<item rule-number="10" point="0"/> <item rule-number="10" dot="0"/>
<item rule-number="11" point="0"/> <item rule-number="11" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -850,7 +850,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="3"> <state number="3">
<itemset> <itemset>
<item rule-number="0" point="2"/> <item rule-number="0" dot="2"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -864,11 +864,11 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="4"> <state number="4">
<itemset> <itemset>
<item rule-number="8" point="0"/> <item rule-number="8" dot="0"/>
<item rule-number="8" point="1"/> <item rule-number="8" dot="1"/>
<item rule-number="9" point="0"/> <item rule-number="9" dot="0"/>
<item rule-number="10" point="0"/> <item rule-number="10" dot="0"/>
<item rule-number="11" point="0"/> <item rule-number="11" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -886,12 +886,12 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="5"> <state number="5">
<itemset> <itemset>
<item rule-number="5" point="1"> <item rule-number="5" dot="1">
<lookaheads> <lookaheads>
<symbol>&quot;:=&quot;</symbol> <symbol>&quot;:=&quot;</symbol>
</lookaheads> </lookaheads>
</item> </item>
<item rule-number="10" point="1"> <item rule-number="10" dot="1">
<lookaheads> <lookaheads>
<symbol>&quot;end of file&quot;</symbol> <symbol>&quot;end of file&quot;</symbol>
</lookaheads> </lookaheads>
@@ -910,7 +910,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="6"> <state number="6">
<itemset> <itemset>
<item rule-number="11" point="1"/> <item rule-number="11" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -924,11 +924,11 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="7"> <state number="7">
<itemset> <itemset>
<item rule-number="8" point="0"/> <item rule-number="8" dot="0"/>
<item rule-number="9" point="0"/> <item rule-number="9" dot="0"/>
<item rule-number="9" point="1"/> <item rule-number="9" dot="1"/>
<item rule-number="10" point="0"/> <item rule-number="10" dot="0"/>
<item rule-number="11" point="0"/> <item rule-number="11" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -946,7 +946,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="8"> <state number="8">
<itemset> <itemset>
<item rule-number="3" point="2"/> <item rule-number="3" dot="2"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -960,7 +960,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="9"> <state number="9">
<itemset> <itemset>
<item rule-number="4" point="1"/> <item rule-number="4" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -974,7 +974,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="10"> <state number="10">
<itemset> <itemset>
<item rule-number="1" point="2"/> <item rule-number="1" dot="2"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -988,7 +988,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="11"> <state number="11">
<itemset> <itemset>
<item rule-number="10" point="1"/> <item rule-number="10" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1002,8 +1002,8 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="12"> <state number="12">
<itemset> <itemset>
<item rule-number="6" point="0"/> <item rule-number="6" dot="0"/>
<item rule-number="8" point="2"/> <item rule-number="8" dot="2"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1019,7 +1019,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="13"> <state number="13">
<itemset> <itemset>
<item rule-number="9" point="2"/> <item rule-number="9" dot="2"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1033,11 +1033,11 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="14"> <state number="14">
<itemset> <itemset>
<item rule-number="4" point="2"/> <item rule-number="4" dot="2"/>
<item rule-number="8" point="0"/> <item rule-number="8" dot="0"/>
<item rule-number="9" point="0"/> <item rule-number="9" dot="0"/>
<item rule-number="10" point="0"/> <item rule-number="10" dot="0"/>
<item rule-number="11" point="0"/> <item rule-number="11" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1055,8 +1055,8 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="15"> <state number="15">
<itemset> <itemset>
<item rule-number="7" point="0"/> <item rule-number="7" dot="0"/>
<item rule-number="8" point="3"/> <item rule-number="8" dot="3"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1072,7 +1072,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="16"> <state number="16">
<itemset> <itemset>
<item rule-number="9" point="3"/> <item rule-number="9" dot="3"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1086,7 +1086,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="17"> <state number="17">
<itemset> <itemset>
<item rule-number="4" point="3"/> <item rule-number="4" dot="3"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1100,11 +1100,11 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="18"> <state number="18">
<itemset> <itemset>
<item rule-number="8" point="0"/> <item rule-number="8" dot="0"/>
<item rule-number="8" point="4"/> <item rule-number="8" dot="4"/>
<item rule-number="9" point="0"/> <item rule-number="9" dot="0"/>
<item rule-number="10" point="0"/> <item rule-number="10" dot="0"/>
<item rule-number="11" point="0"/> <item rule-number="11" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1122,7 +1122,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="19"> <state number="19">
<itemset> <itemset>
<item rule-number="8" point="5"/> <item rule-number="8" dot="5"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1531,12 +1531,12 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="0"> <state number="0">
<itemset> <itemset>
<item rule-number="0" point="0"/> <item rule-number="0" dot="0"/>
<item rule-number="1" point="0"/> <item rule-number="1" dot="0"/>
<item rule-number="2" point="0"/> <item rule-number="2" dot="0"/>
<item rule-number="3" point="0"/> <item rule-number="3" dot="0"/>
<item rule-number="4" point="0"/> <item rule-number="4" dot="0"/>
<item rule-number="5" point="0"/> <item rule-number="5" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1552,7 +1552,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="1"> <state number="1">
<itemset> <itemset>
<item rule-number="4" point="1"/> <item rule-number="4" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1566,7 +1566,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="2"> <state number="2">
<itemset> <itemset>
<item rule-number="5" point="1"/> <item rule-number="5" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1580,10 +1580,10 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="3"> <state number="3">
<itemset> <itemset>
<item rule-number="0" point="1"/> <item rule-number="0" dot="1"/>
<item rule-number="1" point="1"/> <item rule-number="1" dot="1"/>
<item rule-number="2" point="1"/> <item rule-number="2" dot="1"/>
<item rule-number="3" point="1"/> <item rule-number="3" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1599,7 +1599,7 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="4"> <state number="4">
<itemset> <itemset>
<item rule-number="0" point="2"/> <item rule-number="0" dot="2"/>
</itemset> </itemset>
<actions> <actions>
<transitions/> <transitions/>
@@ -1613,13 +1613,13 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="5"> <state number="5">
<itemset> <itemset>
<item rule-number="1" point="0"/> <item rule-number="1" dot="0"/>
<item rule-number="2" point="0"/> <item rule-number="2" dot="0"/>
<item rule-number="2" point="2"/> <item rule-number="2" dot="2"/>
<item rule-number="3" point="0"/> <item rule-number="3" dot="0"/>
<item rule-number="3" point="2"/> <item rule-number="3" dot="2"/>
<item rule-number="4" point="0"/> <item rule-number="4" dot="0"/>
<item rule-number="5" point="0"/> <item rule-number="5" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1635,12 +1635,12 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="6"> <state number="6">
<itemset> <itemset>
<item rule-number="1" point="0"/> <item rule-number="1" dot="0"/>
<item rule-number="1" point="2"/> <item rule-number="1" dot="2"/>
<item rule-number="2" point="0"/> <item rule-number="2" dot="0"/>
<item rule-number="3" point="0"/> <item rule-number="3" dot="0"/>
<item rule-number="4" point="0"/> <item rule-number="4" dot="0"/>
<item rule-number="5" point="0"/> <item rule-number="5" dot="0"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>
@@ -1656,17 +1656,17 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="7"> <state number="7">
<itemset> <itemset>
<item rule-number="1" point="1"/> <item rule-number="1" dot="1"/>
<item rule-number="2" point="1"/> <item rule-number="2" dot="1"/>
<item rule-number="2" point="3"> <item rule-number="2" dot="3">
<lookaheads> <lookaheads>
<symbol>$end</symbol> <symbol>$end</symbol>
<symbol>&quot;+&quot;</symbol> <symbol>&quot;+&quot;</symbol>
<symbol>&quot;⊕&quot;</symbol> <symbol>&quot;⊕&quot;</symbol>
</lookaheads> </lookaheads>
</item> </item>
<item rule-number="3" point="1"/> <item rule-number="3" dot="1"/>
<item rule-number="3" point="3"> <item rule-number="3" dot="3">
<lookaheads> <lookaheads>
<symbol>$end</symbol> <symbol>$end</symbol>
<symbol>&quot;+&quot;</symbol> <symbol>&quot;+&quot;</symbol>
@@ -1696,16 +1696,16 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
<state number="8"> <state number="8">
<itemset> <itemset>
<item rule-number="1" point="1"/> <item rule-number="1" dot="1"/>
<item rule-number="1" point="3"> <item rule-number="1" dot="3">
<lookaheads> <lookaheads>
<symbol>$end</symbol> <symbol>$end</symbol>
<symbol>&quot;+&quot;</symbol> <symbol>&quot;+&quot;</symbol>
<symbol>&quot;⊕&quot;</symbol> <symbol>&quot;⊕&quot;</symbol>
</lookaheads> </lookaheads>
</item> </item>
<item rule-number="2" point="1"/> <item rule-number="2" dot="1"/>
<item rule-number="3" point="1"/> <item rule-number="3" dot="1"/>
</itemset> </itemset>
<actions> <actions>
<transitions> <transitions>