Changeset 103 in dev for BasicCompiler64
- Timestamp:
- May 2, 2007, 4:08:58 AM (18 years ago)
- Location:
- BasicCompiler64
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/Compile_Var.cpp
r97 r103 562 562 if(member[0]){ 563 563 lstrcpy(temporary,member); 564 565 // TODO: 名前空間を考慮したコードになっていない 564 566 565 567 char tempMember[VN_SIZE]; -
BasicCompiler64/MakePeHdr.cpp
r100 r103 302 302 303 303 if(!bDll){ 304 // 名前空間が初期化されているかをチェック 305 if( Smoothie::Lexical::liveingNamespaceScopes.size() ){ 306 SetError(); 307 } 308 304 309 //ラベル用のメモリを確保 305 310 extern LABEL *pLabelNames; … … 411 416 HeapDefaultFree(WithInfo.ppName); 412 417 HeapDefaultFree(WithInfo.pWithCp); 418 419 // 名前空間が正しく閉じられているかをチェック 420 if( Smoothie::Lexical::liveingNamespaceScopes.size() ){ 421 SetError(63,NULL,-1); 422 } 423 413 424 } 414 425 else{ -
BasicCompiler64/NumOpe.cpp
r102 r103 239 239 lstrcpy(termLeft,termFull); 240 240 241 if( (string)term=="DayOfWeek"){242 int test=0;243 }244 245 241 // パース 246 242 char member[VN_SIZE]; … … 258 254 Type leftType; 259 255 if( !TermOpe( termLeft, baseType, leftType, isLiteral, pbUseHeap, &isClassName ) ){ 260 return false;256 goto globalArea; 261 257 } 262 258 … … 273 269 return TermMemberOpe( leftType.GetClass(), baseType, resultType, termFull, termLeft, member ); 274 270 } 275 271 globalArea: 276 272 277 273 ////////////////////////////////////////////// … … 290 286 // グローバル属性エリア 291 287 ///////////////////////////////////////////////////////////////// 292 globalArea:293 288 294 289 int UseReg=pobj_reg->GetNextReg(); … … 783 778 // 何らかの識別子 784 779 780 if( (string)term=="ParentArea.NamespaceEnumTest.x"){ 781 int test=0; 782 } 783 785 784 bool isLiteral; 786 785 if( TermOpe( term, baseType, resultType, isLiteral, &bUseHeap[sp] ) ){ … … 870 869 ////////////// 871 870 872 i3 = CDBConst::obj.Get Type(term);871 i3 = CDBConst::obj.GetBasicType(term); 873 872 if(i3){ 873 if( CDBConst::obj.IsStringPtr( term ) ){ 874 //リテラル文字列 875 876 double dbl = CDBConst::obj.GetDoubleData(term); 877 memcpy(&i64data,&dbl,sizeof(double)); 878 879 //バイト数 880 i3=lstrlen((char *)i64data); 881 882 memcpy(term,(char *)i64data,i3); 883 term[i3]=0; 884 goto StrLiteral; 885 } 886 874 887 type_stack[sp] = i3; 875 888 if(IsRealNumberType(i3)){
Note:
See TracChangeset
for help on using the changeset viewer.