mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
fix: 一些错误
This commit is contained in:
parent
00f4999f19
commit
5006afee06
@ -13,8 +13,11 @@ namespace WXSS
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int parse_i = 0;
|
||||||
|
int temp_count = 0;
|
||||||
int Parser::Parse(std::string const& a2, std::string const& a3, std::string& a4, std::string const& a5)
|
int Parser::Parse(std::string const& a2, std::string const& a3, std::string& a4, std::string const& a5)
|
||||||
{
|
{
|
||||||
|
int inner_parse_i = ++parse_i;
|
||||||
// Parse - 0
|
// Parse - 0
|
||||||
WXSS::Tokenizer v125(a2.data(), a3);
|
WXSS::Tokenizer v125(a2.data(), a3);
|
||||||
std::vector<WXSS::Token> v118;
|
std::vector<WXSS::Token> v118;
|
||||||
@ -51,12 +54,14 @@ namespace WXSS
|
|||||||
v102->offset_0 = off_519B58;
|
v102->offset_0 = off_519B58;
|
||||||
v102->offset_4_str = "$";
|
v102->offset_4_str = "$";
|
||||||
v102->offset_28 = 1;
|
v102->offset_28 = 1;
|
||||||
|
temp_count++;
|
||||||
this->offset_8.push_back(v102);
|
this->offset_8.push_back(v102);
|
||||||
|
|
||||||
// off_519A44
|
// off_519A44
|
||||||
std::shared_ptr<WXSS::CSSTreeLib::Base> v104(new WXSS::CSSTreeLib::Base());
|
std::shared_ptr<WXSS::CSSTreeLib::Base> v104(new WXSS::CSSTreeLib::Base());
|
||||||
v104->offset_0 = off_519A44;
|
v104->offset_0 = off_519A44;
|
||||||
v104->offset_4_int = instance->GetTopType();
|
v104->offset_4_int = instance->GetTopType();
|
||||||
|
temp_count++;
|
||||||
this->offset_8.push_back(v104);
|
this->offset_8.push_back(v104);
|
||||||
|
|
||||||
// Parse - 15
|
// Parse - 15
|
||||||
@ -74,6 +79,7 @@ namespace WXSS
|
|||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// this->offset_8.back()
|
||||||
auto v116 = this->offset_8.back();
|
auto v116 = this->offset_8.back();
|
||||||
auto cur = v118[v75];
|
auto cur = v118[v75];
|
||||||
std::string str;
|
std::string str;
|
||||||
@ -170,6 +176,7 @@ namespace WXSS
|
|||||||
if (str[0] != '$' || str[1])
|
if (str[0] != '$' || str[1])
|
||||||
{
|
{
|
||||||
std::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree> v82(new WXSS::CSSTreeLib::CSSSyntaxTree());
|
std::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree> v82(new WXSS::CSSTreeLib::CSSSyntaxTree());
|
||||||
|
v82->offset_0 = str;
|
||||||
v82->offset_24 = cur;
|
v82->offset_24 = cur;
|
||||||
v82->offset_148 = v9;
|
v82->offset_148 = v9;
|
||||||
v82->offset_156 = v14;
|
v82->offset_156 = v14;
|
||||||
@ -201,6 +208,7 @@ namespace WXSS
|
|||||||
{
|
{
|
||||||
v45->offset_164 = v44->offset_164;
|
v45->offset_164 = v44->offset_164;
|
||||||
}
|
}
|
||||||
|
v45->offset_168 = v44->offset_168;
|
||||||
v45->offset_120.push_back(v44);
|
v45->offset_120.push_back(v44);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -226,7 +234,7 @@ namespace WXSS
|
|||||||
auto v48 = v123->offset_120;
|
auto v48 = v123->offset_120;
|
||||||
auto v49 = v48[stra - 1];
|
auto v49 = v48[stra - 1];
|
||||||
v123->offset_164 = v49->offset_164;
|
v123->offset_164 = v49->offset_164;
|
||||||
v123->offset_168 = v49->offset_168;
|
v123->offset_168 = v48[0]->offset_168;
|
||||||
v123->offset_148 = v9;
|
v123->offset_148 = v9;
|
||||||
v123->offset_156 = v14;
|
v123->offset_156 = v14;
|
||||||
}
|
}
|
||||||
@ -253,6 +261,10 @@ namespace WXSS
|
|||||||
else if (v116->offset_0() == 2)
|
else if (v116->offset_0() == 2)
|
||||||
{
|
{
|
||||||
// off_519A44
|
// off_519A44
|
||||||
|
if (inner_parse_i == 2)
|
||||||
|
{
|
||||||
|
int a = temp_count;
|
||||||
|
}
|
||||||
|
|
||||||
int v52 = v116->offset_4_int;
|
int v52 = v116->offset_4_int;
|
||||||
|
|
||||||
@ -282,12 +294,19 @@ namespace WXSS
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
this->offset_8.pop_back();
|
this->offset_8.pop_back();
|
||||||
for (int i = strc->second.size() - 1; i >= 0; i--)
|
|
||||||
|
for (int i = strc->second[0].size() - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
auto cur = strc->second[i];
|
auto cur = strc->second[0][i];
|
||||||
if (cur[0]->offset_0() == 4)
|
if (cur->offset_0() == 4)
|
||||||
break;
|
break;
|
||||||
this->offset_8.push_back(cur[0]);
|
temp_count++;
|
||||||
|
this->offset_8.push_back(cur);
|
||||||
|
|
||||||
|
if (inner_parse_i == 2 && temp_count > 2983)
|
||||||
|
{
|
||||||
|
int a = temp_count;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -306,7 +325,7 @@ namespace WXSS
|
|||||||
this->offset_0 = v68;
|
this->offset_0 = v68;
|
||||||
}
|
}
|
||||||
// Parse - 30
|
// Parse - 30
|
||||||
throw "not implement";
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ namespace WXSS
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *DIRECTIVES[] = {"@import", "@charset", "@media", "@keyframes", "@-webkit-keyframes", "@supports", "nth-child", "nth-last-child", "nth-of-type", "nth-last-of-type"};
|
||||||
int Tokenizer::TT[26113] = {0};
|
int Tokenizer::TT[26113] = {0};
|
||||||
bool Tokenizer::bInited = false;
|
bool Tokenizer::bInited = false;
|
||||||
void Tokenizer::InitTransitTable(/* args */)
|
void Tokenizer::InitTransitTable(/* args */)
|
||||||
@ -30,21 +31,21 @@ namespace WXSS
|
|||||||
// InitTransitTable - 0
|
// InitTransitTable - 0
|
||||||
this->bInited = true;
|
this->bInited = true;
|
||||||
const char *ntr = " \n\t\r";
|
const char *ntr = " \n\t\r";
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
char v1 = ntr[i];
|
char v1 = ntr[i];
|
||||||
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 134217729;
|
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 134217729;
|
||||||
this->TT[(0x5232A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5232A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
const char *dotabc = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
|
const char *dotabc = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
||||||
this->TT[(0x5232A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5232A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
const char *_0123 = "0123456789";
|
const char *_0123 = "0123456789";
|
||||||
for (int i = 0; i < 11; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
char v1 = _0123[i];
|
char v1 = _0123[i];
|
||||||
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 5;
|
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 5;
|
||||||
@ -52,7 +53,7 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
// InitTransitTable - 5
|
// InitTransitTable - 5
|
||||||
const char *sharp = "#*,{}[]:()~=|>\"+^@;";
|
const char *sharp = "#*,{}[]:()~=|>\"+^@;";
|
||||||
for (int i = 0; i < 20; i++)
|
for (int i = 0; i < 19; i++)
|
||||||
{
|
{
|
||||||
char v1 = sharp[i];
|
char v1 = sharp[i];
|
||||||
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 1114113;
|
this->TT[(0x5232A0 - 0x005222A0) / 4 + 2 * v1] = 1114113;
|
||||||
@ -85,7 +86,7 @@ namespace WXSS
|
|||||||
this->TT[(0x53BAA0 - 0x005222A0) / 4] = -1;
|
this->TT[(0x53BAA0 - 0x005222A0) / 4] = -1;
|
||||||
this->TT[(0x53BAA4 - 0x005222A0) / 4] = -1;
|
this->TT[(0x53BAA4 - 0x005222A0) / 4] = -1;
|
||||||
// InitTransitTable - 10
|
// InitTransitTable - 10
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x5392A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
this->TT[(0x5392A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
||||||
@ -93,14 +94,14 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
this->TT[(0x539AA0 - 0x005222A0) / 4] = 68288513;
|
this->TT[(0x539AA0 - 0x005222A0) / 4] = 68288513;
|
||||||
this->TT[(0x539AA4 - 0x005222A0) / 4] = 0;
|
this->TT[(0x539AA4 - 0x005222A0) / 4] = 0;
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x5272A0 - 0x005222A0) / 4 + 2 * v1] = 5;
|
this->TT[(0x5272A0 - 0x005222A0) / 4 + 2 * v1] = 5;
|
||||||
this->TT[(0x5272A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5272A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
// InitTransitTable - 15
|
// InitTransitTable - 15
|
||||||
for (int i = 0; i < 11; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
char v1 = _0123[i];
|
char v1 = _0123[i];
|
||||||
this->TT[(0x5272A0 - 0x005222A0) / 4 + 2 * v1] = 5;
|
this->TT[(0x5272A0 - 0x005222A0) / 4 + 2 * v1] = 5;
|
||||||
@ -151,19 +152,19 @@ namespace WXSS
|
|||||||
this->TT[(0x536AA0 - 0x005222A0) / 4] = 19;
|
this->TT[(0x536AA0 - 0x005222A0) / 4] = 19;
|
||||||
this->TT[(0x536AA4 - 0x005222A0) / 4] = 0;
|
this->TT[(0x536AA4 - 0x005222A0) / 4] = 0;
|
||||||
// InitTransitTable - 20
|
// InitTransitTable - 20
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x5242A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
this->TT[(0x5242A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
||||||
this->TT[(0x5242A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5242A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 11; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
char v1 = _0123[i];
|
char v1 = _0123[i];
|
||||||
this->TT[(0x5242A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
this->TT[(0x5242A0 - 0x005222A0) / 4 + 2 * v1] = 2;
|
||||||
this->TT[(0x5242A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5242A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
char v1 = ntr[i];
|
char v1 = ntr[i];
|
||||||
this->TT[(0x5242A0 - 0x005222A0) / 4 + 2 * v1] = 67764225;
|
this->TT[(0x5242A0 - 0x005222A0) / 4 + 2 * v1] = 67764225;
|
||||||
@ -174,13 +175,13 @@ namespace WXSS
|
|||||||
this->TT[(0x5243B4 - 0x005222A0) / 4] = 0;
|
this->TT[(0x5243B4 - 0x005222A0) / 4] = 0;
|
||||||
this->TT[(0x524AA0 - 0x005222A0) / 4] = 67764225;
|
this->TT[(0x524AA0 - 0x005222A0) / 4] = 67764225;
|
||||||
this->TT[(0x524AA4 - 0x005222A0) / 4] = 0;
|
this->TT[(0x524AA4 - 0x005222A0) / 4] = 0;
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x5252A0 - 0x005222A0) / 4 + 2 * v1] = 3;
|
this->TT[(0x5252A0 - 0x005222A0) / 4 + 2 * v1] = 3;
|
||||||
this->TT[(0x5252A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5252A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 11; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
char v1 = _0123[i];
|
char v1 = _0123[i];
|
||||||
this->TT[(0x5252A0 - 0x005222A0) / 4 + 2 * v1] = 3;
|
this->TT[(0x5252A0 - 0x005222A0) / 4 + 2 * v1] = 3;
|
||||||
@ -189,32 +190,32 @@ namespace WXSS
|
|||||||
// InitTransitTable - 30
|
// InitTransitTable - 30
|
||||||
this->TT[(0x525AA0 - 0x005222A0) / 4] = 69337089;
|
this->TT[(0x525AA0 - 0x005222A0) / 4] = 69337089;
|
||||||
this->TT[(0x525AA4 - 0x005222A0) / 4] = 0;
|
this->TT[(0x525AA4 - 0x005222A0) / 4] = 0;
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
char v1 = ntr[i];
|
char v1 = ntr[i];
|
||||||
this->TT[(0x5262A0 - 0x005222A0) / 4 + 2 * v1] = 134217732;
|
this->TT[(0x5262A0 - 0x005222A0) / 4 + 2 * v1] = 134217732;
|
||||||
this->TT[(0x5262A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5262A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x5262A0 - 0x005222A0) / 4 + 2 * v1] = 8;
|
this->TT[(0x5262A0 - 0x005222A0) / 4 + 2 * v1] = 8;
|
||||||
this->TT[(0x5262A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x5262A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 56; i++)
|
for (int i = 0; i < 55; i++)
|
||||||
{
|
{
|
||||||
char v1 = dotabc[i];
|
char v1 = dotabc[i];
|
||||||
this->TT[(0x52A2A0 - 0x005222A0) / 4 + 2 * v1] = 8;
|
this->TT[(0x52A2A0 - 0x005222A0) / 4 + 2 * v1] = 8;
|
||||||
this->TT[(0x52A2A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x52A2A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
// InitTransitTable - 35
|
// InitTransitTable - 35
|
||||||
for (int i = 0; i < 11; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
char v1 = _0123[i];
|
char v1 = _0123[i];
|
||||||
this->TT[(0x52A2A0 - 0x005222A0) / 4 + 2 * v1] = 8;
|
this->TT[(0x52A2A0 - 0x005222A0) / 4 + 2 * v1] = 8;
|
||||||
this->TT[(0x52A2A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
this->TT[(0x52A2A4 - 0x005222A0) / 4 + 2 * v1] = 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
char v1 = ntr[i];
|
char v1 = ntr[i];
|
||||||
this->TT[(0x52A2A0 - 0x005222A0) / 4 + 2 * v1] = 67764228;
|
this->TT[(0x52A2A0 - 0x005222A0) / 4 + 2 * v1] = 67764228;
|
||||||
@ -296,8 +297,11 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int GetTokens_i = 0;
|
||||||
int Tokenizer::GetTokens(std::vector<WXSS::Token> &a2, std::string &a3, int a4)
|
int Tokenizer::GetTokens(std::vector<WXSS::Token> &a2, std::string &a3, int a4)
|
||||||
{
|
{
|
||||||
|
GetTokens_i++;
|
||||||
|
int inner_GetTokens_i = GetTokens_i;
|
||||||
// GetTokens - 0
|
// GetTokens - 0
|
||||||
this->InitTransitTable();
|
this->InitTransitTable();
|
||||||
this->InitSubStrCheckingCaluseTable();
|
this->InitSubStrCheckingCaluseTable();
|
||||||
@ -311,7 +315,6 @@ namespace WXSS
|
|||||||
a2.reserve(a2.size());
|
a2.reserve(a2.size());
|
||||||
// GetTokens - 5
|
// GetTokens - 5
|
||||||
int v33 = 4194305;
|
int v33 = 4194305;
|
||||||
// int AnotherTypeByAnySubStr = 0;
|
|
||||||
int v37 = 1;
|
int v37 = 1;
|
||||||
int v41 = 1;
|
int v41 = 1;
|
||||||
int v35 = 1;
|
int v35 = 1;
|
||||||
@ -319,6 +322,10 @@ namespace WXSS
|
|||||||
WXSS::TokenType AnotherTypeByAnySubStr = 0;
|
WXSS::TokenType AnotherTypeByAnySubStr = 0;
|
||||||
for (int sa = 0;; sa = v31)
|
for (int sa = 0;; sa = v31)
|
||||||
{
|
{
|
||||||
|
if (inner_GetTokens_i == 2 && a2.size() == 75)
|
||||||
|
{
|
||||||
|
int a = 1;
|
||||||
|
}
|
||||||
if (v47 > this->offset_0.length())
|
if (v47 > this->offset_0.length())
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -347,7 +354,6 @@ namespace WXSS
|
|||||||
a3 = v66.str();
|
a3 = v66.str();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (lt == -1)
|
if (lt == -1)
|
||||||
break;
|
break;
|
||||||
@ -412,7 +418,6 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
--v38;
|
--v38;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
v58.offset_12 = sa;
|
v58.offset_12 = sa;
|
||||||
int v39 = v38 - sa + 1;
|
int v39 = v38 - sa + 1;
|
||||||
@ -431,18 +436,13 @@ namespace WXSS
|
|||||||
if (v58.offset_0 == 4)
|
if (v58.offset_0 == 4)
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
!strcasecmp(v58.offset_4->data(), "@media")
|
!strcasecmp(v58.offset_4->data(), "@media") || !strcasecmp(v58.offset_4->data(), "@keyframes") || !strcasecmp(v58.offset_4->data(), "@-webkit-keyframes") || !strcasecmp(v58.offset_4->data(), "@supports"))
|
||||||
|| !strcasecmp(v58.offset_4->data(), "@keyframes")
|
|
||||||
|| !strcasecmp(v58.offset_4->data(), "@-webkit-keyframes")
|
|
||||||
|| !strcasecmp(v58.offset_4->data(), "@supports")
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
v4 = 24;
|
v4 = 24;
|
||||||
}
|
}
|
||||||
const char *DIRECTIVES = "@import";
|
for (int k = 0; k < 10; k++)
|
||||||
for (int k = 0; DIRECTIVES[k]; k++)
|
|
||||||
{
|
{
|
||||||
if (!strcasecmp(v58.offset_4->data(), DIRECTIVES + k))
|
if (!strcasecmp(v58.offset_4->data(), DIRECTIVES[k]))
|
||||||
{
|
{
|
||||||
WXSS::Token v66;
|
WXSS::Token v66;
|
||||||
v66.offset_0 = 1;
|
v66.offset_0 = 1;
|
||||||
@ -451,19 +451,16 @@ namespace WXSS
|
|||||||
v66.offset_20 = v58.offset_20;
|
v66.offset_20 = v58.offset_20;
|
||||||
v66.offset_24 = v37;
|
v66.offset_24 = v37;
|
||||||
// v66.offset_28 = DIRECTIVES + k;
|
// v66.offset_28 = DIRECTIVES + k;
|
||||||
strcpy(v66.offset_28, DIRECTIVES + k);
|
strcpy(v66.offset_28, DIRECTIVES[k]);
|
||||||
a2.push_back(v66);
|
a2.push_back(v66);
|
||||||
goto LABEL_77;
|
goto LABEL_77;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
}
|
||||||
a2.push_back(v58);
|
a2.push_back(v58);
|
||||||
}
|
|
||||||
LABEL_77:
|
LABEL_77:
|
||||||
sa = v43 + 1;
|
sa = v43 + 1;
|
||||||
v37 = v41 + 1;
|
v37 = v41 + 1;
|
||||||
@ -546,9 +543,7 @@ namespace WXSS
|
|||||||
return WXSS::Tokenizer::SCC[i].offset_24;
|
return WXSS::Tokenizer::SCC[i].offset_24;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return a4;
|
return a4;
|
||||||
}
|
}
|
||||||
|
@ -72,12 +72,12 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto v34 = this->offset_56;
|
auto v10 = this->offset_56[i->first];
|
||||||
std::vector<std::string> v10 = v34[i->first];
|
|
||||||
v10.push_back(v70);
|
v10.push_back(v70);
|
||||||
std::shared_ptr<std::string> v33(new std::string());
|
std::shared_ptr<std::string> v33(new std::string());
|
||||||
v33->assign(v70);
|
v33->assign(v70);
|
||||||
cur->offset_140 = v33;
|
cur->offset_140 = v33;
|
||||||
|
this->offset_56[i->first] = v10;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -104,9 +104,9 @@ namespace WXSS
|
|||||||
auto v43 = this->offset_56.find(v32);
|
auto v43 = this->offset_56.find(v32);
|
||||||
if (v43 != this->offset_56.end())
|
if (v43 != this->offset_56.end())
|
||||||
{
|
{
|
||||||
for (int k = 0; k < this->offset_56[v32].size(); k++)
|
for (int m = 0; m < this->offset_56[v32].size(); m++)
|
||||||
{
|
{
|
||||||
_v64[this->offset_56[v32][k]]++;
|
_v64[this->offset_56[v32][m]]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -114,20 +114,19 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
// XCompiler - 5 - 0
|
// XCompiler - 5 - 0
|
||||||
std::map<std::string,unsigned int> v37;
|
std::map<std::string,unsigned int> v37;
|
||||||
std::map<std::string, std::vector<std::string>> v34;
|
std::set<std::string> v70;
|
||||||
std::set<std::string> v72;
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
std::vector<std::string> v61;
|
std::vector<std::string> v61;
|
||||||
for (auto v20 = _v64.begin(); v20 != _v64.end(); v20++)
|
for (auto v20 = _v64.begin(); v20 != _v64.end(); v20++)
|
||||||
{
|
{
|
||||||
if (v20->second)
|
if (!v20->second)
|
||||||
{
|
{
|
||||||
auto v36 = v72.find(v20->first);
|
auto v36 = v70.find(v20->first);
|
||||||
if (v36 == v72.end())
|
if (v36 == v70.end())
|
||||||
{
|
{
|
||||||
v61.push_back(v20->first);
|
v61.push_back(v20->first);
|
||||||
v72.insert(v20->first);
|
v70.insert(v20->first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -145,9 +144,9 @@ namespace WXSS
|
|||||||
v45 = a2.find(v74)->second.size();
|
v45 = a2.find(v74)->second.size();
|
||||||
}
|
}
|
||||||
v37[v74] = v37[v74] + v45;
|
v37[v74] = v37[v74] + v45;
|
||||||
for (int j = 0; j < v34[v74].size(); j++)
|
for (int j = 0; j < this->offset_56[v74].size(); j++)
|
||||||
{
|
{
|
||||||
std::string v77 = v34[v74][j];
|
std::string v77 = this->offset_56[v74][j];
|
||||||
_v64[v77]--;
|
_v64[v77]--;
|
||||||
v37[v77] = v37[v77] + v37[v74];
|
v37[v77] = v37[v77] + v37[v74];
|
||||||
}
|
}
|
||||||
@ -157,7 +156,7 @@ namespace WXSS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// XCompiler - 5 - 5
|
// XCompiler - 5 - 5
|
||||||
if (a2.size() != 0) // todo...
|
if (a2.size() != v70.size()) // todo...
|
||||||
{
|
{
|
||||||
v55 += "I don't know what will happen if a snake eats its tail, but a file can not import itself.";
|
v55 += "I don't know what will happen if a snake eats its tail, but a file can not import itself.";
|
||||||
this->offset_0 = 4;
|
this->offset_0 = 4;
|
||||||
|
@ -8963,10 +8963,10 @@ void __thiscall WXSS::XCompiler::XCompiler(char *this, _DWORD *a2, char a3, int
|
|||||||
int *v67; // [esp+B4h] [ebp-A4h]
|
int *v67; // [esp+B4h] [ebp-A4h]
|
||||||
int *v68; // [esp+B8h] [ebp-A0h]
|
int *v68; // [esp+B8h] [ebp-A0h]
|
||||||
int v69; // [esp+BCh] [ebp-9Ch]
|
int v69; // [esp+BCh] [ebp-9Ch]
|
||||||
int v70; // [esp+C0h] [ebp-98h] BYREF
|
int v70; // [esp+C0h] [ebp-98h] BYREF v70->offset_0
|
||||||
int v71; // [esp+C4h] [ebp-94h] BYREF
|
int v71; // [esp+C4h] [ebp-94h] BYREF v70->offset_4
|
||||||
int v72[3]; // [esp+C8h] [ebp-90h] BYREF
|
int v72[3]; // [esp+C8h] [ebp-90h] BYREF v70->offset_8, v70->offset_12, v70->offset_16
|
||||||
int v73; // [esp+D4h] [ebp-84h]
|
int v73; // [esp+D4h] [ebp-84h] v70->offset_20
|
||||||
int v74[6]; // [esp+D8h] [ebp-80h] BYREF
|
int v74[6]; // [esp+D8h] [ebp-80h] BYREF
|
||||||
int v75; // [esp+F0h] [ebp-68h] BYREF
|
int v75; // [esp+F0h] [ebp-68h] BYREF
|
||||||
volatile signed __int32 *v76; // [esp+F4h] [ebp-64h] BYREF
|
volatile signed __int32 *v76; // [esp+F4h] [ebp-64h] BYREF
|
||||||
@ -9220,11 +9220,12 @@ void __thiscall WXSS::XCompiler::XCompiler(char *this, _DWORD *a2, char a3, int
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// XCompiler - 5 - 0
|
// XCompiler - 5 - 0
|
||||||
|
// std::set<std::string> v70;
|
||||||
v71 = 0;
|
v71 = 0;
|
||||||
v72[0] = 0;
|
v72[0] = 0;
|
||||||
v72[1] = (int)&v71;
|
v72[1] = (int)&v71;
|
||||||
v72[2] = (int)&v71;
|
v72[2] = (int)&v71;
|
||||||
v73 = 0;
|
v73 = 0; // v70.size()
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
// int *v20
|
// int *v20
|
||||||
@ -11499,7 +11500,10 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
|
|||||||
// v83->offset_48
|
// v83->offset_48
|
||||||
for ( i = 0; i != 64; ++i ) // Token里面的
|
for ( i = 0; i != 64; ++i ) // Token里面的
|
||||||
*((_BYTE *)v83 + i + 52) = *((_BYTE *)lpuexcpta + i + 28);
|
*((_BYTE *)v83 + i + 52) = *((_BYTE *)lpuexcpta + i + 28);
|
||||||
|
|
||||||
std::string::operator=((unsigned int **)v83, Str);
|
std::string::operator=((unsigned int **)v83, Str);
|
||||||
|
// v83->offset_0
|
||||||
|
|
||||||
v31 = *((_DWORD *)lpuexcpta + 3);
|
v31 = *((_DWORD *)lpuexcpta + 3);
|
||||||
v83[41] = v31;
|
v83[41] = v31;
|
||||||
// v83->offset_164
|
// v83->offset_164
|
||||||
@ -11558,6 +11562,7 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
|
|||||||
// offset_164
|
// offset_164
|
||||||
v135[41] = *((_DWORD *)v123 + 41);
|
v135[41] = *((_DWORD *)v123 + 41);
|
||||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree>>::push_back(v46 + 30, &v123);
|
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree>>::push_back(v46 + 30, &v123);
|
||||||
|
// v135->offset_168
|
||||||
v135[42] = *((_DWORD *)v123 + 42);
|
v135[42] = *((_DWORD *)v123 + 42);
|
||||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v136);
|
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v136);
|
||||||
}
|
}
|
||||||
@ -11749,6 +11754,7 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// int this
|
||||||
v68 = (int *)std::deque<zcc::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree>>::back((_DWORD *)(this + 48));
|
v68 = (int *)std::deque<zcc::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree>>::back((_DWORD *)(this + 48));
|
||||||
v69 = *v68;
|
v69 = *v68;
|
||||||
v70 = (volatile signed __int32 *)v68[1];
|
v70 = (volatile signed __int32 *)v68[1];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user