public override void PrefixAlt(AltAST originalAltTree, int alt)
{
AltAST altTree = (AltAST)originalAltTree.DupTree();
StripAltLabel(altTree);
int nextPrec = Precedence(alt);
// rewrite e to be e_[prec]
altTree = AddPrecedenceArgToRules(altTree, nextPrec);
string altText = Text(altTree);
altText = altText.Trim();
string altLabel = altTree.altLabel != null ? altTree.altLabel.Text : null;
LeftRecursiveRuleAltInfo a =
new LeftRecursiveRuleAltInfo(alt, altText, null, altLabel, false, originalAltTree);
a.nextPrec = nextPrec;
prefixAndOtherAlts.Add(a);
//System.out.println("prefixAlt " + alt + ": " + altText + ", rewrite=" + rewriteText);
}