Changeset a3e6543 in tol


Ignore:
Timestamp:
Sep 22, 2009, 10:06:13 AM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
83f123c
Parents:
ff0786f
Message:

Fixes #747

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1421 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/bparser/par.cpp

    rff0786f ra3e6543  
    950950Tree* BParser::ParseSeparator (Tree* tre)
    951951{
    952   tre  = ParseDelayed (tre);
    953952  bool lastWasEmbed = lastSymbol_ && (lastSymbol_->Name()=="#Embed");
    954953  bool lastWasClass = lastSymbol_ && (lastSymbol_->Name()=="Class");
    955 
     954  if(!lastWasClass && (lastSymbol_==delayedSymbol_) &&
     955      lastSymbol_2_ && (lastSymbol_2_->Name()=="Class"))
     956  {
     957    lastWasClass = true;
     958  }
     959  bool neededToParseDelayed = true;
    956960  if(lastWasClass && !NextArgument() && delayedSymbol_ &&
    957961      (delayedSymbol_->TokenType()==TYPE))
    … …  
    963967      delayedSymbol_ = NULL;
    964968    }
     969  }
     970  if(neededToParseDelayed)
     971  {
     972    tre = ParseDelayed(tre);
    965973  }
    966974
    … …  
    12551263}
    12561264
     1265//#define ENABLE_SYMBOL_TRACE
     1266
    12571267//--------------------------------------------------------------------
    12581268BBool BParser::ReadNextSymbol(BTokenType& symbolType)
    … …  
    12701280    classFound  = (sym=="Class");
    12711281  }
    1272 //  if(scan_->NextSymbol())
    1273 /* * /
     1282#ifdef ENABLE_SYMBOL_TRACE
    12741283  if(lastSymbol_)
    12751284  {
    … …  
    12811290    Std(BText("\n  Parser[")+(int)this+"] lastSymbol_ <- ''");
    12821291  }
    1283 /* */
     1292  if(delayedSymbol_)
     1293  {
     1294    Std(BText("\n  Parser[")+(int)this+"] delayedSymbol_ <- '"+
     1295      delayedSymbol_->Name()+"'");
     1296  }
     1297#endif
    12841298  symbolType = scan_->ReadNextSymbol();
    1285 /* * /
    1286 
     1299#ifdef ENABLE_SYMBOL_TRACE
    12871300  Std(BText("\n  Parser[")+(int)this+"] symbolType <- '"+TokenTypeName(symbolType));
    12881301  if(scan_->NextSymbol())
    … …  
    13011314      " complete = "+(int)complete_);
    13021315  }
    1303 /* */
     1316#endif
    13041317  if((symbolType==ARGUMENT) ||
    13051318     ((scan_->NextArgument()!="") && complete_))
Note: See TracChangeset for help on using the changeset viewer.