>From f18ccba720d4cc8d6e59966a43f33ebb189069c1 Mon Sep 17 00:00:00 2001
From: Jannick <thirdedition@gmx.net>
Date: Sat, 27 Oct 2018 13:55:13 +0200
Subject: [PATCH 5/6] text report: add header lines with grammar input file,
 bison version and compilation date stamp.

The text files produced directly by bison and by bison -> xml ->
xml2text.xsl are identical.
---
 data/xslt/xml2text.xsl | 14 +++++++++++++-
 src/print.c            |  3 +++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/data/xslt/xml2text.xsl b/data/xslt/xml2text.xsl
index 747c32b..8283318 100644
--- a/data/xslt/xml2text.xsl
+++ b/data/xslt/xml2text.xsl
@@ -35,6 +35,7 @@
 </xsl:template>
 
 <xsl:template match="bison-xml-report">
+  <xsl:apply-templates select="grammar" mode="header"/>
   <xsl:apply-templates select="grammar" mode="reductions"/>
   <xsl:apply-templates select="grammar" mode="useless-in-parser"/>
   <xsl:apply-templates select="automaton" mode="conflicts"/>
@@ -42,6 +43,17 @@
   <xsl:apply-templates select="automaton"/>
 </xsl:template>
 
+<xsl:template match="grammar" mode="header">
+  <xsl:text>Input grammar: </xsl:text>
+  <xsl:value-of select="/bison-xml-report/filename"/>
+  <xsl:text>&#10;</xsl:text>
+  <xsl:text>GNU Bison </xsl:text>
+  <xsl:value-of select="/bison-xml-report/@version"/>
+  <xsl:text> / </xsl:text>
+  <xsl:value-of select="/bison-xml-report/compilation/@datestamp"/>
+  <xsl:text>&#10;&#10;</xsl:text>
+</xsl:template>
+
 <xsl:template match="grammar" mode="reductions">
   <xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
   <xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
@@ -98,7 +110,7 @@
 </xsl:template>
 
 <xsl:template match="grammar">
-  <xsl:text>Grammar&#10;</xsl:text>
+  <xsl:text>Grammar&#10;&#10;</xsl:text>
   <xsl:call-template name="style-rule-set">
     <xsl:with-param
       name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
diff --git a/src/print.c b/src/print.c
index 6345ff2..aefa2da 100644
--- a/src/print.c
+++ b/src/print.c
@@ -514,6 +514,9 @@ print_results (void)
      that conflicts with Posix.  */
   FILE *out = xfopen (spec_verbose_file, "w");
 
+  fprintf(out, "Input grammar: %s\n", grammar_file);
+  fprintf(out, "%s / %s\n\n", PACKAGE_STRING, datetimestamp());
+
   reduce_output (out);
   grammar_rules_partial_print (out,
                                _("Rules useless in parser due to conflicts"),
-- 
2.19.1.windows.1

