From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25930 invoked by alias); 25 Aug 2004 19:37:12 -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 25919 invoked from network); 25 Aug 2004 19:37:10 -0000 Received: from unknown (HELO lakermmtao02.cox.net) (68.230.240.37) by sourceware.org with SMTP; 25 Aug 2004 19:37:10 -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 <20040825193700.YSQX7911.lakermmtao02.cox.net@white>; Wed, 25 Aug 2004 15:37:00 -0400 Received: from bob by white with local (Exim 3.35 #1 (Debian)) id 1C03Zr-0005Bw-00; Wed, 25 Aug 2004 15:36:59 -0400 Date: Wed, 25 Aug 2004 19:37:00 -0000 From: Bob Rossi To: Michael Chastain Cc: gdb@sources.redhat.com Subject: Re: GDB/MI Output Syntax Message-ID: <20040825193659.GA19945@white> Mail-Followup-To: Michael Chastain , gdb@sources.redhat.com References: <20040825154348.GA19533@white> <412CB6B6.nail1DX11BPYQ@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <412CB6B6.nail1DX11BPYQ@mindspring.com> User-Agent: Mutt/1.3.28i X-SW-Source: 2004-08/txt/msg00376.txt.bz2 On Wed, Aug 25, 2004 at 11:56:38AM -0400, Michael Chastain wrote: > Bob Rossi wrote: > > 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? > > I'd love to see your grammar posted. OK, here is what I have so far. It's pretty simple. Besides from changing the grammar on the documentation to a lower level BNF form I have made 3 modifications. 1. move the 'nl' up as high as it can go. 2. reduce the async_record 3. reduce the stream_record so far, it seems to parse everything I throw at it. However, I haven't tested it to much because I am building an intermediate representation. This is what I'll use from the front end. It would probably be helpful to post the grammar the way I have it, or some slight modification of it instead or on top of what's on the website now. output -> oob_record_list opt_result_record "(gdb)" nl oob_record_list -> oob_record_list oob_record nl | epsilon opt_result_record -> result_record nl | epsilon result_record -> opt_token "^" result_class result_list_prime oob_record -> async_record | stream_record async_record -> opt_token async_record_class async_output async_record_class -> "*" | "+" | "=" async_output -> async_class result_list_prime result_class -> "done" | "running" | "connected" | "error" | "exit" async_class -> "stopped" result_list_prime -> result_list | epsilon result_list -> result_list "," result | "," result result -> variable "=" value variable -> string value_list_prime -> value_list | epsilon value_list -> value_list "," value | "," value value -> c_string | tuple | list tuple -> "{}" | "{" result result_list_prime "}" list -> "[]" | "[" value value_list_prime "]" | "[" result result_list_prime "]" stream_record -> stream_record_class c_string stream_record_class -> "~" | "@" | "&" nl -> CR | CR_LF opt_token -> token | epsilon token -> any sequence of digits. Thanks, Bob Rossi