package parseLib.acceptor;
import parseLib.util.Input;
/**
* An acceptor for a single character
*/
public class CHAR extends Acceptor {
private char c1;
private char c2;
/**
* Construct parser for any character
*/
public CHAR() {
c1 = 0;
c2 = 255;
}
/**
* Construct acceptor for a specific character
*/
public CHAR(char c) {
c1 = c;
c2 = c;
}
/**
* Construct acceptor for an interval of characters
*/
public CHAR(char c1, char c2) {
this.c1 = c1;
this.c2 = c2;
}
public boolean accept(Input i) {
char c = (char) i.read();
return c != 0 && (c >= c1 && c <= c2);
}
}