}
	private Token munchString(int delimiter) throws IOException {		final int SCAN = 0;		final int ESCAPE = 1;		final int DONE = 2;		StringBuffer result = new StringBuffer();		result.append((char) delimiter);		int state = SCAN;	loop:		while (state != DONE) {			int c = reader.read();			if (c < 0)				break;			result.append((char) c);			switch (state) {			case SCAN:				if (c == delimiter)					state = DONE;				else if (c == '\\')					state = ESCAPE;				break;			case ESCAPE:				state = SCAN;				break;			}		}		return new Token(Token.STRING, result.toString());	}