private boolean parseAliceBob() throws FormatterError {
        int ln = parseToken(true);

        if (ln == EOF_INDICATOR) {
            return false;
        }

        if (ln != WORD_INDICATOR) {
            throw new FormatterError("parseAliceBob : Bad first word");
        }

        is_alice_line = s.equals("Alice");

        if (!is_alice_line && !s.equals("Bob")) {
            throw new FormatterError("parseAliceBob : Bad first word");
        }

        logger.info("parseAliceBob: " + s);

        // allocate new IO object for Alice/Bob
        curIO = new IO(is_alice_line);

        return (true);
    }