- /* First, build the edge's head. */
- if (! first)
- fprintf (fout, " %1$d -> \"%1$dR%2$d%3$s\" [label = \"",
- source, ruleno, ed);
+ /* First, build the edge's head. The name of reduction nodes is "nRm",
+ with n the source state and m the rule number. This is because we
+ don't want all the reductions bearing a same rule number to point to
+ the same state, since that is not the desired format. */
+ fprintf (fout, " %d -> \"%dR%d%s\" [",
+ source, source, ruleno, ed);