Changeset 173 in dev for trunk/jenga/src


Ignore:
Timestamp:
Jun 20, 2007, 3:38:44 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/jenga/src/smoothie
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/jenga/src/smoothie/Class.cpp

    r172 r173  
    669669    iIteNextNum( 0 )
    670670{
    671     memset( pobj_ClassHash, 0, MAX_CLASS_HASH * sizeof(CClass *) );
     671    Clear();
    672672}
    673673Classes::~Classes(){
     674    Clear();
     675}
     676void Classes::Clear()
     677{
    674678    int i;
    675679    for(i=0;i<MAX_CLASS_HASH;i++){
     
    678682
    679683    if(ppobj_IteClass) free(ppobj_IteClass);
     684    memset( pobj_ClassHash, 0, MAX_CLASS_HASH * sizeof(CClass *) );
    680685}
    681686
  • trunk/jenga/src/smoothie/Namespace.cpp

    r170 r173  
    129129        if( source[i] == 1 && source[i+1] == ESC_NAMESPACE ){
    130130            for(i+=2,i2=0;;i2++,i++){
    131                 if( BasicSource::IsCommandDelimitation( source[i] ) ){
     131                if( IsCommandDelimitation( source[i] ) ){
    132132                    temporary[i2]=0;
    133133                    break;
  • trunk/jenga/src/smoothie/Source.cpp

    r170 r173  
    55#include <jenga/include/smoothie/BasicFixed.h>
    66#include <jenga/include/smoothie/Source.h>
     7#include <jenga/include/smoothie/LexicalAnalysis.h>
    78#include <jenga/include/smoothie/SmoothieException.h>
    89
     
    874875                i++;
    875876            }
    876             while( Text::IsBlank( buffer[i] ) ){
     877            while( IsBlank( buffer[i] ) ){
    877878                i++;
    878879            }
     
    882883            if( memicmp( buffer + i, generateDirectiveName.c_str(), generateDirectiveName.size() ) == 0 ){
    883884                i += (int)generateDirectiveName.size();
    884                 while( Text::IsBlank( buffer[i] ) ){
     885                while( IsBlank( buffer[i] ) ){
    885886                    i++;
    886887                }
  • trunk/jenga/src/smoothie/Type.cpp

    r172 r173  
    9393    // Object型だったとき
    9494    if( typeName == "Object" ){
    95         type.SetType( DEF_OBJECT, pobj_DBClass->GetObjectClassPtr() );
     95        type.SetType( DEF_OBJECT, Smoothie::meta.classes.GetObjectClassPtr() );
    9696        return true;
    9797    }
     
    9999    // String型だったとき
    100100    if( typeName == "String" ){
    101         type.SetType( DEF_OBJECT, pobj_DBClass->GetStringClassPtr() );
     101        type.SetType( DEF_OBJECT, Smoothie::meta.classes.GetStringClassPtr() );
    102102        return true;
    103103    }
     
    114114
    115115    //クラス
    116     const CClass *pobj_c = pobj_DBClass->Find( typeName );
     116    const CClass *pobj_c = Smoothie::meta.classes.Find( typeName );
    117117    if(pobj_c){
    118118        type.pClass = pobj_c;
     
    539539
    540540Type Type::String(){
    541     return Type( DEF_OBJECT, *pobj_DBClass->GetStringClassPtr() );
     541    return Type( DEF_OBJECT, *Smoothie::meta.classes.GetStringClassPtr() );
    542542}*/
    543543
     544int Type::GetBasicTypeFromSimpleName( const char *variable ){
     545    extern char DefIntVari[26],DefSngVari[26],DefStrVari[26],divNum,dsvNum,dStrvNum;
     546    int i;
     547    char name[VN_SIZE];
     548
     549    //構造体メンバの場合を考慮
     550    for(i=lstrlen(variable);i>0;i--){
     551        if(variable[i]=='.'){
     552            i++;
     553            break;
     554        }
     555    }
     556
     557    for(;;i++){
     558        if(variable[i]=='('||variable[i]=='\0'){
     559            name[i]=0;
     560            break;
     561        }
     562        name[i]=variable[i];
     563    }
     564    //変数名から選択
     565    i--;
     566    if(name[i]=='#') return DEF_DOUBLE;
     567    if(name[i]=='!') return DEF_SINGLE;
     568    if(name[i]=='%') return DEF_INTEGER;
     569    return DEF_DOUBLE;
     570}
     571
     572
    544573const string BlittableType::GetCreateStaticMethodFullName() const
    545574{
Note: See TracChangeset for help on using the changeset viewer.