From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22998 invoked by alias); 25 Aug 2004 15:44:07 -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 22975 invoked from network); 25 Aug 2004 15:44:03 -0000 Received: from unknown (HELO lakermmtao02.cox.net) (68.230.240.37) by sourceware.org with SMTP; 25 Aug 2004 15:44:03 -0000 Received: from white ([68.9.64.121]) by lakermmtao02.cox.net (InterMail vM.6.01.03.02.01 201-2131-111-104-103-20040709) with ESMTP id <20040825154353.VQRG7911.lakermmtao02.cox.net@white> for ; Wed, 25 Aug 2004 11:43:53 -0400 Received: from bob by white with local (Exim 3.35 #1 (Debian)) id 1BzzwC-00055r-00 for ; Wed, 25 Aug 2004 11:43:48 -0400 Date: Wed, 25 Aug 2004 15:44:00 -0000 From: Bob Rossi To: gdb@sources.redhat.com Subject: GDB/MI Output Syntax Message-ID: <20040825154348.GA19533@white> Mail-Followup-To: gdb@sources.redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.28i X-SW-Source: 2004-08/txt/msg00373.txt.bz2 Hi, Along with the newline changes, there are 2 other changes that I propose to the grammar. They are, async-record ==> exec-async-output | status-async-output | notify-async-output exec-async-output ==> [ token ] "*" async-output status-async-output ==> [ token ] "+" async-output notify-async-output ==> [ token ] "=" async-output] to async-record ==> [token] async-record-kind async-output async-record-kind ==> "*" | "+" | "=" however, if you really would like to keep the *-async-output rules, we could do async-record ==> [token] async-record-kind async-output async-record-kind ==> exec-async-output | status-async-output | notify-async-output exec-async-output ==> "*" status-async-output ==> "+" notify-async-output ==> "=" The second change is identical but refers to the rules of stream-record ==> console-stream-output | target-stream-output | log-stream-output console-stream-output ==> "~" c-string target-stream-output ==> "@" c-string log-stream-output ==> "&" c-string to stream-record => stream-record-kind c-string stream-record-kind => "~" | "@" | "&" The reason it would be helpful to modify the grammar in this way is that it leads to a more elegant form when trying to build an intermediate representation. At the parse level of 'stream-record' or 'async-record' you have all of the information necessary in order to populate a structure with data. Otherwise, the information is a few levels down stream. Does this sound reasonable? and again, should I post a new grammar with the new lines moved to the 'output' production and with the changes I have above? Thanks, Bob Rossi