comparison trunk/src/dil/parser/Parser.d @ 750:40a52ea29e3b

Commented out parseDeclarationsBlockNoColon().
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Mon, 11 Feb 2008 21:39:02 +0100
parents 7db35977b947
children 90668b83ae5e
comparison
equal deleted inserted replaced
749:7db35977b947 750:40a52ea29e3b
394 : DeclDefs 394 : DeclDefs
395 { } 395 { }
396 { DeclDefs } 396 { DeclDefs }
397 DeclDef 397 DeclDef
398 +/ 398 +/
399 Declaration parseDeclarationsBlock(bool noColon = false) 399 Declaration parseDeclarationsBlock(/+bool noColon = false+/)
400 { 400 {
401 Declaration d; 401 Declaration d;
402 switch (token.kind) 402 switch (token.kind)
403 { 403 {
404 case T.LBrace: 404 case T.LBrace:
409 decls ~= parseDeclarationDefinition(); 409 decls ~= parseDeclarationDefinition();
410 require(T.RBrace); 410 require(T.RBrace);
411 d = set(decls, begin); 411 d = set(decls, begin);
412 break; 412 break;
413 case T.Colon: 413 case T.Colon:
414 if (noColon == true) 414 // if (noColon == true)
415 goto default; 415 // goto default;
416 nT(); 416 nT();
417 auto begin = token; 417 auto begin = token;
418 auto decls = new CompoundDeclaration; 418 auto decls = new CompoundDeclaration;
419 while (token.kind != T.RBrace && token.kind != T.EOF) 419 while (token.kind != T.RBrace && token.kind != T.EOF)
420 decls ~= parseDeclarationDefinition(); 420 decls ~= parseDeclarationDefinition();
425 } 425 }
426 assert(isNodeSet(d)); 426 assert(isNodeSet(d));
427 return d; 427 return d;
428 } 428 }
429 429
430 Declaration parseDeclarationsBlockNoColon() 430 // Declaration parseDeclarationsBlockNoColon()
431 { 431 // {
432 return parseDeclarationsBlock(true); 432 // return parseDeclarationsBlock(true);
433 } 433 // }
434 434
435 /++ 435 /++
436 Parses either a VariableDeclaration or a FunctionDeclaration. 436 Parses either a VariableDeclaration or a FunctionDeclaration.
437 Params: 437 Params:
438 stc = previously parsed storage classes 438 stc = previously parsed storage classes
1263 cond = parseIdentOrInt(); 1263 cond = parseIdentOrInt();
1264 require(T.RParen); 1264 require(T.RParen);
1265 } 1265 }
1266 // debug DeclarationsBlock 1266 // debug DeclarationsBlock
1267 // debug ( Condition ) DeclarationsBlock 1267 // debug ( Condition ) DeclarationsBlock
1268 decls = parseDeclarationsBlockNoColon(); 1268 decls = parseDeclarationsBlock();
1269 // else DeclarationsBlock 1269 // else DeclarationsBlock
1270 if (skipped(T.Else)) 1270 if (skipped(T.Else))
1271 elseDecls = parseDeclarationsBlockNoColon(); 1271 elseDecls = parseDeclarationsBlock();
1272 } 1272 }
1273 1273
1274 return new DebugDeclaration(spec, cond, decls, elseDecls); 1274 return new DebugDeclaration(spec, cond, decls, elseDecls);
1275 } 1275 }
1276 1276
1293 { // ( Condition ) 1293 { // ( Condition )
1294 require(T.LParen); 1294 require(T.LParen);
1295 cond = parseIdentOrInt(); 1295 cond = parseIdentOrInt();
1296 require(T.RParen); 1296 require(T.RParen);
1297 // version ( Condition ) DeclarationsBlock 1297 // version ( Condition ) DeclarationsBlock
1298 decls = parseDeclarationsBlockNoColon(); 1298 decls = parseDeclarationsBlock();
1299 // else DeclarationsBlock 1299 // else DeclarationsBlock
1300 if (skipped(T.Else)) 1300 if (skipped(T.Else))
1301 elseDecls = parseDeclarationsBlockNoColon(); 1301 elseDecls = parseDeclarationsBlock();
1302 } 1302 }
1303 1303
1304 return new VersionDeclaration(spec, cond, decls, elseDecls); 1304 return new VersionDeclaration(spec, cond, decls, elseDecls);
1305 } 1305 }
1306 1306
1315 1315
1316 require(T.LParen); 1316 require(T.LParen);
1317 condition = parseAssignExpression(); 1317 condition = parseAssignExpression();
1318 require(T.RParen); 1318 require(T.RParen);
1319 1319
1320 ifDecls = parseDeclarationsBlockNoColon(); 1320 ifDecls = parseDeclarationsBlock();
1321 1321
1322 if (skipped(T.Else)) 1322 if (skipped(T.Else))
1323 elseDecls = parseDeclarationsBlockNoColon(); 1323 elseDecls = parseDeclarationsBlock();
1324 1324
1325 return new StaticIfDeclaration(condition, ifDecls, elseDecls); 1325 return new StaticIfDeclaration(condition, ifDecls, elseDecls);
1326 } 1326 }
1327 1327
1328 Declaration parseStaticAssertDeclaration() 1328 Declaration parseStaticAssertDeclaration()