java/com/googlecode/prolog_cafe/lang/Token.java [173:236]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public static int read_number(int c, StringBuffer s, PushbackReader in) 
	throws IOException {

	int c1, c2, c3;
	in.unread(c);
	for (;;) {
	    c1 = in.read();
	    if (! Character.isDigit((char)c1))
		break;
	    s.append((char) c1);
	}
	if (c1 != '.'){
	    in.unread(c1);
	    return 1;
	}
	c2 = in.read();
	if (! Character.isDigit((char)c2)){
	    in.unread(c2);
	    in.unread(c1);
	    return 1;
	}
	s.append((char)c1);
	in.unread(c2);
	for (;;) {
	    c1 = in.read();
	    if (! Character.isDigit((char) c1))
		break;
	    s.append((char) c1);
	}
	//	in.unread(c1);
	//	return 2;
	if (c1 != 'E' && c1 != 'e'){
	    in.unread(c1);
	    return 2;
	}
	c2 = in.read();
	if (c2 == '-' || c2 == '+') {
	    c3 = in.read();
	    if (! Character.isDigit((char)c3)){
		in.unread(c3);
		in.unread(c2);
		in.unread(c1);
		return 2;
	    }
	    s.append((char)c1);
	    s.append((char)c2);
	    in.unread(c3);
	} else if (Character.isDigit((char)c2)){
	    s.append((char)c1);
	    in.unread(c2);
	} else {
	    in.unread(c2);
	    in.unread(c1);
	    return 2;
	}
	for (;;) {
	    c1 = in.read();
	    if (! Character.isDigit((char) c1))
		break;
	    s.append((char) c1);
	}
	in.unread(c1);
	return 2;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/lang/Token.java [173:236]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public static int read_number(int c, StringBuffer s, PushbackReader in) 
	throws IOException {

	int c1, c2, c3;
	in.unread(c);
	for (;;) {
	    c1 = in.read();
	    if (! Character.isDigit((char)c1))
		break;
	    s.append((char) c1);
	}
	if (c1 != '.'){
	    in.unread(c1);
	    return 1;
	}
	c2 = in.read();
	if (! Character.isDigit((char)c2)){
	    in.unread(c2);
	    in.unread(c1);
	    return 1;
	}
	s.append((char)c1);
	in.unread(c2);
	for (;;) {
	    c1 = in.read();
	    if (! Character.isDigit((char) c1))
		break;
	    s.append((char) c1);
	}
	//	in.unread(c1);
	//	return 2;
	if (c1 != 'E' && c1 != 'e'){
	    in.unread(c1);
	    return 2;
	}
	c2 = in.read();
	if (c2 == '-' || c2 == '+') {
	    c3 = in.read();
	    if (! Character.isDigit((char)c3)){
		in.unread(c3);
		in.unread(c2);
		in.unread(c1);
		return 2;
	    }
	    s.append((char)c1);
	    s.append((char)c2);
	    in.unread(c3);
	} else if (Character.isDigit((char)c2)){
	    s.append((char)c1);
	    in.unread(c2);
	} else {
	    in.unread(c2);
	    in.unread(c1);
	    return 2;
	}
	for (;;) {
	    c1 = in.read();
	    if (! Character.isDigit((char) c1))
		break;
	    s.append((char) c1);
	}
	in.unread(c1);
	return 2;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



