Changeset 276 in dev for trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h
- Timestamp:
- Aug 12, 2007, 1:25:20 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h
r263 r276 10 10 #endif 11 11 12 void ReallocNativeCodeBuffer();13 14 12 // コード生成時の部分的なスケジューリング 15 13 class PertialSchedule … … 18 16 int typeSize; // 対象サイズ(一般的には8bit/32bit) 19 17 20 int _obpOld; // 未完成21 18 public: 22 19 PertialSchedule( int codePos, int typeSize ) … … 24 21 , typeSize( typeSize ) 25 22 { 26 extern int obp;27 _obpOld = obp;28 23 } 29 24 ~PertialSchedule() … … 38 33 { 39 34 return typeSize; 40 }41 int GetObpOld() const42 {43 return _obpOld;44 35 } 45 36 }; … … 201 192 // Continue用のコード位置情報の管理 202 193 std::vector<long> continueCodePositions; 203 std::vector<long> _continueCodePositions_ObpOld;204 194 205 195 public: … … 210 200 // Exit Subスケジュールの管理 211 201 std::vector<long> exitSubCodePositions; 212 std::vector<int> _exitSubCodePositions_ObpOld;213 202 214 203 // Gotoスケジュールの管理 … … 239 228 pNativeCode = &nativeCode; 240 229 } 230 long GetNativeCodeSize() const 231 { 232 return pNativeCode->GetSize(); 233 } 241 234 242 235 void NextSourceLine() … … 256 249 { 257 250 continueCodePositions.clear(); 258 _continueCodePositions_ObpOld.clear();259 251 } 260 252 void ContinueAreaBegin() 261 253 { 262 254 continueCodePositions.push_back( pNativeCode->GetSize() ); 263 264 extern int obp;265 _continueCodePositions_ObpOld.push_back( obp );266 255 } 267 256 void ContinueAreaEnd() 268 257 { 269 258 continueCodePositions.pop_back(); 270 _continueCodePositions_ObpOld.pop_back();271 }272 long GetContinueCodePosOld() const273 {274 if( _continueCodePositions_ObpOld.size() == 0 )275 {276 return -1;277 }278 return _continueCodePositions_ObpOld[_continueCodePositions_ObpOld.size()-1];279 259 } 280 260 … … 489 469 void PutOld( const NativeCode &nativeCode ) 490 470 { 491 pNativeCode->Put( nativeCode , true);471 pNativeCode->Put( nativeCode ); 492 472 } 493 473 void PutOld( char c )
Note:
See TracChangeset
for help on using the changeset viewer.