mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
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:
10
TODO
10
TODO
@@ -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
|
||||||
|
|||||||
@@ -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> </xsl:text>
|
<xsl:text> </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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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">•</span>
|
<span class="dot">•</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">•</span>
|
<span class="dot">•</span>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
<xsl:if test="$lookaheads">
|
<xsl:if test="$lookaheads">
|
||||||
|
|||||||
154
doc/bison.texi
154
doc/bison.texi
@@ -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
|
||||||
@@ -9833,39 +9833,40 @@ and reports the uses of the symbols:
|
|||||||
@group
|
@group
|
||||||
Terminals, with rules where they appear
|
Terminals, with rules where they appear
|
||||||
|
|
||||||
$end (0) 0
|
$end (0) 0
|
||||||
'*' (42) 3
|
'*' (42) 3
|
||||||
'+' (43) 1
|
'+' (43) 1
|
||||||
'-' (45) 2
|
'-' (45) 2
|
||||||
'/' (47) 4
|
'/' (47) 4
|
||||||
error (256)
|
error (256)
|
||||||
NUM <ival> (258) 5
|
NUM <ival> (258) 5
|
||||||
STR <sval> (259)
|
STR <sval> (259)
|
||||||
@end group
|
@end group
|
||||||
|
|
||||||
@group
|
@group
|
||||||
Nonterminals, with rules where they appear
|
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)
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
168
tests/report.at
168
tests/report.at
@@ -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>":="</symbol>
|
<symbol>":="</symbol>
|
||||||
</lookaheads>
|
</lookaheads>
|
||||||
</item>
|
</item>
|
||||||
<item rule-number="10" point="1">
|
<item rule-number="10" dot="1">
|
||||||
<lookaheads>
|
<lookaheads>
|
||||||
<symbol>"end of file"</symbol>
|
<symbol>"end of file"</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>"+"</symbol>
|
<symbol>"+"</symbol>
|
||||||
<symbol>"⊕"</symbol>
|
<symbol>"⊕"</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>"+"</symbol>
|
<symbol>"+"</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>"+"</symbol>
|
<symbol>"+"</symbol>
|
||||||
<symbol>"⊕"</symbol>
|
<symbol>"⊕"</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>
|
||||||
|
|||||||
Reference in New Issue
Block a user