Changeset 472 in dev for trunk/ab5.0/abdev/BasicCompiler_Common
- Timestamp:
- Mar 31, 2008, 12:33:24 PM (17 years ago)
- Location:
- trunk/ab5.0/abdev/BasicCompiler_Common
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp
r471 r472 574 574 } 575 575 576 #include <fcntl.h>577 #include <io.h>578 579 576 int main() 580 577 { … … 753 750 MainThread(0); 754 751 755 ExitProcess( 0 ); 752 trace("Complete ActiveBasic Compiler!"); 753 754 ExitProcess( program.GetExitCode() ); 756 755 return 0; 757 756 } … … 798 797 trace("Complete ActiveBasic Compiler!"); 799 798 800 ExitProcess( 0);799 ExitProcess( program.GetExitCode() ); 801 800 802 801 return 0; -
trunk/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp
r467 r472 181 181 else 182 182 { 183 compiler. messenger.Output( ((string)"\"" + path.GetFullPath() + "\" ファイルが壊れています。").c_str() );183 compiler.errorMessenger.Output( 203, path.GetFullPath() ); 184 184 isSuccessfulLoadStaticLinkLibrary = false; 185 185 } … … 187 187 else 188 188 { 189 compiler. messenger.Output( ((string)"\"" + path.GetFullPath() + "\" ファイルが存在しません。").c_str() );189 compiler.errorMessenger.Output( 202, path.GetFullPath() ); 190 190 isSuccessfulLoadStaticLinkLibrary = false; 191 191 } … … 204 204 else 205 205 { 206 compiler. messenger.Output( ((string)"\"" + path.GetFullPath() + "\" ファイルが壊れています。").c_str() );206 compiler.errorMessenger.Output( 203, path.GetFullPath() ); 207 207 isSuccessfulLoadStaticLinkLibrary = false; 208 208 } … … 210 210 else 211 211 { 212 compiler. messenger.Output( ((string)"\"" + path.GetFullPath() + "\" ファイルが存在しません。").c_str() );212 compiler.errorMessenger.Output( 202, path.GetFullPath() ); 213 213 isSuccessfulLoadStaticLinkLibrary = false; 214 214 } … … 280 280 SetDlgItemText(hMainDlg,IDOK,STRING_CLOSE); 281 281 282 // エラーがない場合はビルド成功とする 283 if( !compiler.errorMessenger.HasError() ) 284 { 285 // ビルド成功 286 compiler.BuildSuccessful(); 287 } 288 282 289 #ifdef _DEBUG 283 290 // デバッグモードのときはダイアログが隠れている -
trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h
r465 r472 25 25 26 26 private: 27 // ビルド成功のフラグ 28 bool isBuildSuccessful; 29 27 30 // モジュール名 28 31 std::string moduleName; … … 47 50 48 51 Compiler() 49 : pObjectModule( new ObjectModule ) 52 : isBuildSuccessful( false ) 53 , pObjectModule( new ObjectModule ) 50 54 , pNowObjectModule( pObjectModule ) 51 55 , targetModuleType( Exe ) … … 71 75 void StaticLink( ObjectModules &staticLibraries ); 72 76 77 // ビルド成功のフラグ 78 bool IsBuildSuccessful() const 79 { 80 return isBuildSuccessful; 81 } 82 void BuildSuccessful() 83 { 84 isBuildSuccessful = true; 85 } 86 73 87 // モジュール名 74 88 void SetModuleName( const std::string &moduleName ) -
trunk/ab5.0/abdev/BasicCompiler_Common/include/Messenger.h
r465 r472 63 63 public: 64 64 void Output( const ErrorInfo &errorInfo ); 65 void Output( int errorCode, const std::string &keyword, int sourceIndex );66 void Output( int errorCode, const char *keyword, int sourceIndex );65 void Output( int errorCode, const std::string &keyword, int sourceIndex = -1 ); 66 void Output( int errorCode, const char *keyword, int sourceIndex = -1 ); 67 67 void OutputFatalError(); 68 68 -
trunk/ab5.0/abdev/BasicCompiler_Common/include/Program.h
r471 r472 86 86 this->includeDir = includeDir; 87 87 } 88 89 int GetExitCode() const; 88 90 }; 89 91 -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Messenger.cpp
r468 r472 256 256 if(errorCode==200) sprintf(msg,"\"%s\" 未解決です (リンク エラー)。",tempKeyWord); 257 257 if(errorCode==201) sprintf(msg,"\"%s\" の読み込みに失敗。",tempKeyWord); 258 if(errorCode==202) sprintf(msg,"\"%s\" は存在しません。",tempKeyWord); 259 if(errorCode==203) sprintf(msg,"\"%s\" は存在しますが、読み込めません(古いバージョンのコンパイラでビルドされた可能性があります)。",tempKeyWord); 258 260 259 261 //原因不明 -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Program.cpp
r471 r472 26 26 { 27 27 // 先頭に無名コマンドがきた場合、ソースファイル名として認識する 28 Program::SetSourceFilePath( cmdLines[cmdLineIndex].GetParameter() ); 28 std::string tempParam = cmdLines[cmdLineIndex].GetParameter(); 29 Program::SetSourceFilePath( Jenga::Common::StringReplace( tempParam, "/", "\\" ) ); 29 30 30 31 cmdLineIndex ++; … … 40 41 { 41 42 // 二番目にも無名コマンドがきた場合、ソースファイル名として認識する 42 SetOutputFilePath( cmdLines[cmdLineIndex].GetParameter() ); 43 std::string tempParam = cmdLines[cmdLineIndex].GetParameter(); 44 SetOutputFilePath( Jenga::Common::StringReplace( tempParam, "/", "\\" ) ); 43 45 44 46 cmdLineIndex ++; … … 102 104 { 103 105 //インクルード ディレクトリ 104 includeDir = cmdLine.GetParameter(); 106 includeDir = cmdLines[cmdLineIndex].GetParameter(); 107 108 // '/' があった場合は '\\' に置換 109 Jenga::Common::StringReplace( includeDir, "/", "\\" ); 105 110 } 106 111 else … … 119 124 return true; 120 125 } 126 127 int Program::GetExitCode() const 128 { 129 if( !compiler.IsBuildSuccessful() ) 130 { 131 // ビルドに失敗 132 return 1; 133 } 134 135 // ビルドに成功 136 return 0; 137 }
Note:
See TracChangeset
for help on using the changeset viewer.