From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31563 invoked by alias); 11 Aug 2004 22:35:28 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 31548 invoked from network); 11 Aug 2004 22:35:27 -0000 Received: from unknown (HELO mail-out3.apple.com) (17.254.13.22) by sourceware.org with SMTP; 11 Aug 2004 22:35:27 -0000 Received: from mailgate2.apple.com (a17-128-100-204.apple.com [17.128.100.204]) by mail-out3.apple.com (8.12.11/8.12.11) with ESMTP id i7BMb122024471 for ; Wed, 11 Aug 2004 15:37:01 -0700 (PDT) Received: from relay4.apple.com (relay4.apple.com) by mailgate2.apple.com (Content Technologies SMTPRS 4.3.6) with ESMTP id ; Wed, 11 Aug 2004 15:35:26 -0700 Received: from [17.201.22.21] (moleja.apple.com [17.201.22.21]) by relay4.apple.com (8.12.11/8.12.11) with ESMTP id i7BMZO2F022746; Wed, 11 Aug 2004 15:35:25 -0700 (PDT) In-Reply-To: <200408111926.PAA23762@smtp.ott.qnx.com> References: <200408111926.PAA23762@smtp.ott.qnx.com> Mime-Version: 1.0 (Apple Message framework v670) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Cc: Bob Rossi , gdb@sources.redhat.com Content-Transfer-Encoding: 7bit From: Jason Molenda Subject: Re: GDB/XMI (XML Machine Interface) Date: Wed, 11 Aug 2004 22:35:00 -0000 To: Alain Magloire X-SW-Source: 2004-08/txt/msg00189.txt.bz2 Hi Alain, On Aug 11, 2004, at 12:26 PM, Alain Magloire wrote: > Doing a clean recursive decent parser for MI, is actually very > simple... > it's just that you have to make n exceptions: inconsitencies, plain > bugs, > crap etc .. the inferior output can be intertwine to the protocol, the > duality CLI vs MI in an IDE, the OOB(async notifications) being > incomplete, the inconsistensies between argument parsing etc .. I think both Chris and Jim mentioned this already, but it's easy to separate inferior I/O from the MI command stream. The UI sets up a pseudo tty that it controls and uses the gdb "tty" command to redirect inferior I/O to that ptty. Our Xcode UI has been using this technique for at least a couple of years now. Jason