DMD 0.174 release

Stewart Gordon smjg_1998 at yahoo.com
Sun Nov 19 06:42:25 PST 2006


Stewart Gordon wrote:
> Walter Bright wrote:
>> Stewart Gordon wrote:
> <snip>
>>> 3. You've added
>>>
>>>     ;
>>>
>>> as a Statement form.  You still haven't told us what the language 
>>> gains by having it.  OK, so having it in NoScopeStatement simplifies 
>>> specifying PragmaStatement and LabeledStatement, which are the only 
>>> things that use it, but in Statement it appears to serve no purpose.
>>
>> It can also appear in case statements and default statements.
> <snip>
> 
> Shouldn't these just be special cases of LabeledStatement?

Two possible solutions:

     LabeledStatement:
         Label ':' NoScopeStatement

     Label:
         Identifier
         'case' ExpressionList
         'default'

(replacing CaseStatement and DefaultStatement)
or

     LabeledStatement:
         Identifier ':' NoScopeStatement

     CaseStatement:
         'case' ExpressionList ':' NoScopeStatement

     DefaultStatement:
         'default' ':' NoScopeStatement

_Please_ make up your mind whether it's LabeledStatement or 
LabelledStatement!

BTW the links to CaseStatement and DefaultStatement on statement.html 
are broken.

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:-@ C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- 
PE- Y? PGP- t- 5? X? R b DI? D G e++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on 
the 'group where everyone may benefit.



More information about the Digitalmars-d-announce mailing list