Ignore:
Timestamp:
May 4, 2008, 2:06:23 AM (17 years ago)
Author:
dai_9181
Message:

CollectTypeDefsメソッドからbasbufを排除。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer.cpp

    r542 r544  
    329329    char temporary[VN_SIZE];
    330330    while(1){
    331         extern char *basbuf;
    332331
    333332        i++;
    334333
    335         if( basbuf[i] == 1 && basbuf[i+1] == ESC_NAMESPACE ){
     334        if( source[i] == 1 && source[i+1] == ESC_NAMESPACE ){
    336335            for(i+=2,i2=0;;i2++,i++){
    337                 if( IsCommandDelimitation( basbuf[i] ) ){
    338                     temporary[i2]=0;
    339                     break;
    340                 }
    341                 temporary[i2]=basbuf[i];
     336                if( IsCommandDelimitation( source[i] ) ){
     337                    temporary[i2]=0;
     338                    break;
     339                }
     340                temporary[i2]=source[i];
    342341            }
    343342            namespaceScopes.push_back( temporary );
     
    345344            continue;
    346345        }
    347         else if( basbuf[i] == 1 && basbuf[i+1] == ESC_ENDNAMESPACE ){
     346        else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){
    348347            if( namespaceScopes.size() <= 0 ){
    349348                compiler.errorMessenger.Output(12, "End Namespace", i );
     
    356355            continue;
    357356        }
    358         else if( basbuf[i] == 1 && basbuf[i+1] == ESC_IMPORTS ){
     357        else if( source[i] == 1 && source[i+1] == ESC_IMPORTS ){
    359358            for(i+=2,i2=0;;i2++,i++){
    360                 if( IsCommandDelimitation( basbuf[i] ) ){
    361                     temporary[i2]=0;
    362                     break;
    363                 }
    364                 temporary[i2]=basbuf[i];
     359                if( IsCommandDelimitation( source[i] ) ){
     360                    temporary[i2]=0;
     361                    break;
     362                }
     363                temporary[i2]=source[i];
    365364            }
    366365            if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) )
     
    371370            continue;
    372371        }
    373         else if( basbuf[i] == 1 && basbuf[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
     372        else if( source[i] == 1 && source[i+1] == ESC_CLEARNAMESPACEIMPORTED ){
    374373            importedNamespaces.clear();
    375374            continue;
    376375        }
    377376
    378         if( basbuf[i]==1 ){
     377        if( source[i]==1 ){
    379378            char temporary[VN_SIZE];
    380             if(basbuf[i+1]==ESC_TYPEDEF){
     379            if(source[i+1]==ESC_TYPEDEF){
    381380                int i2 = 0;
    382381                for(i+=2;;i2++,i++){
    383                     if(basbuf[i]=='\n'){
     382                    if(source[i]=='\n'){
    384383                        temporary[i2]=0;
    385384                        break;
    386385                    }
    387                     temporary[i2]=basbuf[i];
    388                     if(basbuf[i]=='\0') break;
     386                    temporary[i2]=source[i];
     387                    if(source[i]=='\0') break;
    389388                }
    390389                AddTypeDef( typeDefs, namespaceScopes, temporary, i );
     
    392391                continue;
    393392            }
    394             else if( basbuf[i+1] == ESC_CONST && basbuf[i+2] == 1 && basbuf[i+3] == ESC_ENUM ){
     393            else if( source[i+1] == ESC_CONST && source[i+2] == 1 && source[i+3] == ESC_ENUM ){
    395394                int i2 = 0;
    396395                for(i+=4;;i2++,i++){
    397                     if(!IsVariableChar(basbuf[i])){
     396                    if(!IsVariableChar(source[i])){
    398397                        temporary[i2]=0;
    399398                        break;
    400399                    }
    401                     temporary[i2]=basbuf[i];
    402                     if(basbuf[i]=='\0') break;
     400                    temporary[i2]=source[i];
     401                    if(source[i]=='\0') break;
    403402                }
    404403
     
    422421        //次の行
    423422        for(;;i++){
    424             if(IsCommandDelimitation(basbuf[i])) break;
    425         }
    426         if(basbuf[i]=='\0') break;
     423            if(IsCommandDelimitation(source[i])) break;
     424        }
     425        if(source[i]=='\0') break;
    427426    }
    428427}
Note: See TracChangeset for help on using the changeset viewer.