Changeset 183 in dev for trunk/abdev/BasicCompiler32/Compile_Statement.cpp
- Timestamp:
- Jun 24, 2007, 6:50:40 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_Statement.cpp
r142 r183 1 #include <jenga/include/smoothie/LexicalAnalysis.h> 2 3 #include <LexicalScopingImpl.h> 4 #include <Compiler.h> 5 1 6 #include "../BasicCompiler_Common/common.h" 2 7 #include "Opcode.h" … … 274 279 275 280 //レキシカルスコープをレベルアップ 276 obj_LexScopes.Start( obp, SCOPE_TYPE_IF );281 GetLexicalScopes().Start( obp, SCOPE_TYPE_IF ); 277 282 278 283 i2=CompileBuffer(ESC_ENDIF,0); 279 284 280 285 //レキシカルスコープをレベルダウン 281 obj_LexScopes.End();286 GetLexicalScopes().End(); 282 287 283 288 … … 299 304 300 305 //レキシカルスコープをレベルアップ 301 obj_LexScopes.Start( obp, SCOPE_TYPE_IF );306 GetLexicalScopes().Start( obp, SCOPE_TYPE_IF ); 302 307 303 308 CompileBuffer(ESC_ENDIF,0); 304 309 305 310 //レキシカルスコープをレベルダウン 306 obj_LexScopes.End();311 GetLexicalScopes().End(); 307 312 308 313 … … 525 530 526 531 //レキシカルスコープをレベルアップ 527 obj_LexScopes.Start( obp, SCOPE_TYPE_WHILE );532 GetLexicalScopes().Start( obp, SCOPE_TYPE_WHILE ); 528 533 529 534 //While内をコンパイル 530 535 CompileBuffer(0,COM_WEND); 531 536 532 obj_LexScopes.CallDestructorsOfScopeEnd();537 GetLexicalScopes().CallDestructorsOfScopeEnd(); 533 538 534 539 if( i3 == -1 ){ … … 542 547 543 548 //レキシカルスコープをレベルダウン 544 obj_LexScopes.End();549 GetLexicalScopes().End(); 545 550 546 551 *((long *)(OpBuffer+je_schedule-sizeof(long)))=obp-je_schedule; //jeジャンプ先のオフセット値 … … 660 665 661 666 //レキシカルスコープをレベルアップ 662 obj_LexScopes.Start( obp, SCOPE_TYPE_FOR );667 GetLexicalScopes().Start( obp, SCOPE_TYPE_FOR ); 663 668 664 669 //For内をコンパイル 665 670 CompileBuffer(0,COM_NEXT); 666 671 667 obj_LexScopes.CallDestructorsOfScopeEnd();672 GetLexicalScopes().CallDestructorsOfScopeEnd(); 668 673 669 674 if(szNextVariable[0]){ … … 679 684 680 685 //レキシカルスコープをレベルダウン 681 obj_LexScopes.End();686 GetLexicalScopes().End(); 682 687 683 688 *((long *)(OpBuffer+je_schedule))=obp-(je_schedule+sizeof(long)); //jeジャンプ先のオフセット値 … … 700 705 701 706 //レキシカルスコープをレベルアップ 702 obj_LexScopes.Start( obp, SCOPE_TYPE_DO );707 GetLexicalScopes().Start( obp, SCOPE_TYPE_DO ); 703 708 704 709 //Do内をコンパイル 705 710 CompileBuffer(0,COM_LOOP); 706 711 707 obj_LexScopes.CallDestructorsOfScopeEnd();712 GetLexicalScopes().CallDestructorsOfScopeEnd(); 708 713 709 714 extern char *basbuf; … … 908 913 909 914 //レキシカルスコープをレベルダウン 910 obj_LexScopes.End();915 GetLexicalScopes().End(); 911 916 912 917 *((long *)(OpBuffer+je_schedule))=obp-(je_schedule+sizeof(long)); //jmpジャンプ先のオフセット値 … … 942 947 943 948 //未解放のローカルオブジェクトのデストラクタを呼び出す 944 obj_LexScopes.CallDestructorsOfReturn();949 GetLexicalScopes().CallDestructorsOfReturn(); 945 950 946 951 //jmp ...(End Sub/Function) … … 1217 1222 1218 1223 //レキシカルスコープをレベルアップ 1219 obj_LexScopes.Start( obp, SCOPE_TYPE_SELECT );1224 GetLexicalScopes().Start( obp, SCOPE_TYPE_SELECT ); 1220 1225 1221 1226 //Select Case内をコンパイル … … 1234 1239 1235 1240 //レキシカルスコープをレベルダウン 1236 obj_LexScopes.End();1241 GetLexicalScopes().End(); 1237 1242 1238 1243 pCaseSchedule=temp_pCaseSchedule;
Note:
See TracChangeset
for help on using the changeset viewer.