Changeset 268 in dev
- Timestamp:
- Aug 8, 2007, 3:22:49 AM (17 years ago)
- Location:
- trunk/abdev
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/MakePeHdr.cpp
r266 r268 175 175 // 名前空間情報を取得 176 176 NamespaceSupporter::CollectNamespaces( 177 compiler. GetObjectModule().source.GetBuffer(),177 compiler.source.GetBuffer(), 178 178 compiler.GetObjectModule().meta.GetNamespaces() 179 179 ); … … 182 182 // CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。 183 183 // ※オブジェクトの内容までは取得しない 184 compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler. GetObjectModule().source );184 compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.source ); 185 185 186 186 //TypeDef情報を初期化 … … 193 193 compiler.pCompilingClass = NULL; 194 194 CollectProcedures( 195 compiler. GetObjectModule().source,195 compiler.source, 196 196 compiler.GetObjectModule().meta.GetUserProcs(), 197 197 compiler.GetObjectModule().meta.GetDllProcs() -
trunk/abdev/BasicCompiler64/MakePeHdr.cpp
r266 r268 158 158 // 名前空間情報を取得 159 159 NamespaceSupporter::CollectNamespaces( 160 compiler. GetObjectModule().source.GetBuffer(),160 compiler.source.GetBuffer(), 161 161 compiler.GetObjectModule().meta.GetNamespaces() 162 162 ); … … 165 165 // CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。 166 166 // ※オブジェクトの内容までは取得しない 167 compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler. GetObjectModule().source );167 compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.source ); 168 168 169 169 //TypeDef情報を初期化 … … 176 176 compiler.pCompilingClass = NULL; 177 177 CollectProcedures( 178 compiler. GetObjectModule().source,178 compiler.source, 179 179 compiler.GetObjectModule().meta.GetUserProcs(), 180 180 compiler.GetObjectModule().meta.GetDllProcs() -
trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp
r266 r268 102 102 } 103 103 104 // ソースコード 105 { 106 int length = compiler.source.GetLength(); 107 if(BufferSize<i2+(int)length+32768){ 108 while( BufferSize<i2+(int)length+32768 ) 109 { 110 BufferSize+=32768; 111 } 112 113 buffer=(char *)HeapReAlloc(hHeap,0,buffer,BufferSize); 114 } 115 116 // バッファ 117 lstrcpy( buffer + i2, compiler.source.GetBuffer() ); 118 i2 += lstrlen(buffer + i2) + 1; 119 } 104 120 105 121 //インクルード情報 … … 215 231 } 216 232 233 // ソースコード 234 { 235 // バッファ 236 compiler.source.SetBuffer(buffer+i2); 237 i2 += lstrlen( buffer+i2 ) + 1; 238 } 239 217 240 //インクルード情報 218 241 _IncludeFileInfo.FilesNum=*(long *)(buffer+i2); … … 225 248 i2+=lstrlen(buffer+i2)+1; 226 249 } 227 for(i 2++,i3=0;;i2++,i3++){228 _IncludeFileInfo.LineOfFile[i3]=(long)buffer[i2 ];250 for(i3=0;;i3++){ 251 _IncludeFileInfo.LineOfFile[i3]=(long)buffer[i2++]; 229 252 if(_IncludeFileInfo.LineOfFile[i3]==-1) break; 230 253 } 231 254 232 255 //コードと行番号の関係 233 int maxLineInfoNum; 234 maxLineInfoNum=*(long *)(buffer+i2); 256 int maxLineInfoNum = *(long *)(buffer+i2); 235 257 i2+=sizeof(long); 236 258 for(i3=0;i3<maxLineInfoNum;i3++){ -
trunk/abdev/BasicCompiler_Common/Enum.cpp
r266 r268 115 115 iEnumParentNum=0; 116 116 117 const char *source = compiler. GetObjectModule().source.GetBuffer();117 const char *source = compiler.source.GetBuffer(); 118 118 119 119 // 名前空間管理 -
trunk/abdev/BasicCompiler_Common/MakeExe.cpp
r266 r268 24 24 25 25 //最後尾に貼り付け 26 compiler. GetObjectModule().source.Addition( temp );26 compiler.source.Addition( temp ); 27 27 28 28 HeapDefaultFree(temp); … … 57 57 //プログラムをファイルから読み込む 58 58 extern char SourceFileName[MAX_PATH]; 59 if( !compiler. GetObjectModule().source.ReadFile( SourceFileName ) ){59 if( !compiler.source.ReadFile( SourceFileName ) ){ 60 60 SetError(201,SourceFileName,-1); 61 61 goto EndCompile; … … 143 143 AllInitGlobalVarSize=0; 144 144 145 146 /*147 int t,t2;148 t=GetTickCount();149 Compile();150 t2=GetTickCount();151 t2-=t;152 char s[100];153 sprintf(s,"%d",t2);154 MessageBox(0,s,"test",0);*/155 145 Compile(); 156 146 -
trunk/abdev/BasicCompiler_Common/include/Compiler.h
r266 r268 34 34 return namespaceSupporter; 35 35 } 36 37 // ソースコード 38 BasicSource source; 36 39 37 40 // コード生成機構 -
trunk/abdev/BasicCompiler_Common/include/Linker.h
r266 r268 12 12 // データテーブル 13 13 DataTable dataTable; 14 15 // ソースコード16 BasicSource source;17 14 18 15 // XMLシリアライズ用 … … 30 27 ar & BOOST_SERIALIZATION_NVP( globalNativeCode ); 31 28 ar & BOOST_SERIALIZATION_NVP( dataTable ); 32 ar & BOOST_SERIALIZATION_NVP( source );33 29 } 34 30 }; -
trunk/abdev/BasicCompiler_Common/include/Source.h
r266 r268 25 25 int length; 26 26 27 // XMLシリアライズ用28 private:29 friend class boost::serialization::access;30 BOOST_SERIALIZATION_SPLIT_MEMBER();31 template<class Archive> void load(Archive& ar, const unsigned int version)32 {33 trace_for_serialize( "serializing(load) - Text" );34 35 std::string str;36 ar & BOOST_SERIALIZATION_NVP( str );37 38 // 読み込み後の処理39 Clear();40 Add( str );41 }42 template<class Archive> void save(Archive& ar, const unsigned int version) const43 {44 trace_for_serialize( "serializing(save) - Text" );45 46 // 保存準備47 std::string str( buffer, length );48 49 ar & BOOST_SERIALIZATION_NVP( str );50 }51 27 public: 52 28 … … 68 44 length += (int)str.size(); 69 45 } 46 void Add( const std::vector<char> &str ) 47 { 48 buffer = (char *)realloc( buffer, length + str.size() + 1 ); 49 lstrcpy( buffer + length, &str[0] ); 50 length += (int)str.size(); 51 } 70 52 71 53 bool ReadFile( const string &filePath ); … … 82 64 class BasicSource : public Text 83 65 { 84 // XMLシリアライズ用85 private:86 friend class boost::serialization::access;87 template<class Archive> void serialize(Archive& ar, const unsigned int version)88 {89 trace_for_serialize( "serializing - BasicSource" );90 91 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Text );92 }93 94 66 static const string generateDirectiveName; 95 67
Note:
See TracChangeset
for help on using the changeset viewer.