Skip to content

Commit

Permalink
Use wxFile in main
Browse files Browse the repository at this point in the history
git-svn-id: https://codelite.svn.sourceforge.net/svnroot/codelite/trunk@1052 9da81c78-c036-0410-9e1f-a2b0375e4b5a
  • Loading branch information
srabbelier committed Feb 1, 2008
1 parent cc552cf commit 58d4c37
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 47 deletions.
42 changes: 19 additions & 23 deletions MakefileParser/MakefileImporter.project
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,13 @@
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<CleanCommand></CleanCommand>
<BuildCommand></BuildCommand>
<WorkingDirectory></WorkingDirectory>
<CleanCommand/>
<BuildCommand/>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild></CustomPostBuild>
<CustomPreBuild>

</CustomPreBuild>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
</Configuration>
<Configuration Name="ReleaseUnicode" CompilerType="gnu g++" DebuggerType="GNU gdb debugger">
Expand Down Expand Up @@ -90,15 +88,13 @@
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<CleanCommand></CleanCommand>
<BuildCommand></BuildCommand>
<WorkingDirectory></WorkingDirectory>
<CleanCommand/>
<BuildCommand/>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild></CustomPostBuild>
<CustomPreBuild>

</CustomPreBuild>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
</Configuration>
<Configuration Name="WinDebugUnicode" CompilerType="gnu g++" DebuggerType="GNU gdb debugger">
Expand Down Expand Up @@ -130,12 +126,12 @@
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<CleanCommand></CleanCommand>
<BuildCommand></BuildCommand>
<WorkingDirectory></WorkingDirectory>
<CleanCommand/>
<BuildCommand/>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild></CustomPostBuild>
<CustomPostBuild/>
<CustomPreBuild>makefile_parser.cpp makefile_lexer.cpp
makefile_parser.cpp: makefile_parser.y
yacc -dl -t -v makefile_parser.y
Expand Down Expand Up @@ -176,13 +172,13 @@ makefile_lexer.cpp: makefile_parser.l
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<CleanCommand></CleanCommand>
<BuildCommand></BuildCommand>
<WorkingDirectory></WorkingDirectory>
<CleanCommand/>
<BuildCommand/>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild></CustomPostBuild>
<CustomPreBuild></CustomPreBuild>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
</Configuration>
</Settings>
Expand Down
65 changes: 41 additions & 24 deletions MakefileParser/main.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "precompiled_header.h"
#include "makefile_lexer.h"
#include "VariableLexer.h"
#include "stdio.h"
#include <wx/file.h>

typedef std::map<wxString, wxString> Tokens;
typedef Tokens::iterator ITokens;
Expand All @@ -14,39 +14,56 @@ int main(int argv, char* argc[])
path = _U(argc[1]);
else
path = wxT("input");


printf("Creating lexer...\t");

VariableLexer lexer(path);

printf("Done.\n");
printf("Retreiving result...\t");

wxArrayString result = lexer.getResult();
wxArrayString unmatched = lexer.getUnmatched();
wxArrayString error = lexer.getError();
Tokens tokens = lexer.getTokens();

FILE *of = fopen("outout.txt", "w+");
fprintf(of, "============= RESULT =============\n");
for(int i = 0; i < result.size(); i++)
{
fprintf(of, "%s\n", result[i].c_str());
}
printf("Done.\n");
printf("Opening output file...\t");

wxFile of(wxT("outout.txt"), wxFile::write);

printf("Done.\n");
printf("Writing output...\t");

of.Write(wxT("============= RESULT =============\n"));
for(wxArrayString::iterator it = result.begin(); it != result.end(); it++)
of.Write(*it + wxT("\n"));

of.Write(wxT("============ UNMATCHED ===========\n"));
for(wxArrayString::iterator it = unmatched.begin(); it != unmatched.end(); it++)
of.Write(*it + wxT("\n"));

fprintf(of, "============ UNMATCHED ===========\n");
for(int i = 0; i < unmatched.size(); i++)
{
fprintf(of, "%s\n", unmatched[i].c_str());
}
of.Write(wxT("============== ERROR =============\n"));
for(wxArrayString::iterator it = error.begin(); it != error.end(); it++)
of.Write(*it + wxT("\n"));

fprintf(of, "============== ERROR =============\n");
for(int i = 0; i < error.size(); i++)
of.Write(wxT("============= TOKENS =============\n"));
for(ITokens it = tokens.begin(); it != tokens.end(); it++)
{
fprintf(of, "%s\n", error[i].c_str());
wxString line;
line << wxT("'") << it->first << wxT("' = '") << it->second << wxT("'\n");
of.Write(line);
}

fprintf(of, "============= TOKENS =============\n");
for(ITokens it = tokens.begin(); it != tokens.end(); it++)
{
fprintf(of, "'%s'='%s'\n", it->first.c_str(), it->second.c_str());
}

fprintf(of, "=============== DONE =============\n");
fclose(of);
of.Write(wxT("============= DONE =============\n"));

printf("Done.\n");
printf("Closing output file...\t");

of.Close();

printf("Done.\n");
printf("Exiting.\n");

return 0;
}

0 comments on commit 58d4c37

Please sign in to comment.