@package@ ;

public
abstract
class @YYtokentypes@ {

public static final int EOF = 0;

public static final int tokenmin = @TOKENMIN@;
public static final int tokenmax = @TOKENMAX@;

public static Integer[] Tokentype;

static
{
  Tokentype = new Integer[tokenmax+1];
  for(int i=0;i<=tokenmax;i++) {Tokentype[i] = new Integer(i);}
}

public static final Integer YYEOF = Tokentype[EOF];

@TOKENTYPES@

public static final String tokennames[] = {
@TOKENNAMES@
};

public static String tokenname(Integer t) {return tokenname(t.intValue());}

public static String tokenname(int t)
{
    if(t >= tokenmin && t <= tokenmax) {
	return tokennames[t - tokenmin];
    } else if(t > 0 && t <= 255) {
	return "'" + String.valueOf((char)t) + "'";
    } else if(t == EOF) {
	return "EOF";
    } else {
	return "$undefined$";
    }
}

//////////////////////////////////////////////////

public static final int nontermmin = @NONTERMMIN@;
public static final int nontermmax = @NONTERMMAX@;

@NONTERMTYPES@

public static final String nontermnames[] = {
@NONTERMNAMES@
};

public static String nontermname(int t)
{
    if(t >= nontermmin && t <= nontermmax) {
	return nontermnames[t - nontermmin];
    } else {
	return "$undefined$";
    }
}

//////////////////////////////////////////////////
};
