+2007-10-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ For the XML output's terminal element, rename @number to @token-number,
+ and add @symbol-number. In the nonterminal element, rename @number to
+ @symbol-number. Discussed starting at
+ <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00040.html>.
+ * data/xslt/xml2text.xsl (xsl:template match="terminal"): Update for
+ renames.
+ (xsl:template match="nonterminal"): Likewise.
+ * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Likewise.
+ (xsl:template match="nonterminal"): Likewise.
+ * src/print-xml.c (print_grammar): Implement.
+
2007-10-21 Joel E. Denny <jdenny@ces.clemson.edu>
* data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After
</xsl:with-param>
<xsl:with-param name="line-length" select="66" />
<xsl:with-param name="text">
- <xsl:value-of select="concat(' (', @number, ')')"/>
+ <xsl:value-of select="concat(' (', @token-number, ')')"/>
<xsl:apply-templates select="rule" />
</xsl:with-param>
</xsl:call-template>
<xsl:template match="nonterminal">
<xsl:value-of select="@name"/>
- <xsl:value-of select="concat(' (', @number, ')')"/>
+ <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
<xsl:text> </xsl:text>
<xsl:variable name="output">
<xsl:call-template name="line-wrap">
<xsl:template match="terminal">
<b><xsl:value-of select="@name"/></b>
- <xsl:value-of select="concat(' (', @number, ')')"/>
+ <xsl:value-of select="concat(' (', @token-number, ')')"/>
<xsl:apply-templates select="rule"/>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="nonterminal">
<b><xsl:value-of select="@name"/></b>
- <xsl:value-of select="concat(' (', @number, ')')"/>
+ <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
<xsl:text> </xsl:text>
<xsl:if test="left/rule">
<xsl:text>on left:</xsl:text>
item_number *rhsp;
xml_printf (out, level + 2,
- "<terminal number=\"%d\" name=\"%s\">",
- i, xml_escape (tag));
+ "<terminal symbol-number=\"%d\" token-number=\"%d\""
+ " name=\"%s\">",
+ token_translations[i], i, xml_escape (tag));
for (r = 0; r < nrules; r++)
for (rhsp = rules[r].rhs; *rhsp >= 0; rhsp++)
}
xml_printf (out, level + 2,
- "<nonterminal number=\"%d\" name=\"%s\">",
+ "<nonterminal symbol-number=\"%d\" name=\"%s\">",
i, xml_escape (tag));
if (left_count > 0)