bison-patches
[Top][All Lists]
Advanced

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

[PATCH 04/10] reports: update html ouput


From: Akim Demaille
Subject: [PATCH 04/10] reports: update html ouput
Date: Sat, 11 Jul 2020 12:55:22 +0200

* data/xslt/xml2xhtml.xsl: Improve indentation.
Use ul/li rather that pre.
---
 data/xslt/xml2xhtml.xsl |  72 +++++++++++++--------
 tests/report.at         | 140 ++++++++++++++++++++++++++--------------
 2 files changed, 135 insertions(+), 77 deletions(-)

diff --git a/data/xslt/xml2xhtml.xsl b/data/xslt/xml2xhtml.xsl
index 9e7267e3..c269745b 100644
--- a/data/xslt/xml2xhtml.xsl
+++ b/data/xslt/xml2xhtml.xsl
@@ -306,9 +306,10 @@
     <xsl:text> Terminals, with rules where they appear</xsl:text>
   </h3>
   <xsl:text>&#10;&#10;</xsl:text>
-  <p class="pre">
+  <ul>
+    <xsl:text>&#10;</xsl:text>
     <xsl:apply-templates select="terminal"/>
-  </p>
+  </ul>
   <xsl:text>&#10;&#10;</xsl:text>
 </xsl:template>
 
@@ -318,41 +319,58 @@
     <xsl:text> Nonterminals, with rules where they appear</xsl:text>
   </h3>
   <xsl:text>&#10;&#10;</xsl:text>
-  <p class="pre">
+  <ul>
+    <xsl:text>&#10;</xsl:text>
     <xsl:apply-templates
       select="nonterminal[@usefulness!='useless-in-grammar']"
     />
-  </p>
+  </ul>
 </xsl:template>
 
 <xsl:template match="terminal">
-  <b><xsl:value-of select="@name"/></b>
-  <xsl:value-of select="concat(' (', @token-number, ')')"/>
-  <xsl:for-each select="key('bison:ruleByRhs', @name)">
-    <xsl:apply-templates select="." mode="number-link"/>
-  </xsl:for-each>
+  <xsl:text>  </xsl:text>
+  <li>
+    <b><xsl:value-of select="@name"/></b>
+    <xsl:value-of select="concat(' (', @token-number, ')')"/>
+    <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:template>
 
 <xsl:template match="nonterminal">
-  <b><xsl:value-of select="@name"/></b>
-  <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
-  <xsl:text>&#10;    </xsl:text>
-  <xsl:if test="key('bison:ruleByLhs', @name)">
-    <xsl:text>on left:</xsl:text>
-    <xsl:for-each select="key('bison:ruleByLhs', @name)">
-      <xsl:apply-templates select="." mode="number-link"/>
-    </xsl:for-each>
-  </xsl:if>
-  <xsl:if test="key('bison:ruleByRhs', @name)">
-    <xsl:if test="key('bison:ruleByLhs', @name)">
-      <xsl:text>&#10;    </xsl:text>
-    </xsl:if>
-    <xsl:text>on right:</xsl:text>
-    <xsl:for-each select="key('bison:ruleByRhs', @name)">
-      <xsl:apply-templates select="." mode="number-link"/>
-    </xsl:for-each>
-  </xsl:if>
+  <xsl:text>  </xsl:text>
+  <li>
+    <b><xsl:value-of select="@name"/></b>
+    <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
+    <xsl:text>&#10;    </xsl:text>
+    <ul>
+      <xsl:text>&#10;</xsl:text>
+      <xsl:if test="key('bison:ruleByLhs', @name)">
+        <xsl:text>      </xsl:text>
+        <li>
+          <xsl:text>on left:</xsl:text>
+          <xsl:for-each select="key('bison:ruleByLhs', @name)">
+            <xsl:apply-templates select="." mode="number-link"/>
+          </xsl:for-each>
+        </li>
+        <xsl:text>&#10;</xsl:text>
+      </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:template>
 
diff --git a/tests/report.at b/tests/report.at
index 6c0fe2c2..cc2aa34b 100644
--- a/tests/report.at
+++ b/tests/report.at
@@ -1141,8 +1141,11 @@ AT_CHECK([[sed -e 's/bison-xml-report 
version="[^"]*"/bison-xml-report version="
 if test x"$XSLTPROC" != x""; then
   AT_CHECK([[$XSLTPROC \
            `]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \
-           input.xml >input.html]])
-  AT_CHECK([sed -e '1s/GNU Bison [0-9.]*$/GNU Bison VERSION/' input.html], [],
+           input.xml | \
+           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"?>
 <!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/";>
@@ -1225,42 +1228,68 @@ if test x"$XSLTPROC" != x""; then
 
 <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>
-<b>error</b> (256)
-<b>":="</b> (258) <a href="#rule_4">4</a>
-<b>"incr"</b> (259) <a href="#rule_8">8</a>
-<b>"identifier"</b> (260) <a href="#rule_5">5</a> <a href="#rule_10">10</a>
-<b>"number"</b> (261) <a href="#rule_11">11</a>
-<b>"("</b> (262) <a href="#rule_9">9</a>
-<b>")"</b> (263) <a href="#rule_9">9</a>
-</p>
+<ul>
+  <li><b>"end of file"</b> (0) <a href="#rule_0">0</a></li>
+  <li><b>error</b> (256)</li>
+  <li><b>":="</b> (258) <a href="#rule_4">4</a></li>
+  <li><b>"incr"</b> (259) <a href="#rule_8">8</a></li>
+  <li><b>"identifier"</b> (260) <a href="#rule_5">5</a> <a 
href="#rule_10">10</a></li>
+  <li><b>"number"</b> (261) <a href="#rule_11">11</a></li>
+  <li><b>"("</b> (262) <a href="#rule_9">9</a></li>
+  <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>
 
-<p class="pre"><b>$accept</b> (9)
-    on left: <a href="#rule_0">0</a>
-<b>unit</b> (10)
-    on left: <a href="#rule_1">1</a>
-    on right: <a href="#rule_0">0</a>
-<b>assignments</b> (11)
-    on left: <a href="#rule_2">2</a> <a href="#rule_3">3</a>
-    on right: <a href="#rule_1">1</a> <a href="#rule_3">3</a>
-<b>assignment</b> (12)
-    on left: <a href="#rule_4">4</a>
-    on right: <a href="#rule_3">3</a>
-<b>id</b> (13)
-    on left: <a href="#rule_5">5</a>
-    on right: <a href="#rule_4">4</a>
-<b>exp</b> (14)
-    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>
-    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>
-<b>@1</b> (15)
-    on left: <a href="#rule_6">6</a>
-    on right: <a href="#rule_8">8</a>
-<b>@2</b> (16)
-    on left: <a href="#rule_7">7</a>
-    on right: <a href="#rule_8">8</a>
-</p><h2><a name="automaton" id="automaton"></a> Automaton</h2>
+<ul>
+  <li><b>$accept</b> (9)
+    <ul>
+      <li>on left: <a href="#rule_0">0</a></li>
+    </ul>
+  </li>
+  <li><b>unit</b> (10)
+    <ul>
+      <li>on left: <a href="#rule_1">1</a></li>
+      <li>on right: <a href="#rule_0">0</a></li>
+    </ul>
+  </li>
+  <li><b>assignments</b> (11)
+    <ul>
+      <li>on left: <a href="#rule_2">2</a> <a href="#rule_3">3</a></li>
+      <li>on right: <a href="#rule_1">1</a> <a href="#rule_3">3</a></li>
+    </ul>
+  </li>
+  <li><b>assignment</b> (12)
+    <ul>
+      <li>on left: <a href="#rule_4">4</a></li>
+      <li>on right: <a href="#rule_3">3</a></li>
+    </ul>
+  </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>
 
@@ -2067,8 +2096,11 @@ AT_CHECK([[sed -e 's/bison-xml-report 
version="[^"]*"/bison-xml-report version="
 if test x"$XSLTPROC" != x""; then
   AT_CHECK([[$XSLTPROC \
            `]]AT_SET_ENV[[ bison --print-datadir`/xslt/xml2xhtml.xsl \
-           input.xml >input.html]])
-  AT_CHECK([sed -e '1s/GNU Bison [0-9.]*$/GNU Bison VERSION/' input.html], [],
+           input.xml | \
+           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"?>
 <!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/";>
@@ -2148,22 +2180,30 @@ if test x"$XSLTPROC" != x""; then
 
 <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>
-<b>error</b> (256)
-<b>"+"</b> (258) <a href="#rule_2">2</a> <a href="#rule_3">3</a>
-<b>"⊕"</b> (259) <a href="#rule_1">1</a>
-<b>"number"</b> (260) <a href="#rule_4">4</a>
-<b>"Ñùṃéℝô"</b> (261) <a href="#rule_5">5</a>
-</p>
+<ul>
+  <li><b>$end</b> (0) <a href="#rule_0">0</a></li>
+  <li><b>error</b> (256)</li>
+  <li><b>"+"</b> (258) <a href="#rule_2">2</a> <a href="#rule_3">3</a></li>
+  <li><b>"⊕"</b> (259) <a href="#rule_1">1</a></li>
+  <li><b>"number"</b> (260) <a href="#rule_4">4</a></li>
+  <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>
 
-<p class="pre"><b>$accept</b> (7)
-    on left: <a href="#rule_0">0</a>
-<b>exp</b> (8)
-    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>
-    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>
-</p><h2><a name="automaton" id="automaton"></a> Automaton</h2>
+<ul>
+  <li><b>$accept</b> (7)
+    <ul>
+      <li>on left: <a href="#rule_0">0</a></li>
+    </ul>
+  </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>
 
-- 
2.27.0




reply via email to

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