package ppg.atoms;
import java.util.*;
public class Precedence
{
public static final int LEFT = 0;
public static final int RIGHT = 1;
public static final int NONASSOC = 2;
private int type;
private Vector symbols;
public Precedence(int type, Vector syms) {
this.type = type;
symbols = syms;
}
public Object clone () {
Vector newSyms = new Vector();
for (int i=0; i < symbols.size(); i++) {
newSyms.addElement( ((GrammarSymbol)symbols.elementAt(i)).clone() );
}
return new Precedence(type, newSyms);
}
public String toString () {
String result = "precedence ";
switch (type) {
case (LEFT): result += "left "; break;
case (RIGHT): result += "right "; break;
case (NONASSOC): result += "nonassoc "; break;
}
for (int i=0; i < symbols.size(); i++) {
result += symbols.elementAt(i);
if (i < symbols.size() - 1)
result += ", ";
}
return result + ";";
}
}