Changeset 199 in dev


Ignore:
Timestamp:
Jun 27, 2007, 3:16:11 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp

    r198 r199  
    282282
    283283    // コンパイル中の関数が属する名前空間
    284     namespaceSupporter.SetLivingNamespaceScopes( pUserProc->GetNamespaceScopes() );
     284    compiler.GetNamespaceSupporter().SetLivingNamespaceScopes( pUserProc->GetNamespaceScopes() );
    285285
    286286    // コンパイル中の関数でImportsされている名前空間
    287     namespaceSupporter.SetImportedNamespaces( pUserProc->GetImportedNamespaces() );
     287    compiler.GetNamespaceSupporter().SetImportedNamespaces( pUserProc->GetImportedNamespaces() );
    288288
    289289    if(pUserProc->IsSystem()){
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r195 r199  
    371371    if(!bDll){
    372372        // 名前空間が初期化されているかをチェック
    373         if( namespaceSupporter.GetLivingNamespaceScopes().size() ){
     373        if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){
    374374            SetError();
    375375        }
     
    471471
    472472        // 名前空間が正しく閉じられているかをチェック
    473         if( namespaceSupporter.GetLivingNamespaceScopes().size() ){
     473        if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){
    474474            SetError(63,NULL,-1);
    475475        }
  • trunk/abdev/BasicCompiler_Common/Compile.cpp

    r195 r199  
    253253
    254254            case ESC_NAMESPACE:
    255                 namespaceSupporter.GetLivingNamespaceScopes().push_back( Command + 2 );
     255                compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().push_back( Command + 2 );
    256256                break;
    257257            case ESC_ENDNAMESPACE:
    258                 if( namespaceSupporter.GetLivingNamespaceScopes().size() <= 0 ){
     258                if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() <= 0 ){
    259259                    SetError(12,"End Namespace",cp);
    260260                }
    261                 namespaceSupporter.GetLivingNamespaceScopes().pop_back();
     261                compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().pop_back();
    262262                break;
    263263            case ESC_IMPORTS:
    264                 namespaceSupporter.ImportsNamespace( Command + 2 );
     264                compiler.GetNamespaceSupporter().ImportsNamespace( Command + 2 );
    265265                break;
    266266            case ESC_CLEARNAMESPACEIMPORTED:
    267                 namespaceSupporter.GetImportedNamespaces().clear();
     267                compiler.GetNamespaceSupporter().GetImportedNamespaces().clear();
    268268                break;
    269269
  • trunk/abdev/BasicCompiler_Common/Const.cpp

    r195 r199  
    1515        return false;
    1616    }
    17     return namespaceSupporter.IsSameAreaNamespace( this->namespaceScopes, namespaceScopes );
     17    return compiler.GetNamespaceSupporter().IsSameAreaNamespace( this->namespaceScopes, namespaceScopes );
    1818}
    1919bool ConstBase::IsEqualSymbol( const string &fullName ) const
  • trunk/abdev/BasicCompiler_Common/Enum.cpp

    r195 r199  
    44#include <jenga/include/smoothie/LexicalAnalysis.h>
    55
    6 #include <NamespaceSupporter.h>
     6#include <Compiler.h>
    77
    88#include "common.h"
     
    117117
    118118    // 名前空間管理
    119     NamespaceScopes &namespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
     119    NamespaceScopes &namespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
    120120    namespaceScopes.clear();
    121121
  • trunk/abdev/BasicCompiler_Common/Intermediate_Step2.cpp

    r195 r199  
    22#include <jenga/include/smoothie/LexicalAnalysis.h>
    33
    4 #include <NamespaceSupporter.h>
     4#include <Compiler.h>
    55
    66#include "../BasicCompiler_Common/common.h"
     
    252252
    253253    // 名前空間管理
    254     NamespaceScopes &namespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
     254    NamespaceScopes &namespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
    255255    namespaceScopes.clear();
    256256
  • trunk/abdev/BasicCompiler_Common/Subroutine.cpp

    r195 r199  
    629629
    630630    // 名前空間管理
    631     NamespaceScopes &namespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
     631    NamespaceScopes &namespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
    632632    namespaceScopes.clear();
    633633
    634634    // Importsされた名前空間の管理
    635     NamespaceScopesCollection &importedNamespaces = namespaceSupporter.GetImportedNamespaces();
     635    NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    636636    importedNamespaces.clear();
    637637
     
    687687                temporary[i2]=basbuf[i];
    688688            }
    689             if( !namespaceSupporter.ImportsNamespace( temporary ) )
     689            if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) )
    690690            {
    691691                SetError(64,temporary,cp );
  • trunk/abdev/BasicCompiler_Common/VariableOpe.cpp

    r198 r199  
    977977    bool isConst = ( dwFlag & DIMFLAG_CONST ) ? true:false;
    978978
    979     Variable *pVar = new VariableImpl( namespaceSupporter.GetLivingNamespaceScopes(), name, type, isConst );
     979    Variable *pVar = new VariableImpl( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes(), name, type, isConst );
    980980
    981981    if( SubScripts[0] != -1 ){
  • trunk/abdev/BasicCompiler_Common/include/Compiler.h

    r195 r199  
    22
    33#include <CodeGenerator.h>
     4#include <NamespaceSupporter.h>
    45#include <MetaImpl.h>
    56
    67class Compiler
    78{
     9    // ネイティブコード
    810    NativeCode nativeCode;
     11
     12    // 名前空間サポート
     13    NamespaceSupporter namespaceSupporter;
     14
     15    // メタ情報
    916    MetaImpl metaImpl;
    1017
     
    1320    {
    1421        return nativeCode;
     22    }
     23
     24    NamespaceSupporter &GetNamespaceSupporter()
     25    {
     26        return namespaceSupporter;
    1527    }
    1628
  • trunk/abdev/BasicCompiler_Common/include/NamespaceSupporter.h

    r198 r199  
    11#pragma once
    22
    3 #include <Compiler.h>
     3#include <jenga/include/smoothie/Namespace.h>
    44
    55class NamespaceSupporter
     
    2020        this->importedNamespaces = namespaces;
    2121    }
    22     bool ImportsNamespace( const std::string &namespaceStr )
    23     {
    24         NamespaceScopes namespaceScopes( namespaceStr );
    25         if( !compiler.GetMeta().GetNamespaces().IsExist( namespaceScopes ) ){
    26             return false;
    27         }
    28 
    29         this->importedNamespaces.push_back( namespaceScopes );
    30 
    31         return true;
    32     }
     22    bool ImportsNamespace( const std::string &namespaceStr );
    3323
    3424    NamespaceScopes &GetLivingNamespaceScopes()
     
    10999    static bool CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection );
    110100};
    111 extern NamespaceSupporter namespaceSupporter;
  • trunk/abdev/BasicCompiler_Common/src/ClassImpl.cpp

    r198 r199  
    8383    }
    8484
    85     return namespaceSupporter.IsSameAreaNamespace( GetNamespaceScopes(), namespaceScopes );
     85    return compiler.GetNamespaceSupporter().IsSameAreaNamespace( GetNamespaceScopes(), namespaceScopes );
    8686}
    8787
     
    518518
    519519    // 名前空間管理
    520     NamespaceScopes &namespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
     520    NamespaceScopes &namespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
    521521    namespaceScopes.clear();
    522522
    523523    // Importsされた名前空間の管理
    524     NamespaceScopesCollection &importedNamespaces = namespaceSupporter.GetImportedNamespaces();
     524    NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    525525    importedNamespaces.clear();
    526526
     
    559559                temporary[i2]=source[i];
    560560            }
    561             if( !namespaceSupporter.ImportsNamespace( temporary ) )
     561            if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) )
    562562            {
    563563                SmoothieException::Throw(64,temporary,i );
     
    654654
    655655        // 名前空間をセット
    656         namespaceSupporter.GetLivingNamespaceScopes() = objClass.GetNamespaceScopes();
     656        compiler.GetNamespaceSupporter().GetLivingNamespaceScopes() = objClass.GetNamespaceScopes();
    657657
    658658        int i=0;
     
    675675    }
    676676
    677     namespaceSupporter.GetLivingNamespaceScopes().clear();
     677    compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().clear();
    678678
    679679    cp=back_cp;
     
    710710
    711711    // 名前空間管理
    712     NamespaceScopes backupNamespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
    713     NamespaceScopes &namespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
     712    NamespaceScopes backupNamespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
     713    NamespaceScopes &namespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
    714714    namespaceScopes.clear();
    715715
     
    11531153
    11541154    // 名前空間を元に戻す
    1155     namespaceSupporter.GetLivingNamespaceScopes() = backupNamespaceScopes;
     1155    compiler.GetNamespaceSupporter().GetLivingNamespaceScopes() = backupNamespaceScopes;
    11561156}
    11571157void ClassesImpl::GetAllClassInfo(void){
     
    11651165    pobj_LoopRefCheck=0;
    11661166
    1167     // イテレータ用のデータを作る
     1167    // イテレータの準備
    11681168    this->Iterator_Init();
    11691169}
  • trunk/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp

    r195 r199  
    11#include <jenga/include/smoothie/SmoothieException.h>
    22
    3 #include <NamespaceSupporter.h>
     3#include <Compiler.h>
    44
    5 NamespaceSupporter namespaceSupporter;
     5bool NamespaceSupporter::ImportsNamespace( const std::string &namespaceStr )
     6{
     7    NamespaceScopes namespaceScopes( namespaceStr );
     8    if( !compiler.GetMeta().GetNamespaces().IsExist( namespaceScopes ) ){
     9        return false;
     10    }
     11
     12    this->importedNamespaces.push_back( namespaceScopes );
     13
     14    return true;
     15}
    616
    717bool NamespaceSupporter::CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection )
  • trunk/abdev/BasicCompiler_Common/src/ProcedureImpl.cpp

    r198 r199  
    389389    }
    390390
    391     return namespaceSupporter.IsSameAreaNamespace( GetNamespaceScopes(), namespaceScopes );
     391    return compiler.GetNamespaceSupporter().IsSameAreaNamespace( GetNamespaceScopes(), namespaceScopes );
    392392}
    393393bool GlobalProc::IsEqualSymbol( const GlobalProc &globalProc ) const
     
    409409        return false;
    410410    }
    411     return namespaceSupporter.IsSameAreaNamespace( this->GetNamespaceScopes(), namespaceScopes );
     411    return compiler.GetNamespaceSupporter().IsSameAreaNamespace( this->GetNamespaceScopes(), namespaceScopes );
    412412}
    413413bool DllProcImpl::SetParamsAndReturnType( const char *sourceOfParams, int nowLine ){
  • trunk/abdev/BasicCompiler_Common/src/TypeDef.cpp

    r195 r199  
    2525        return false;
    2626    }
    27     return namespaceSupporter.IsSameAreaNamespace( this->namespaceScopes, namespaceScopes );
     27    return compiler.GetNamespaceSupporter().IsSameAreaNamespace( this->namespaceScopes, namespaceScopes );
    2828}
    2929bool TypeDef::IsEqualSymbol( const string &fullName ) const
     
    148148
    149149    // 名前空間管理
    150     NamespaceScopes &namespaceScopes = namespaceSupporter.GetLivingNamespaceScopes();
     150    NamespaceScopes &namespaceScopes = compiler.GetNamespaceSupporter().GetLivingNamespaceScopes();
    151151    namespaceScopes.clear();
    152152
    153153    // Importsされた名前空間の管理
    154     NamespaceScopesCollection &importedNamespaces = namespaceSupporter.GetImportedNamespaces();
     154    NamespaceScopesCollection &importedNamespaces = compiler.GetNamespaceSupporter().GetImportedNamespaces();
    155155    importedNamespaces.clear();
    156156
     
    193193                temporary[i2]=basbuf[i];
    194194            }
    195             if( !namespaceSupporter.ImportsNamespace( temporary ) )
     195            if( !compiler.GetNamespaceSupporter().ImportsNamespace( temporary ) )
    196196            {
    197197                SmoothieException::Throw(64,temporary,i );
  • trunk/abdev/BasicCompiler_Common/src/VariableImpl.cpp

    r195 r199  
    66{
    77    if( GetName() == symbol.GetName()
    8         && namespaceSupporter.IsSameAreaNamespace( this->GetNamespaceScopes(), symbol.GetNamespaceScopes() ) )
     8        && compiler.GetNamespaceSupporter().IsSameAreaNamespace( this->GetNamespaceScopes(), symbol.GetNamespaceScopes() ) )
    99    {
    1010        return true;
Note: See TracChangeset for help on using the changeset viewer.