Changeset 56 in dev for BasicCompiler_Common


Ignore:
Timestamp:
Feb 15, 2007, 3:39:40 AM (17 years ago)
Author:
dai_9181
Message:

・[Unicode]リテラル文字列のスイッチング
・[Unicode]Char型を文字型として扱うようにする
・[Unicode]SByte型を追加する
に対応。

/unicodeコマンドオプションに対応。

Location:
BasicCompiler_Common
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Class.cpp

    r53 r56  
    1313
    1414CMember *pCompilingMethod;
    15 
    16 int AddDataTable(char *buffer,int length);
    1715
    1816
     
    412410
    413411
    414 LONG_PTR CClass::AddVtblDataTable(SUBINFO **ppsi,int length){
    415     return AddDataTable((char *)ppsi,length);
    416 }
    417412int CClass::GetFuncNumInVtbl( const SUBINFO *psi ) const
    418413{
     
    454449    }
    455450
    456     vtbl_offset=AddDataTable((char *)ppsi,vtbl_num*sizeof(LONG_PTR));
     451    vtbl_offset=dataTable.AddBinary((void *)ppsi,vtbl_num*sizeof(LONG_PTR));
    457452
    458453    for( int i=0; i < vtbl_num; i++ ){
     
    467462    if(vtbl_offset==-1) return;
    468463
    469     extern char *DataTable;
    470464    LONG_PTR *pVtbl;
    471     pVtbl=(LONG_PTR *)(DataTable+vtbl_offset);
     465    pVtbl=(LONG_PTR *)((char *)dataTable.GetPtr()+vtbl_offset);
    472466
    473467    int i;
  • BasicCompiler_Common/Class.h

    r53 r56  
    140140private:
    141141    long vtbl_offset;
    142     LONG_PTR AddVtblDataTable(SUBINFO **ppsi,int length);
    143142public:
    144143    int GetFuncNumInVtbl( const SUBINFO *psi ) const;
  • BasicCompiler_Common/Compile.cpp

    r34 r56  
    3030GOTOLABELSCHEDULE *pGotoLabelSchedule;
    3131int GotoLabelScheduleNum;
    32 
    33 //データ テーブル
    34 char *DataTable;
    35 int DataTableSize;
    3632
    3733//グローバル変数初期バッファ
  • BasicCompiler_Common/common.h

    r55 r56  
    592592extern CLoopRefCheck *pobj_LoopRefCheck;
    593593
     594//DataTable.cpp
     595class DataTable{
     596    void *pdata;
     597    int size;
     598
     599public:
     600    DataTable();
     601    ~DataTable();
     602    void Init();
     603
     604    int AddBinary( const void *pdata, int size );
     605    int Add( _int64 i64data );
     606    int Add( int i32data );
     607    int Add( double dbl );
     608    int Add( float flt );
     609    int AddString( const char *str, int length );
     610    int AddString( const char *str );
     611
     612    const void *GetPtr() const;
     613    int GetSize() const;
     614};
     615extern DataTable dataTable;
     616
    594617//error.cpp
    595618void SetError(int ErrorNum,const char *KeyWord,int pos);
Note: See TracChangeset for help on using the changeset viewer.