Ignore:
Timestamp:
Apr 30, 2008, 8:04:04 PM (16 years ago)
Author:
dai_9181
Message:

幾つかの構文解析系の処理をLexicalAnalyzerに実装し直した

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/include/Procedure.h

    r382 r511  
    180180public:
    181181
    182     UserProc( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport, int id )
     182    UserProc( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport )
    183183        : Procedure( namespaceScopes, name, kind, isCdecl )
    184184        , importedNamespaces( importedNamespaces )
     
    187187        , pMethod( NULL )
    188188        , isMacro( isMacro )
     189        , secondParmNum( 0 )
     190        , realSecondParmNum( 1 )
    189191        , isExport( isExport )
    190192        , isSystem( false )
     
    193195        , beginOpAddress( 0 )
    194196        , endOpAddress( 0 )
    195         , id( id )
    196     {
     197    {
     198        static int id_base=0;
     199        id = ( id_base ++ );
    197200    }
    198201    UserProc()
     
    204207            delete pParam;
    205208        }
     209    }
     210
     211    void SetReturnType( const Type &newReturnType )
     212    {
     213        returnType = newReturnType;
    206214    }
    207215
     
    244252        return realParams;
    245253    }
     254    void SetRealParams( const Parameters &params )
     255    {
     256        realParams = params;
     257    }
    246258    int GetRealSecondParmNum() const
    247259    {
     
    396408class UserProcs : public Jenga::Common::Hashmap<UserProc>
    397409{
    398     std::vector<std::string> macroNames;
    399 
    400410    // XMLシリアライズ用
    401411private:
     
    407417        ar & boost::serialization::make_nvp("Hashmap_UserProcImpl",
    408418            boost::serialization::base_object<Jenga::Common::Hashmap<UserProc>>(*this));
    409         ar & BOOST_SERIALIZATION_NVP( macroNames );
    410419    }
    411420
     
    420429
    421430    bool Insert( UserProc *pUserProc, int nowLine );
    422 
    423     UserProc *AddUserProc( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, char *buffer,int nowLine,bool isVirtual,CClass *pobj_c, bool isStatic, char *interfaceName = NULL );
    424431
    425432    void EnumGlobalProcs( const char *simpleName, const char *localName, std::vector<const UserProc *> &subs );
     
    511518};
    512519
    513 void CollectProcedures( const BasicSource &source, UserProcs &userProcs, DllProcs &dllProcs );
    514 
    515520class ProcPointer : public Procedure
    516521{
Note: See TracChangeset for help on using the changeset viewer.