import java.util.*;
import Jakarta.util.*;
public class findRank implements GVisitor {
int rank;
String primitive;
public void setPrimitive(String primitive){
this.primitive=primitive;
this.rank=0;
}
public int getRank(){return rank;}
public void outln(String s) { }
public void out(String s) { }
public void action( grammar n ) {
n.traverse(this);
}
public void action( optprim n ) {
if (n.name.equals(primitive))
rank=n.var.rank;
}
public void action( optprod n ) {
(n.prod).traverse(this);
}
public void action( pattern n ) {
n.traverse(this);
}
public void action( plus n ) {
(n.prod).traverse(this);
}
public void action( prim n ) {
if (n.name.equals(primitive))
rank=n.var.rank;
}
public void action( prod n ) {
(n.prod).traverse(this);
}
public void action( star n ) {
(n.prod).traverse(this);
}
public void action( production n ) {
n.traverse(this);
}
public void action( term n ) {
Util.fatalError("should never call ordergs.action(term)");
}
public void action( variable n ) {
Util.fatalError("should never call ordergs.action(variable)");
}
}