protected char next() {
		//m$,linux,osx
        // \r\n,\n,\r
        ps++;
        if (ps < data.length) {
            if (ch == 10 || ch == 13) {
                line++;
                pos = 0;
            }
            ch = data[ps];
            if ((ch == 13) && data[ps + 1] == 10) {
                ps++;
            }
            pos++;
        } else {
            ch = 0;
        }
        return ch;
    }