private String buildID() {
        int k = 0;
        String str = "";
        do {
            str += (char) c;
            k++;
            c = getchar();
        } while( (myisalpha((char) c) && k < MAXLEN_ID) );
        putback = true;
        if( myisalpha((char) c) && k == MAXLEN_ID ) {
            do { c = getchar(); } while(myisalpha((char) c));
            System.err.println("scan: identifier too long -- truncated to "
                               + str);
        }
        return str;
    }