Re: [5.1/mi] SYNTAX CHANGE? - List ``[ ]'' vs ``{ }''

Jim Ingham
2001-03-21T15:59:00Z

Andrew & Fernando,

Okay, here are Rab's comments about the proposed change to the MI
interface (Rab Hagy (rhagy@apple.com) is the fellow responsible for the
Project Builder side of debugging for Apple's IDE.):

> 1) The delimiters for a list should be different from those for a tuple.
> The output of MI is, basically, a property list. Property lists have
> been around for a long time and they have different delimiters for
> tuples and lists.
>
> The current situation, in which the same delimiters are used for both
> lists and tuples, results in stream of MI output which is difficult to
> inspect "by eye". The parser is a bit more complex than it needs to be
> because it has to handle the overloading of '{'. As a result, the data
> structures used to represent a VALUE is not a clean as they could be
> either.
>
> And, I mean this in the nicest way possible, this oversight sticks out
> like a sore thumb... when I wrote the special-cases in the parser to
> deal with this obvious error in the grammar, I wondered if MI was
> really up to snuff.
>
> 2) '[' and ']' are the correct delimiters
> Adding these characters to the grammar does not complicate the parsing
> of MI output. These are the obvious characters to be used as the
> delimiters for a list.
>
> 3) ``[bp="1",bp="2",bp="4"]'' is incorrect
> I don't think this example is allowed by the proposed grammar. It
> should be one of:
> bps=["1", "2", "4"]
> [{bp="1"}, {bp="2"}, {bp="4"}]
>
> -rab

Jim
--
Jim Ingham jingham@apple.com
Developer Tools - gdb
Apple Computer