reports: update html ouput

* data/xslt/xml2xhtml.xsl: Improve indentation.
Use ul/li rather that pre.
This commit is contained in:
Akim Demaille
2020-07-11 09:14:55 +02:00
parent 9a51c6a128
commit a839f4c461
2 changed files with 135 additions and 77 deletions

View File

@@ -306,9 +306,10 @@
<xsl:text> Terminals, with rules where they appear</xsl:text> <xsl:text> Terminals, with rules where they appear</xsl:text>
</h3> </h3>
<xsl:text>&#10;&#10;</xsl:text> <xsl:text>&#10;&#10;</xsl:text>
<p class="pre"> <ul>
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="terminal"/> <xsl:apply-templates select="terminal"/>
</p> </ul>
<xsl:text>&#10;&#10;</xsl:text> <xsl:text>&#10;&#10;</xsl:text>
</xsl:template> </xsl:template>
@@ -318,41 +319,58 @@
<xsl:text> Nonterminals, with rules where they appear</xsl:text> <xsl:text> Nonterminals, with rules where they appear</xsl:text>
</h3> </h3>
<xsl:text>&#10;&#10;</xsl:text> <xsl:text>&#10;&#10;</xsl:text>
<p class="pre"> <ul>
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates <xsl:apply-templates
select="nonterminal[@usefulness!='useless-in-grammar']" select="nonterminal[@usefulness!='useless-in-grammar']"
/> />
</p> </ul>
</xsl:template> </xsl:template>
<xsl:template match="terminal"> <xsl:template match="terminal">
<b><xsl:value-of select="@name"/></b> <xsl:text> </xsl:text>
<xsl:value-of select="concat(' (', @token-number, ')')"/> <li>
<xsl:for-each select="key('bison:ruleByRhs', @name)"> <b><xsl:value-of select="@name"/></b>
<xsl:apply-templates select="." mode="number-link"/> <xsl:value-of select="concat(' (', @token-number, ')')"/>
</xsl:for-each> <xsl:for-each select="key('bison:ruleByRhs', @name)">
<xsl:apply-templates select="." mode="number-link"/>
</xsl:for-each>
</li>
<xsl:text>&#10;</xsl:text> <xsl:text>&#10;</xsl:text>
</xsl:template> </xsl:template>
<xsl:template match="nonterminal"> <xsl:template match="nonterminal">
<b><xsl:value-of select="@name"/></b> <xsl:text> </xsl:text>
<xsl:value-of select="concat(' (', @symbol-number, ')')"/> <li>
<xsl:text>&#10; </xsl:text> <b><xsl:value-of select="@name"/></b>
<xsl:if test="key('bison:ruleByLhs', @name)"> <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
<xsl:text>on left:</xsl:text> <xsl:text>&#10; </xsl:text>
<xsl:for-each select="key('bison:ruleByLhs', @name)"> <ul>
<xsl:apply-templates select="." mode="number-link"/> <xsl:text>&#10;</xsl:text>
</xsl:for-each> <xsl:if test="key('bison:ruleByLhs', @name)">
</xsl:if> <xsl:text> </xsl:text>
<xsl:if test="key('bison:ruleByRhs', @name)"> <li>
<xsl:if test="key('bison:ruleByLhs', @name)"> <xsl:text>on left:</xsl:text>
<xsl:text>&#10; </xsl:text> <xsl:for-each select="key('bison:ruleByLhs', @name)">
</xsl:if> <xsl:apply-templates select="." mode="number-link"/>
<xsl:text>on right:</xsl:text> </xsl:for-each>
<xsl:for-each select="key('bison:ruleByRhs', @name)"> </li>
<xsl:apply-templates select="." mode="number-link"/> <xsl:text>&#10;</xsl:text>
</xsl:for-each> </xsl:if>
</xsl:if> <xsl:if test="key('bison:ruleByRhs', @name)">
<xsl:text> </xsl:text>
<li>
<xsl:text>on right:</xsl:text>
<xsl:for-each select="key('bison:ruleByRhs', @name)">
<xsl:apply-templates select="." mode="number-link"/>
</xsl:for-each>
</li>
<xsl:text>&#10;</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
</ul>
<xsl:text>&#10; </xsl:text>
</li>
<xsl:text>&#10;</xsl:text> <xsl:text>&#10;</xsl:text>
</xsl:template> </xsl:template>

View File

@@ -1141,8 +1141,11 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
if test x"$XSLTPROC" != x""; then if test x"$XSLTPROC" != x""; then
AT_CHECK([[$XSLTPROC \ AT_CHECK([[$XSLTPROC \
`]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \ `]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \
input.xml >input.html]]) input.xml | \
AT_CHECK([sed -e '1s/GNU Bison [0-9.]*$/GNU Bison VERSION/' input.html], [], sed -e 's/GNU Bison [0-9][0-9.]*/GNU Bison VERSION/' \
>input.html]])
AT_CHECK([cat input.html], [],
[[<?xml version="1.0" encoding="UTF-8"?> [[<?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"> <!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="http://www.gnu.org/software/bison/"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:bison="http://www.gnu.org/software/bison/">
@@ -1225,42 +1228,68 @@ if test x"$XSLTPROC" != x""; then
<h3><a name="terminals" id="terminals"></a> Terminals, with rules where they appear</h3> <h3><a name="terminals" id="terminals"></a> Terminals, with rules where they appear</h3>
<p class="pre"><b>"end of file"</b> (0) <a href="#rule_0">0</a> <ul>
<b>error</b> (256) <li><b>"end of file"</b> (0) <a href="#rule_0">0</a></li>
<b>":="</b> (258) <a href="#rule_4">4</a> <li><b>error</b> (256)</li>
<b>"incr"</b> (259) <a href="#rule_8">8</a> <li><b>":="</b> (258) <a href="#rule_4">4</a></li>
<b>"identifier"</b> (260) <a href="#rule_5">5</a> <a href="#rule_10">10</a> <li><b>"incr"</b> (259) <a href="#rule_8">8</a></li>
<b>"number"</b> (261) <a href="#rule_11">11</a> <li><b>"identifier"</b> (260) <a href="#rule_5">5</a> <a href="#rule_10">10</a></li>
<b>"("</b> (262) <a href="#rule_9">9</a> <li><b>"number"</b> (261) <a href="#rule_11">11</a></li>
<b>")"</b> (263) <a href="#rule_9">9</a> <li><b>"("</b> (262) <a href="#rule_9">9</a></li>
</p> <li><b>")"</b> (263) <a href="#rule_9">9</a></li>
</ul>
<h3><a name="nonterminals" id="nonterminals"></a> Nonterminals, with rules where they appear</h3> <h3><a name="nonterminals" id="nonterminals"></a> Nonterminals, with rules where they appear</h3>
<p class="pre"><b>$accept</b> (9) <ul>
on left: <a href="#rule_0">0</a> <li><b>$accept</b> (9)
<b>unit</b> (10) <ul>
on left: <a href="#rule_1">1</a> <li>on left: <a href="#rule_0">0</a></li>
on right: <a href="#rule_0">0</a> </ul>
<b>assignments</b> (11) </li>
on left: <a href="#rule_2">2</a> <a href="#rule_3">3</a> <li><b>unit</b> (10)
on right: <a href="#rule_1">1</a> <a href="#rule_3">3</a> <ul>
<b>assignment</b> (12) <li>on left: <a href="#rule_1">1</a></li>
on left: <a href="#rule_4">4</a> <li>on right: <a href="#rule_0">0</a></li>
on right: <a href="#rule_3">3</a> </ul>
<b>id</b> (13) </li>
on left: <a href="#rule_5">5</a> <li><b>assignments</b> (11)
on right: <a href="#rule_4">4</a> <ul>
<b>exp</b> (14) <li>on left: <a href="#rule_2">2</a> <a href="#rule_3">3</a></li>
on left: <a href="#rule_8">8</a> <a href="#rule_9">9</a> <a href="#rule_10">10</a> <a href="#rule_11">11</a> <li>on right: <a href="#rule_1">1</a> <a href="#rule_3">3</a></li>
on right: <a href="#rule_1">1</a> <a href="#rule_4">4</a> <a href="#rule_8">8</a> <a href="#rule_9">9</a> </ul>
<b>@1</b> (15) </li>
on left: <a href="#rule_6">6</a> <li><b>assignment</b> (12)
on right: <a href="#rule_8">8</a> <ul>
<b>@2</b> (16) <li>on left: <a href="#rule_4">4</a></li>
on left: <a href="#rule_7">7</a> <li>on right: <a href="#rule_3">3</a></li>
on right: <a href="#rule_8">8</a> </ul>
</p><h2><a name="automaton" id="automaton"></a> Automaton</h2> </li>
<li><b>id</b> (13)
<ul>
<li>on left: <a href="#rule_5">5</a></li>
<li>on right: <a href="#rule_4">4</a></li>
</ul>
</li>
<li><b>exp</b> (14)
<ul>
<li>on left: <a href="#rule_8">8</a> <a href="#rule_9">9</a> <a href="#rule_10">10</a> <a href="#rule_11">11</a></li>
<li>on right: <a href="#rule_1">1</a> <a href="#rule_4">4</a> <a href="#rule_8">8</a> <a href="#rule_9">9</a></li>
</ul>
</li>
<li><b>@1</b> (15)
<ul>
<li>on left: <a href="#rule_6">6</a></li>
<li>on right: <a href="#rule_8">8</a></li>
</ul>
</li>
<li><b>@2</b> (16)
<ul>
<li>on left: <a href="#rule_7">7</a></li>
<li>on right: <a href="#rule_8">8</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> <h3><a name="state_0" id="state_0"></a>state 0</h3>
@@ -2067,8 +2096,11 @@ AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="
if test x"$XSLTPROC" != x""; then if test x"$XSLTPROC" != x""; then
AT_CHECK([[$XSLTPROC \ AT_CHECK([[$XSLTPROC \
`]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \ `]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \
input.xml >input.html]]) input.xml | \
AT_CHECK([sed -e '1s/GNU Bison [0-9.]*$/GNU Bison VERSION/' input.html], [], sed -e 's/GNU Bison [0-9][0-9.]*/GNU Bison VERSION/' \
>input.html]])
AT_CHECK([cat input.html], [],
[[<?xml version="1.0" encoding="UTF-8"?> [[<?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"> <!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="http://www.gnu.org/software/bison/"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:bison="http://www.gnu.org/software/bison/">
@@ -2148,22 +2180,30 @@ if test x"$XSLTPROC" != x""; then
<h3><a name="terminals" id="terminals"></a> Terminals, with rules where they appear</h3> <h3><a name="terminals" id="terminals"></a> Terminals, with rules where they appear</h3>
<p class="pre"><b>$end</b> (0) <a href="#rule_0">0</a> <ul>
<b>error</b> (256) <li><b>$end</b> (0) <a href="#rule_0">0</a></li>
<b>"+"</b> (258) <a href="#rule_2">2</a> <a href="#rule_3">3</a> <li><b>error</b> (256)</li>
<b>""</b> (259) <a href="#rule_1">1</a> <li><b>"+"</b> (258) <a href="#rule_2">2</a> <a href="#rule_3">3</a></li>
<b>"number"</b> (260) <a href="#rule_4">4</a> <li><b>"⊕"</b> (259) <a href="#rule_1">1</a></li>
<b>"Ñùṃéℝô"</b> (261) <a href="#rule_5">5</a> <li><b>"number"</b> (260) <a href="#rule_4">4</a></li>
</p> <li><b>"Ñùṃéℝô"</b> (261) <a href="#rule_5">5</a></li>
</ul>
<h3><a name="nonterminals" id="nonterminals"></a> Nonterminals, with rules where they appear</h3> <h3><a name="nonterminals" id="nonterminals"></a> Nonterminals, with rules where they appear</h3>
<p class="pre"><b>$accept</b> (7) <ul>
on left: <a href="#rule_0">0</a> <li><b>$accept</b> (7)
<b>exp</b> (8) <ul>
on left: <a href="#rule_1">1</a> <a href="#rule_2">2</a> <a href="#rule_3">3</a> <a href="#rule_4">4</a> <a href="#rule_5">5</a> <li>on left: <a href="#rule_0">0</a></li>
on right: <a href="#rule_0">0</a> <a href="#rule_1">1</a> <a href="#rule_2">2</a> <a href="#rule_3">3</a> </ul>
</p><h2><a name="automaton" id="automaton"></a> Automaton</h2> </li>
<li><b>exp</b> (8)
<ul>
<li>on left: <a href="#rule_1">1</a> <a href="#rule_2">2</a> <a href="#rule_3">3</a> <a href="#rule_4">4</a> <a href="#rule_5">5</a></li>
<li>on right: <a href="#rule_0">0</a> <a href="#rule_1">1</a> <a href="#rule_2">2</a> <a href="#rule_3">3</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> <h3><a name="state_0" id="state_0"></a>state 0</h3>