Changeset 261 in dev for trunk/abdev/BasicCompiler_Common


Ignore:
Timestamp:
Aug 3, 2007, 11:53:50 PM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler_Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/Compile.cpp

    r260 r261  
    1919
    2020#include <Exception.h>
    21 
    22 //ラベルアドレス
    23 Labels labels;
    2421
    2522//グローバル変数初期バッファ
     
    122119        //Goto先ラベル
    123120        extern int obp;
    124         labels.push_back( Label( Command + 1, obp ) );
     121        compiler.codeGenerator.gotoLabels.push_back( GotoLabel( Command + 1, obp ) );
    125122
    126123        //書き込みスケジュール
     
    534531                //Goto先ラベル
    535532                extern int obp;
    536                 labels.push_back( Label( (long)i3, obp ) );
     533                compiler.codeGenerator.gotoLabels.push_back( GotoLabel( (long)i3, obp ) );
    537534
    538535                //書き込みスケジュール
  • trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h

    r258 r261  
    8181typedef std::vector<const GotoLabelSchedule *> GotoLabelSchedules;
    8282
     83//ラベルアドレス
     84class GotoLabel
     85{
     86public:
     87    std::string name;
     88    int line;
     89    DWORD address;
     90
     91    GotoLabel( const std::string &name, long nativeCodePos )
     92        : name( name )
     93        , line( -1 )
     94        , address( nativeCodePos )
     95    {
     96    }
     97    GotoLabel( int line, long nativeCodePos )
     98        : name( "" )
     99        , line( line )
     100        , address( nativeCodePos )
     101    {
     102    }
     103};
     104typedef std::vector<GotoLabel> GotoLabels;
     105
    83106class LexicalScope
    84107{
     
    190213
    191214    // Gotoスケジュールの管理
     215    GotoLabels gotoLabels;
    192216    GotoLabelSchedules gotoLabelSchedules;
    193217
Note: See TracChangeset for help on using the changeset viewer.