27 lines
484 B
C++
27 lines
484 B
C++
#pragma once
|
|
|
|
#include "SemAnalyzer.h"
|
|
|
|
using namespace std;
|
|
|
|
|
|
class k_Cruncher
|
|
{
|
|
struct r_NoCaseLess
|
|
{
|
|
bool operator () (const CString& as_Left, const CString& as_Right) const
|
|
{
|
|
return as_Left.CompareNoCase(as_Right) < 0;
|
|
}
|
|
};
|
|
|
|
public:
|
|
map<CString, CString> mk_Functions;
|
|
|
|
k_Cruncher() {}
|
|
virtual ~k_Cruncher() {}
|
|
|
|
void ReplaceFunctionCalls(r_Scope* ar_Scope_);
|
|
void RenameVariables(r_Scope* ar_Scope_, char ac_Name);
|
|
void Crunch(vector<r_Program*> ak_Programs);
|
|
}; |