Ignore:
Timestamp:
Jan 28, 2007, 5:28:43 AM (17 years ago)
Author:
dai_9181
Message:

ByVal演算子を追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/NumOpe_GetType.cpp

    r38 r41  
    163163        case CALC_AS:
    164164            if((type[sp-1]&FLAG_CAST)==0){
     165                //型名が指定されていないときはエラー
     166                SetError(47,NULL,cp);
     167                return 0;
     168            }
     169            break;
     170
     171        case CALC_BYVAL:
     172            if(type[sp-1]&FLAG_CAST){
    165173                //型名が指定されていないときはエラー
    166174                SetError(47,NULL,cp);
     
    601609                sp--;
    602610                break;
     611
     612            case CALC_BYVAL:
     613                //ポインタ型→参照型
     614                if( PTR_LEVEL( type[sp-1] ) <= 0 ){
     615                    //ポインタ型ではないとき
     616                    SetError( 3, NULL, cp );
     617                    goto error;
     618                }
     619
     620                type[sp-1] = PTR_LEVEL_DOWN( type[sp-1] );
     621                break;
    603622        }
    604623    }
Note: See TracChangeset for help on using the changeset viewer.