Index: abi.dd =================================================================== --- abi.dd (revision 661) +++ abi.dd (working copy) @@ -144,7 +144,7 @@ ) $(GRAMMAR -$(I MangledName): +$(GNAME MangledName): $(B _D) $(I QualifiedName) $(I Type) $(B _D) $(I QualifiedName) $(B M) $(I Type) Index: attribute.dd =================================================================== --- attribute.dd (revision 661) +++ attribute.dd (working copy) @@ -7,7 +7,7 @@ $(I Attribute) $(B :) $(I Attribute) $(I DeclarationBlock) -$(I Attribute): +$(GNAME Attribute): $(LINK2 #linkage, $(I LinkageAttribute)) $(LINK2 #align, $(I AlignAttribute)) $(LINK2 pragma.html, $(I Pragma)) @@ -21,7 +21,7 @@ $(LINK2 #auto, $(B auto)) $(LINK2 #scope, $(B scope)) -$(I DeclarationBlock) +$(GNAME DeclarationBlock): $(LINK2 module.html#DeclDef, $(I DeclDef)) $(B { }) $(B {) $(LINK2 module.html#DeclDefs, $(I DeclDefs)) $(B }) @@ -73,11 +73,11 @@

$(LNAME2 linkage, Linkage Attribute)

$(GRAMMAR -$(I LinkageAttribute): +$(GNAME LinkageAttribute): $(B extern) $(B extern) $(B $(LPAREN)) $(I LinkageType) $(B $(RPAREN)) -$(I LinkageType): +$(GNAME LinkageType): $(B C) $(B C++) $(B D) @@ -136,7 +136,7 @@

$(LNAME2 align, Align Attribute)

$(GRAMMAR -$(I AlignAttribute): +$(GNAME AlignAttribute): $(B align) $(B align) $(B $(LPAREN)) $(I Integer) $(B $(RPAREN)) ) Index: class.dd =================================================================== --- class.dd (revision 661) +++ class.dd (working copy) @@ -24,41 +24,41 @@ ) $(GRAMMAR -$(I ClassDeclaration): +$(GNAME ClassDeclaration): $(B class) $(I Identifier) $(I BaseClassList)opt $(I ClassBody) -$(I BaseClassList): +$(GNAME BaseClassList): $(B :) $(I SuperClass) $(B :) $(I SuperClass) $(I InterfaceClasses) $(B :) $(I InterfaceClass) -$(I SuperClass): +$(GNAME SuperClass): $(I Identifier) $(I Protection) $(I Identifier) -$(I InterfaceClasses): +$(GNAME InterfaceClasses): $(I InterfaceClass) $(I InterfaceClass) $(I InterfaceClasses) -$(I InterfaceClass): +$(GNAME InterfaceClass): $(I Identifier) $(I Protection) $(I Identifier) -$(I Protection): +$(GNAME Protection): $(B private) $(B package) $(B public) $(B export) -$(I ClassBody): +$(GNAME ClassBody): $(B {) $(B }) $(B {) $(I ClassBodyDeclarations) $(B }) -$(I ClassBodyDeclarations): +$(GNAME ClassBodyDeclarations): $(I ClassBodyDeclaration) $(I ClassBodyDeclaration) $(I ClassBodyDeclarations) -$(I ClassBodyDeclaration): +$(GNAME ClassBodyDeclaration): $(I Declaration) $(GLINK Constructor) $(GLINK Destructor) @@ -1071,8 +1071,11 @@ ) $(GRAMMAR -$(I NewAnonClassExpression): - $(B new $(LPAREN))$(I ArgumentList)$(B $(RPAREN))opt $(B class $(LPAREN))$(I ArgumentList)$(B $(RPAREN))opt $(I SuperClass)opt $(I InterfaceClasses)opt $(I ClassBody) +$(GNAME NewAnonClassExpression): + $(B new) $(I PerenArgumentList)opt $(B class) $(I PerenArgumentList)opt $(I SuperClass)opt $(I InterfaceClasses)opt $(I ClassBody) + +$(GNAME PerenArgumentList): + $(B $(LPAREN))$(I ArgumentList)$(B $(RPAREN)) ) $(P which is equivalent to: Index: declaration.dd =================================================================== --- declaration.dd (revision 661) +++ declaration.dd (working copy) @@ -3,34 +3,34 @@ $(SPEC_S Declarations, $(GRAMMAR -$(I Declaration): +$(GNAME Declaration): $(B typedef) $(I Decl) $(B alias) $(I Decl) $(I Decl) -$(I Decl): +$(GNAME Decl): $(I StorageClasses) $(I Decl) $(I BasicType) $(I Declarators) $(B ;) $(I BasicType) $(I Declarator) $(I FunctionBody) $(GLINK AutoDeclaration) -$(I Declarators): +$(GNAME Declarators): $(I DeclaratorInitializer) $(I DeclaratorInitializer) $(B ,) $(I DeclaratorIdentifierList) -$(I DeclaratorInitializer): +$(GNAME DeclaratorInitializer): $(I Declarator) $(I Declarator) $(B =) $(I Initializer) -$(I DeclaratorIdentifierList): +$(GNAME DeclaratorIdentifierList): $(I DeclaratorIdentifier) $(I DeclaratorIdentifier) $(B ,) $(I DeclaratorIdentifierList) -$(I DeclaratorIdentifier): +$(GNAME DeclaratorIdentifier): $(I Identifier) $(I Identifier) $(B =) $(I Initializer) -$(I BasicType): +$(GNAME BasicType): $(B bool) $(B byte) $(B ubyte) @@ -58,7 +58,7 @@ $(GLINK Typeof) $(GLINK Typeof) $(B .) $(I IdentifierList) -$(I BasicType2): +$(GNAME BasicType2): $(B *) $(B [ ]) $(B [) $(I Expression) $(B ]) @@ -66,34 +66,34 @@ $(B delegate) $(I Parameters) $(B function) $(I Parameters) -$(I Declarator): +$(GNAME Declarator): $(I BasicType2) $(I Declarator) $(I Identifier) $(B () $(I Declarator) $(B )) $(I Identifier) $(I DeclaratorSuffixes) $(B () $(I Declarator) $(B )) $(I DeclaratorSuffixes) -$(I DeclaratorSuffixes): +$(GNAME DeclaratorSuffixes): $(I DeclaratorSuffix) $(I DeclaratorSuffix) $(I DeclaratorSuffixes) -$(I DeclaratorSuffix): +$(GNAME DeclaratorSuffix): $(B [ ]) $(B [) $(I Expression) $(B ]) $(B [) $(I Type) $(B ]) $(I Parameters) -$(I IdentifierList): +$(GNAME IdentifierList): $(I Identifier) $(I Identifier) $(B .) $(I IdentifierList) $(I TemplateInstance) $(I TemplateInstance) $(B .) $(I IdentifierList) -$(I StorageClasses): +$(GNAME StorageClasses): $(I StorageClass) $(I StorageClass) $(I StorageClasses) -$(I StorageClass): +$(GNAME StorageClass): $(B abstract) $(B auto) $(B const) @@ -106,69 +106,69 @@ $(B static) $(B synchronized) -$(I Type): +$(GNAME Type): $(I BasicType) $(I BasicType) $(I Declarator2) -$(I Declarator2): +$(GNAME Declarator2): $(I BasicType2) $(I Declarator2) $(B $(LPAREN)) $(I Declarator2) $(B $(RPAREN)) $(B $(LPAREN)) $(I Declarator2) $(B $(RPAREN)) $(I DeclaratorSuffixes) -$(I Parameters): +$(GNAME Parameters): $(B $(LPAREN)) $(I ParameterList) $(B $(RPAREN)) $(B ( )) -$(I ParameterList): +$(GNAME ParameterList): $(I Parameter) $(I Parameter) $(B ,) $(I ParameterList) $(I Parameter) $(B ...) $(B ...) -$(I Parameter): +$(GNAME Parameter): $(I Declarator) $(I Declarator) = $(ASSIGNEXPRESSION) $(I InOut) $(I Declarator) $(I InOut) $(I Declarator) = $(ASSIGNEXPRESSION) -$(I InOut): +$(GNAME InOut): $(B in) $(B out) $(B ref) $(B lazy) -$(I Initializer): +$(GNAME Initializer): $(GLINK VoidInitializer) $(I NonVoidInitializer) -$(I NonVoidInitializer): +$(GNAME NonVoidInitializer): $(ASSIGNEXPRESSION) $(I ArrayInitializer) $(I StructInitializer) -$(I ArrayInitializer): +$(GNAME ArrayInitializer): $(B [ ]) $(B [) $(I ArrayMemberInitializations) $(B ]) -$(I ArrayMemberInitializations): +$(GNAME ArrayMemberInitializations): $(I ArrayMemberInitialization) $(I ArrayMemberInitialization) $(B ,) $(I ArrayMemberInitialization) $(B ,) $(I ArrayMemberInitializations) -$(I ArrayMemberInitialization): +$(GNAME ArrayMemberInitialization): $(I NonVoidInitializer) $(ASSIGNEXPRESSION) $(B :) $(I NonVoidInitializer) -$(I StructInitializer): +$(GNAME StructInitializer): $(B { }) $(B {) $(I StructMemberInitializers) $(B }) -$(I StructMemberInitializers): +$(GNAME StructMemberInitializers): $(I StructMemberInitializer) $(I StructMemberInitializer) $(B ,) $(I StructMemberInitializer) $(B ,) $(I StructMemberInitializers) -$(I StructMemberInitializer): +$(GNAME StructMemberInitializer): $(I NonVoidInitializer) $(I Identifier) $(B :) $(I NonVoidInitializer) ) @@ -235,7 +235,7 @@

Implicit Type Inference

$(GRAMMAR -$(I AutoDeclaration): +$(GNAME AutoDeclaration): $(I StorageClasses) $(I Identifier) $(B =) $(ASSIGNEXPRESSION) $(B ;) ) Index: enum.dd =================================================================== --- enum.dd (revision 661) +++ enum.dd (working copy) @@ -3,28 +3,28 @@ $(SPEC_S Enums - Enumerated Types, $(GRAMMAR -$(I EnumDeclaration): +$(GNAME EnumDeclaration): $(B enum) $(I EnumTag) $(I EnumBody) $(B enum) $(I EnumBody) $(B enum) $(I EnumTag) $(B :) $(I EnumBaseType) $(I EnumBody) $(B enum) $(B :) $(I EnumBaseType) $(I EnumBody) -$(I EnumTag): +$(GNAME EnumTag): $(I Identifier) -$(I EnumBaseType): +$(GNAME EnumBaseType): $(I Type) -$(I EnumBody): +$(GNAME EnumBody): $(B ;) $(B {) $(I EnumMembers) $(B }) -$(I EnumMembers): +$(GNAME EnumMembers): $(I EnumMember) $(I EnumMember) $(B ,) $(I EnumMember) $(B ,) $(I EnumMembers) -$(I EnumMember): +$(GNAME EnumMember): $(I Identifier) $(I Identifier) $(B =) $(ASSIGNEXPRESSION) $(V2 Index: expression.dd =================================================================== --- expression.dd (revision 661) +++ expression.dd (working copy) @@ -449,7 +449,7 @@

In Expressions

$(GRAMMAR -$(I InExpression): +$(GNAME InExpression): $(GLINK ShiftExpression) $(B in) $(GLINK ShiftExpression) ) @@ -586,7 +586,7 @@

Unary Expressions

$(GRAMMAR -$(I UnaryExpression): +$(GNAME UnaryExpression): $(GLINK PostfixExpression) $(B &) $(I UnaryExpression) $(B ++) $(I UnaryExpression) @@ -1043,17 +1043,17 @@ $(GNAME AssocArrayLiteral): $(B [) $(I KeyValuePairs) $(B ]) -$(I KeyValuePairs): +$(GNAME KeyValuePairs): $(I KeyValuePair) $(I KeyValuePair) $(B ,) $(I KeyValuePairs) -$(I KeyValuePair): +$(GNAME KeyValuePair): $(I KeyExpression) $(B :) $(I ValueExpression) -$(I KeyExpression): +$(GNAME KeyExpression): $(GLINK ConditionalExpression) -$(I ValueExpression): +$(GNAME ValueExpression): $(GLINK ConditionalExpression) ) @@ -1084,7 +1084,7 @@

Function Literals

$(GRAMMAR -$(GNAME FunctionLiteral) +$(GNAME FunctionLiteral): $(B function) $(I Type)opt $(B $(LPAREN)) $(I ParameterList) $(B $(RPAREN))opt $(I FunctionBody) $(B delegate) $(I Type)opt $(B $(LPAREN)) $(I ParameterList) $(B $(RPAREN))opt $(I FunctionBody) $(B $(LPAREN)) $(I ParameterList) $(B $(RPAREN)) $(I FunctionBody) @@ -1251,7 +1251,7 @@

Mixin Expressions

$(GRAMMAR -$(I MixinExpression): +$(GNAME MixinExpression): $(B mixin $(LPAREN)) $(GLINK AssignExpression) $(B $(RPAREN)) ) @@ -1271,7 +1271,7 @@

Import Expressions

$(GRAMMAR -$(I ImportExpression): +$(GNAME ImportExpression): $(B import $(LPAREN)) $(GLINK AssignExpression) $(B $(RPAREN)) ) @@ -1293,7 +1293,7 @@

Typeid Expressions

$(GRAMMAR -$(I TypeidExpression): +$(GNAME TypeidExpression): $(B typeid $(LPAREN)) $(I Type) $(B $(RPAREN)) ) @@ -1305,7 +1305,7 @@

IsExpression

$(GRAMMAR -$(I IsExpression): +$(GNAME IsExpression): $(B is $(LPAREN)) $(I Type) $(B $(RPAREN)) $(B is $(LPAREN)) $(I Type) $(B :) $(I TypeSpecialization) $(B $(RPAREN)) $(B is $(LPAREN)) $(I Type) $(B ==) $(I TypeSpecialization) $(B $(RPAREN)) @@ -1316,7 +1316,7 @@ $(B is $(LPAREN)) $(I Type) $(I Identifier) $(B ==) $(I TypeSpecialization) $(B ,) $(I TemplateParameterList) $(B $(RPAREN)) ) -$(I TypeSpecialization): +$(GNAME TypeSpecialization): $(I Type) $(B typedef) $(B struct) Index: function.dd =================================================================== --- function.dd (revision 661) +++ function.dd (working copy) @@ -3,7 +3,7 @@ $(SPEC_S Functions, $(GRAMMAR -$(I FunctionBody): +$(GNAME FunctionBody): $(I BlockStatement) $(I BodyStatement) $(I InStatement) $(I BodyStatement) @@ -11,14 +11,14 @@ $(I InStatement) $(I OutStatement) $(I BodyStatement) $(I OutStatement) $(I InStatement) $(I BodyStatement) -$(I InStatement): +$(GNAME InStatement): $(B in) $(I BlockStatement) -$(I OutStatement): +$(GNAME OutStatement): $(B out) $(I BlockStatement) $(B out) $(B $(LPAREN)) $(I Identifier) $(B $(RPAREN)) $(I BlockStatement) -$(I BodyStatement): +$(GNAME BodyStatement): $(B body) $(I BlockStatement) ) Index: iasm.dd =================================================================== --- iasm.dd (revision 661) +++ iasm.dd (working copy) @@ -24,7 +24,7 @@ ) $(GRAMMAR -$(I AsmInstruction): +$(GNAME AsmInstruction): $(I Identifier) $(B :) $(I AsmInstruction) $(B align) $(I IntegerExpression) $(B even) @@ -39,7 +39,7 @@ $(I Opcode) $(I Opcode Operands) -$(I Operands) +$(GNAME Operands): $(I Operand) $(I Operand) $(B ,) $(I Operands) ) @@ -197,67 +197,67 @@

Operands

$(GRAMMAR -$(I Operand): +$(GNAME Operand): $(I AsmExp) -$(I AsmExp): +$(GNAME AsmExp): $(I AsmLogOrExp) $(I AsmLogOrExp) $(B ?) $(I AsmExp) $(B :) $(I AsmExp) -$(I AsmLogOrExp): +$(GNAME AsmLogOrExp): $(I AsmLogAndExp) $(I AsmLogAndExp) $(B ||) $(I AsmLogAndExp) -$(I AsmLogAndExp): +$(GNAME AsmLogAndExp): $(I AsmOrExp) $(I AsmOrExp) $(B &&) $(I AsmOrExp) -$(I AsmOrExp): +$(GNAME AsmOrExp): $(I AsmXorExp) $(I AsmXorExp) $(B |) $(I AsmXorExp) -$(I AsmXorExp): +$(GNAME AsmXorExp): $(I AsmAndExp) $(I AsmAndExp) $(B ^) $(I AsmAndExp) -$(I AsmAndExp): +$(GNAME AsmAndExp): $(I AsmEqualExp) $(I AsmEqualExp) $(B &) $(I AsmEqualExp) -$(I AsmEqualExp): +$(GNAME AsmEqualExp): $(I AsmRelExp) $(I AsmRelExp) $(B ==) $(I AsmRelExp) $(I AsmRelExp) $(B !=) $(I AsmRelExp) -$(I AsmRelExp): +$(GNAME AsmRelExp): $(I AsmShiftExp) $(I AsmShiftExp) $(B <) $(I AsmShiftExp) $(I AsmShiftExp) $(B <=) $(I AsmShiftExp) $(I AsmShiftExp) $(B >) $(I AsmShiftExp) $(I AsmShiftExp) $(B >=) $(I AsmShiftExp) -$(I AsmShiftExp): +$(GNAME AsmShiftExp): $(I AsmAddExp) $(I AsmAddExp) $(B <<) $(I AsmAddExp) $(I AsmAddExp) $(B >>) $(I AsmAddExp) $(I AsmAddExp) $(B >>>) $(I AsmAddExp) -$(I AsmAddExp): +$(GNAME AsmAddExp): $(I AsmMulExp) $(I AsmMulExp) $(B +) $(I AsmMulExp) $(I AsmMulExp) $(B -) $(I AsmMulExp) -$(I AsmMulExp): +$(GNAME AsmMulExp): $(I AsmBrExp) $(I AsmBrExp) $(B *) $(I AsmBrExp) $(I AsmBrExp) $(B /) $(I AsmBrExp) $(I AsmBrExp) $(B %) $(I AsmBrExp) -$(I AsmBrExp): +$(GNAME AsmBrExp): $(I AsmUnaExp) $(I AsmBrExp) $(B [) $(I AsmExp) $(B ]) -$(I AsmUnaExp): +$(GNAME AsmUnaExp): $(I AsmTypePrefix) $(I AsmExp) $(B offset) $(I AsmExp) $(B seg) $(I AsmExp) @@ -267,7 +267,7 @@ $(B ~) $(I AsmUnaExp) $(I AsmPrimaryExp) -$(I AsmPrimaryExp) +$(GNAME AsmPrimaryExp): $(I IntegerConstant) $(I FloatConstant) $(B __LOCAL_SIZE) @@ -275,7 +275,7 @@ $(I Register) $(I DotIdentifier) -$(I DotIdentifier) +$(GNAME DotIdentifier): $(I Identifier) $(I Identifier) $(B .) $(I DotIdentifier) ) @@ -291,7 +291,7 @@

Operand Types

$(GRAMMAR -$(I AsmTypePrefix): +$(GNAME AsmTypePrefix): $(B near ptr) $(B far ptr) $(B byte ptr) Index: interface.dd =================================================================== --- interface.dd (revision 661) +++ interface.dd (working copy) @@ -3,15 +3,15 @@ $(SPEC_S Interfaces, $(GRAMMAR -$(I InterfaceDeclaration): +$(GNAME InterfaceDeclaration): $(B interface) $(I Identifier) $(I InterfaceBody) $(B interface) $(I Identifier) $(B :) $(I SuperInterfaces) $(I InterfaceBody) -$(I SuperInterfaces) +$(GNAME SuperInterfaces): $(I Identifier) $(I Identifier) $(B ,) $(I SuperInterfaces) -$(I InterfaceBody): +$(GNAME InterfaceBody): $(B {) DeclDefs $(B }) ) Index: module.dd =================================================================== --- module.dd (revision 661) +++ module.dd (working copy) @@ -3,7 +3,7 @@ $(SPEC_S Modules, $(GRAMMAR -$(I Module): +$(GNAME Module): $(I ModuleDeclaration) $(GLINK DeclDefs) $(GLINK DeclDefs) @@ -83,10 +83,10 @@ ) $(GRAMMAR -$(I ModuleDeclaration): +$(GNAME ModuleDeclaration): $(B module) $(I ModuleName) $(B ;) -$(I ModuleName): +$(GNAME ModuleName): $(I Identifier) $(I ModuleName) $(B .) $(I Identifier) ) @@ -121,27 +121,27 @@ ) $(GRAMMAR -$(I ImportDeclaration): +$(GNAME ImportDeclaration): $(B import) $(I ImportList) $(B ;) $(B static import) $(I ImportList) $(B ;) -$(I ImportList): +$(GNAME ImportList): $(I Import) $(I ImportBindings) $(I Import) $(B ,) $(I ImportList) -$(I Import): +$(GNAME Import): $(I ModuleName) $(I ModuleAliasIdentifier) $(B =) $(I ModuleName) -$(I ImportBindings): +$(GNAME ImportBindings): $(I Import) $(B :) $(I ImportBindList) -$(I ImportBindList): +$(GNAME ImportBindList): $(I ImportBind) $(I ImportBind) $(B ,) $(I ImportBindList) -$(I ImportBind): +$(GNAME ImportBind): $(I Identifier) $(I Identifier) = $(I Identifier) ) @@ -409,7 +409,7 @@

$(LNAME2 MixinDeclaration, Mixin Declaration)

$(GRAMMAR -$(I MixinDeclaration): +$(GNAME MixinDeclaration): $(B mixin) $(B $(LPAREN)) $(ASSIGNEXPRESSION) $(B $(RPAREN)) $(B ;) ) Index: pragma.dd =================================================================== --- pragma.dd (revision 661) +++ pragma.dd (working copy) @@ -3,7 +3,7 @@ $(SPEC_S Pragmas, $(GRAMMAR -$(I Pragma): +$(GNAME Pragma): $(B pragma) $(B $(LPAREN)) $(I Identifier) $(B $(RPAREN)) $(B pragma) $(B $(LPAREN)) $(I Identifier) $(B ,) $(I ExpressionList) $(B $(RPAREN)) ) Index: statement.dd =================================================================== --- statement.dd (revision 661) +++ statement.dd (working copy) @@ -56,7 +56,7 @@

$(LNAME2 ScopeStatement, Scope Statements)

$(GRAMMAR -$(I ScopeStatement): +$(GNAME ScopeStatement): $(GLINK NonEmptyStatement) $(GLINK BlockStatement) ) @@ -105,7 +105,7 @@

$(LNAME2 ScopeBlockStatement, Scope Block Statements)

$(GRAMMAR -$(I ScopeBlockStatement): +$(GNAME ScopeBlockStatement): $(GLINK BlockStatement) ) @@ -120,8 +120,8 @@ ) $(GRAMMAR -$(I LabelledStatement): - $(I Identifier) ':' $(PSSEMI) +$(GNAME LabelledStatement): + $(I Identifier) : $(PSSEMI) ) $(P @@ -142,7 +142,7 @@

$(LNAME2 BlockStatement, Block Statement)

$(GRAMMAR -$(I BlockStatement): +$(GNAME BlockStatement): $(B { }) $(B {) $(I StatementList) $(B }) @@ -158,7 +158,7 @@

$(LNAME2 ExpressionStatement, Expression Statement)

$(GRAMMAR -$(I ExpressionStatement): +$(GNAME ExpressionStatement): $(I Expression) $(B ;) ) @@ -184,7 +184,7 @@ Declaration statements declare variables and types. $(GRAMMAR -$(I DeclarationStatement): +$(GNAME DeclarationStatement): $(I Declaration) ) @@ -201,19 +201,19 @@ If statements provide simple conditional execution of statements. $(GRAMMAR -$(I IfStatement): +$(GNAME IfStatement): $(B if $(LPAREN)) $(I IfCondition) $(B $(RPAREN)) $(I ThenStatement) $(B if $(LPAREN)) $(I IfCondition) $(B $(RPAREN)) $(I ThenStatement) $(B else) $(I ElseStatement) -$(I IfCondition): +$(GNAME IfCondition): $(I Expression) $(B auto) $(I Identifier) $(B =) $(I Expression) $(I Declarator) $(B =) $(I Expression) -$(I ThenStatement): +$(GNAME ThenStatement): $(PSSCOPE) -$(I ElseStatement): +$(GNAME ElseStatement): $(PSSCOPE) ) @@ -261,7 +261,7 @@

$(LNAME2 WhileStatement, While Statement)

$(GRAMMAR -$(I WhileStatement): +$(GNAME WhileStatement): $(B while $(LPAREN)) $(I Expression) $(B $(RPAREN)) $(PSSCOPE) ) @@ -290,7 +290,7 @@

$(LNAME2 DoStatement, Do Statement)

$(GRAMMAR -$(I DoStatement): +$(GNAME DoStatement): $(B do) $(PSSCOPE) $(B while $(LPAREN)) $(I Expression) $(B $(RPAREN)) ) @@ -321,18 +321,18 @@ test, and increment clauses. $(GRAMMAR -$(I ForStatement): +$(GNAME ForStatement): $(B for $(LPAREN))$(I Initialize) $(I Test)$(B ;) $(I Increment)$(B $(RPAREN)) $(PSSCOPE) -$(I Initialize): +$(GNAME Initialize): $(B ;) $(PS0) -$(I Test): +$(GNAME Test): $(I empty) $(I Expression) -$(I Increment): +$(GNAME Increment): $(I empty) $(I Expression) ) @@ -394,14 +394,14 @@ A foreach statement loops over the contents of an aggregate. $(GRAMMAR -$(I ForeachStatement): +$(GNAME ForeachStatement): $(I Foreach $(LPAREN))$(I ForeachTypeList)$(B ;) $(I Aggregate)$(B $(RPAREN)) $(PSSCOPE) $(GNAME Foreach): $(B foreach) $(B foreach_reverse) -$(I ForeachTypeList): +$(GNAME ForeachTypeList): $(I ForeachType) $(I ForeachType) , $(I ForeachTypeList) @@ -411,7 +411,7 @@ $(B ref) $(I Identifier) $(I Identifier) -$(I Aggregate): +$(GNAME Aggregate): $(I Expression) $(I Tuple) ) @@ -727,7 +727,7 @@ expression. $(GRAMMAR -$(I SwitchStatement): +$(GNAME SwitchStatement): $(B switch $(LPAREN)) $(I Expression) $(B $(RPAREN)) $(PSSCOPE) $(GNAME CaseStatement): @@ -834,7 +834,7 @@

$(LNAME2 ContinueStatement, Continue Statement)

$(GRAMMAR -$(I ContinueStatement): +$(GNAME ContinueStatement): $(B continue;) $(B continue) $(I Identifier) $(B ;) ) @@ -873,7 +873,7 @@

$(LNAME2 BreakStatement, Break Statement)

$(GRAMMAR -$(I BreakStatement): +$(GNAME BreakStatement): $(B break;) $(B break) $(I Identifier) $(B ;) ) @@ -909,7 +909,7 @@

$(LNAME2 ReturnStatement, Return Statement)

$(GRAMMAR -$(I ReturnStatement): +$(GNAME ReturnStatement): $(B return;) $(B return) $(I Expression) $(B ;) ) @@ -962,7 +962,7 @@

$(LNAME2 GotoStatement, Goto Statement)

$(GRAMMAR -$(I GotoStatement): +$(GNAME GotoStatement): $(B goto) $(I Identifier) $(B ;) $(B goto) $(B default) $(B ;) $(B goto) $(B case) $(B ;) @@ -1020,7 +1020,7 @@ to the same object. $(GRAMMAR -$(I WithStatement): +$(GNAME WithStatement): $(B with) $(B $(LPAREN)) $(I Expression) $(B $(RPAREN)) $(PSSCOPE) $(B with) $(B $(LPAREN)) $(I Symbol) $(B $(RPAREN)) $(PSSCOPE) $(B with) $(B $(LPAREN)) $(I TemplateInstance) $(B $(RPAREN)) $(PSSCOPE) @@ -1078,7 +1078,7 @@ critical section to synchronize access among multiple threads. $(GRAMMAR -$(I SynchronizedStatement): +$(GNAME SynchronizedStatement): $(B synchronized) $(PSSCOPE) $(B synchronized $(LPAREN)) $(I Expression) $(B $(RPAREN)) $(PSSCOPE) ) @@ -1111,23 +1111,23 @@ Exception handling is done with the try-catch-finally statement. $(GRAMMAR -$(I TryStatement): +$(GNAME TryStatement): $(B try) $(PSSCOPE) $(I Catches) $(B try) $(PSSCOPE) $(I Catches) $(I FinallyStatement) $(B try) $(PSSCOPE) $(I FinallyStatement) -$(I Catches): +$(GNAME Catches): $(I LastCatch) $(I Catch) $(I Catch) $(I Catches) -$(I LastCatch): +$(GNAME LastCatch): $(B catch) $(PS0) -$(I Catch): +$(GNAME Catch): $(B catch $(LPAREN)) $(I CatchParameter) $(B $(RPAREN)) $(PS0) -$(I FinallyStatement): +$(GNAME FinallyStatement): $(B finally) $(PS0) ) @@ -1208,7 +1208,7 @@ Throw an exception. $(GRAMMAR -$(I ThrowStatement): +$(GNAME ThrowStatement): $(B throw) $(I Expression) $(B ;) ) @@ -1222,7 +1222,7 @@

$(LNAME2 ScopeGuardStatement, Scope Guard Statement)

$(GRAMMAR -$(I ScopeGuardStatement): +$(GNAME ScopeGuardStatement): $(B scope(exit)) $(PSCURLYSCOPE) $(B scope(success)) $(PSCURLYSCOPE) $(B scope(failure)) $(PSCURLYSCOPE) @@ -1317,7 +1317,7 @@ No code motion occurs across volatile statement boundaries. $(GRAMMAR -$(I VolatileStatement): +$(GNAME VolatileStatement): $(B volatile) $(PSSEMI_PSCURLYSCOPE) $(B volatile) $(B ;) ) @@ -1337,11 +1337,11 @@ Inline assembler is supported with the asm statement: $(GRAMMAR -$(I AsmStatement): +$(GNAME AsmStatement): $(B asm { }) $(B asm {) $(I AsmInstructionList) $(B }) -$(I AsmInstructionList): +$(GNAME AsmInstructionList): $(I AsmInstruction) $(B ;) $(I AsmInstruction) $(B ;) $(I AsmInstructionList) ) @@ -1413,14 +1413,14 @@

$(LNAME2 PragmaStatement, Pragma Statement)

$(GRAMMAR -$(I PragmaStatement): +$(GNAME PragmaStatement): $(LINK2 pragma.html, $(I Pragma)) $(PSSEMI) )

$(LNAME2 MixinStatement, Mixin Statement)

$(GRAMMAR -$(I MixinStatement): +$(GNAME MixinStatement): $(B mixin) $(B $(LPAREN)) $(ASSIGNEXPRESSION) $(B $(RPAREN)) $(B ;) ) @@ -1461,13 +1461,13 @@ A foreach range statement loops over the specified range. $(GRAMMAR -$(I ForeachRangeStatement): +$(GNAME ForeachRangeStatement): $(GLINK Foreach) $(LPAREN)$(GLINK ForeachType)$(B ;) $(I LwrExpression) $(B ..) $(I UprExpression) $(B $(RPAREN)) $(PSSCOPE) -$(I LwrExpression): +$(GNAME LwrExpression): $(I Expression) -$(I UprExpression): +$(GNAME UprExpression): $(I Expression) ) Index: struct.dd =================================================================== --- struct.dd (revision 661) +++ struct.dd (working copy) @@ -258,23 +258,23 @@ ) $(GRAMMAR -$(I AggregateDeclaration): +$(GNAME AggregateDeclaration): $(I Tag) $(I Identifier) $(I StructBody) $(I Tag) $(I Identifier) $(B ;) -$(I Tag): +$(GNAME Tag): $(B struct) $(B union) -$(I StructBody): +$(GNAME StructBody): $(B {) $(B }) $(B {) $(I StructBodyDeclarations) $(B }) -$(I StructBodyDeclarations): +$(GNAME StructBodyDeclarations): $(I StructBodyDeclaration) $(I StructBodyDeclaration) $(I StructBodyDeclarations) -$(I StructBodyDeclaration): +$(GNAME StructBodyDeclaration): $(I Declaration) $(I StaticConstructor) $(I StaticDestructor) @@ -283,10 +283,10 @@ $(I StructAllocator) $(I StructDeallocator) -$(I StructAllocator): +$(GNAME StructAllocator): $(I ClassAllocator) -$(I StructDeallocator): +$(GNAME StructDeallocator): $(I ClassDeallocator) ) Index: template-mixin.dd =================================================================== --- template-mixin.dd (revision 661) +++ template-mixin.dd (working copy) @@ -7,7 +7,7 @@ into the current context. $(GRAMMAR -$(I TemplateMixin): +$(GNAME TemplateMixin): $(B mixin) $(I TemplateIdentifier) $(B ;) $(B mixin) $(I TemplateIdentifier) $(I MixinIdentifier) $(B ;) $(B mixin) $(I TemplateIdentifier) $(B !$(LPAREN)) $(I TemplateArgumentList) $(B $(RPAREN)) $(B ;) Index: template.dd =================================================================== --- template.dd (revision 661) +++ template.dd (working copy) @@ -11,18 +11,18 @@ ) $(GRAMMAR -$(I TemplateDeclaration): +$(GNAME TemplateDeclaration): $(B template) $(I TemplateIdentifier) $(B $(LPAREN)) $(I TemplateParameterList) $(B $(RPAREN)) $(B {) DeclDefs $(B }) -$(I TemplateIdentifier): +$(GNAME TemplateIdentifier): $(I Identifier) -$(I TemplateParameterList) +$(GNAME TemplateParameterList): $(I TemplateParameter) $(I TemplateParameter) , $(I TemplateParameterList) -$(I TemplateParameter): +$(GNAME TemplateParameter): $(GLINK TemplateTypeParameter) $(GLINK TemplateValueParameter) $(GLINK TemplateAliasParameter) @@ -64,14 +64,14 @@ ) $(GRAMMAR -$(I TemplateInstance): +$(GNAME TemplateInstance): $(I TemplateIdentifer) $(B !$(LPAREN)) $(I TemplateArgumentList) $(B $(RPAREN)) -$(I TemplateArgumentList): +$(GNAME TemplateArgumentList): $(I TemplateArgument) $(I TemplateArgument) , $(I TemplateArgumentList) -$(I TemplateArgument): +$(GNAME TemplateArgument): $(I Type) $(ASSIGNEXPRESSION) $(I Symbol) @@ -295,10 +295,10 @@ $(I Identifier) $(I TemplateTypeParameterDefault) $(I Identifier) $(I TemplateTypeParameterSpecialization) $(I TemplateTypeParameterDefault) -$(I TemplateTypeParameterSpecialization): +$(GNAME TemplateTypeParameterSpecialization): $(B :) $(I Type) -$(I TemplateTypeParameterDefault): +$(GNAME TemplateTypeParameterDefault): $(B =) $(I Type) ) @@ -381,10 +381,10 @@ $(I Declaration) $(I TemplateValueParameterDefault) $(I Declaration) $(I TemplateValueParameterSpecialization) $(I TemplateValueParameterDefault) -$(I TemplateValueParameterSpecialization): +$(GNAME TemplateValueParameterSpecialization): $(B :) $(I ConditionalExpression) -$(I TemplateValueParameterDefault): +$(GNAME TemplateValueParameterDefault): $(B =) $(I ConditionalExpression) ) @@ -415,10 +415,10 @@ $(B alias) $(I Identifier) $(I TemplateAliasParameterDefault) $(B alias) $(I Identifier) $(I TemplateAliasParameterSpecialization) $(I TemplateAliasParameterDefault) -$(I TemplateAliasParameterSpecialization): +$(GNAME TemplateAliasParameterSpecialization): $(B :) $(I Type) -$(I TemplateAliasParameterDefault): +$(GNAME TemplateAliasParameterDefault): $(B =) $(I Type) ) @@ -705,7 +705,7 @@

Class Templates

$(GRAMMAR -$(I ClassTemplateDeclaration): +$(GNAME ClassTemplateDeclaration): $(B class) $(I Identifier) $(B $(LPAREN)) $(I TemplateParameterList) $(B $(RPAREN)) [$(I SuperClass) {$(B ,) $(I InterfaceClass) }] $(I ClassBody) ) @@ -747,7 +747,7 @@ ) $(GRAMMAR -$(I FunctionTemplateDeclaration): +$(GNAME FunctionTemplateDeclaration): $(I Type) $(I Identifier) $(B $(LPAREN)) $(I TemplateParameterList) $(B $(RPAREN)) $(B $(LPAREN)) $(I FunctionParameterList) $(B $(RPAREN)) $(I FunctionBody) ) Index: traits.dd =================================================================== --- traits.dd (revision 661) +++ traits.dd (working copy) @@ -12,10 +12,10 @@ ) $(GRAMMAR -$(I TraitsExpression): +$(GNAME TraitsExpression): $(B __traits) $(B $(LPAREN)) $(I TraitsKeyword) $(B ,) $(I TraitsArguments) $(B $(RPAREN)) -$(I TraitsKeyword): +$(GNAME TraitsKeyword): $(B isAbstractClass) $(B isArithmetic) $(B isAssociativeArray) @@ -37,11 +37,11 @@ $(B isSame) $(B compiles) -$(I TraitsArguments): +$(GNAME TraitsArguments): $(I TraitsArgument) $(I TraitsArgument) $(B ,) $(I TraitsArguments) -$(I TraitsArgument): +$(GNAME TraitsArgument): $(I AssignExpression) $(I Type) ) Index: version.dd =================================================================== --- version.dd (revision 661) +++ version.dd (working copy) @@ -9,21 +9,21 @@ ) $(GRAMMAR -$(I ConditionalDeclaration): +$(GNAME ConditionalDeclaration): $(I Condition) $(I DeclarationBlock) $(I Condition) $(I DeclarationBlock) $(B else) $(I DeclarationBlock) $(I Condition) $(B :) $(I Declarations) -$(I DeclarationBlock): +$(GNAME DeclarationBlock): $(I Declaration) $(B {) $(I Declarations) $(B }) $(B { }) -$(I Declarations): +$(GNAME Declarations): $(I Declaration) $(I Declaration) $(I Declarations) -$(I ConditionalStatement): +$(GNAME ConditionalStatement): $(I Condition) $(I NoScopeNonEmptyStatement) $(I Condition) $(I NoScopeNonEmptyStatement) $(B else) $(I NoScopeNonEmptyStatement) ) @@ -56,7 +56,7 @@ ) $(GRAMMAR -$(I Condition): +$(GNAME Condition): $(LINK2 #version, $(I VersionCondition)) $(LINK2 #debug, $(I DebugCondition)) $(LINK2 #staticif, $(I StaticIfCondition)) @@ -69,7 +69,7 @@ ) $(GRAMMAR -$(I VersionCondition): +$(GNAME VersionCondition): $(B version $(LPAREN)) $(I Integer) $(B $(RPAREN)) $(B version $(LPAREN)) $(I Identifier) $(B $(RPAREN)) ) @@ -116,7 +116,7 @@

Version Specification

$(GRAMMAR -$(GNAME VersionSpecification) +$(GNAME VersionSpecification): $(B version =) $(I Identifier) $(B ;) $(B version =) $(I Integer) $(B ;) ) @@ -286,7 +286,7 @@ ) $(GRAMMAR -$(I DebugCondition): +$(GNAME DebugCondition): $(B debug) $(B debug $(LPAREN)) $(I Integer) $(B $(RPAREN)) $(B debug $(LPAREN)) $(I Identifier) $(B $(RPAREN)) @@ -318,7 +318,7 @@

Debug Specification

$(GRAMMAR -$(GNAME DebugSpecification) +$(GNAME DebugSpecification): $(B debug =) $(I Identifier) $(B ;) $(B debug =) $(I Integer) $(B ;) ) @@ -359,7 +359,7 @@

$(LNAME2 staticif, Static If Condition)

$(GRAMMAR -$(I StaticIfCondition): +$(GNAME StaticIfCondition): $(B static if $(LPAREN)) $(ASSIGNEXPRESSION) $(B $(RPAREN)) ) @@ -440,7 +440,7 @@

$(LNAME2 staticassert, Static Assert)

$(GRAMMAR -$(I StaticAssert): +$(GNAME StaticAssert): $(B static assert $(LPAREN)) $(ASSIGNEXPRESSION) $(B $(RPAREN);) $(B static assert $(LPAREN)) $(ASSIGNEXPRESSION) $(B ,) $(ASSIGNEXPRESSION) $(B $(RPAREN);) )