mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
feat: transit table
This commit is contained in:
parent
c173f17062
commit
af8e0e2f71
@ -49,8 +49,6 @@ add_executable(wcc
|
||||
src/utils/file.cpp
|
||||
)
|
||||
add_executable(wcsc
|
||||
src/include/bittest.h
|
||||
src/utils/bittest.cpp
|
||||
src/wcsc.cpp
|
||||
src/wcsc/usage.cpp
|
||||
src/wxa/wxa.cpp
|
||||
@ -60,11 +58,13 @@ add_executable(wcsc
|
||||
src/wxss/token.cpp
|
||||
src/wxss/tokenizer.cpp
|
||||
src/wxss/x_compiler.cpp
|
||||
src/wxss/css_tree_lib/css_tree_lib.cpp
|
||||
src/wxss/css_tree_lib/base.cpp
|
||||
src/wxss/css_tree_lib/css_syntax_tree.cpp
|
||||
src/wxss/css_tree_lib/lexical_checker.cpp
|
||||
src/wxss/css_tree_lib/parser.cpp
|
||||
src/wxss/css_tree_lib/transit_table.cpp
|
||||
src/utils/bittest.cpp
|
||||
src/utils/json.cpp
|
||||
src/utils/string_utils.cpp
|
||||
src/utils/file.cpp
|
||||
|
@ -588,7 +588,7 @@ namespace WXML
|
||||
// 大小:12字节
|
||||
public:
|
||||
std::vector<std::shared_ptr<WXML::EXPRLib::Base>> offset_0;
|
||||
Offset0Type *offset_8;
|
||||
// Offset0Type *offset_8;
|
||||
BNF(/* args */);
|
||||
~BNF();
|
||||
};
|
||||
|
@ -78,11 +78,42 @@ namespace WXSS
|
||||
|
||||
namespace CSSTreeLib
|
||||
{
|
||||
using Offset0Type = int();
|
||||
|
||||
int off_519B58();
|
||||
int off_519B2C();
|
||||
int off_519A44();
|
||||
int off_519B18();
|
||||
|
||||
class Base
|
||||
{
|
||||
private:
|
||||
/* data
|
||||
size: 0x78u
|
||||
*/
|
||||
public:
|
||||
Offset0Type *offset_0 = nullptr;
|
||||
std::string offset_4_str;
|
||||
std::string offset_4_int;
|
||||
int offset_28 = 0;
|
||||
int offset_32 = 0;
|
||||
std::string offset_36 = "";
|
||||
Base(/* args */);
|
||||
~Base();
|
||||
};
|
||||
|
||||
|
||||
using BNF = std::vector<std::shared_ptr<WXSS::CSSTreeLib::Base>>;
|
||||
|
||||
class TransitTable
|
||||
{
|
||||
private:
|
||||
/* data */
|
||||
public:
|
||||
static TransitTable* instance;
|
||||
static std::mutex m;
|
||||
std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>> offset_0;
|
||||
bool offset_24;
|
||||
TransitTable(/* args */);
|
||||
~TransitTable();
|
||||
static TransitTable* GetInstance();
|
||||
@ -147,19 +178,6 @@ namespace WXSS
|
||||
static LexicalChecker* GetInstance(bool);
|
||||
};
|
||||
|
||||
using Offset0Type = int();
|
||||
class Base
|
||||
{
|
||||
private:
|
||||
/* data
|
||||
size: 0x78u
|
||||
*/
|
||||
public:
|
||||
Offset0Type *offset_0 = nullptr;
|
||||
std::string offset_4;
|
||||
Base(/* args */);
|
||||
~Base();
|
||||
};
|
||||
|
||||
|
||||
class Parser
|
||||
|
8
src/wxss/css_tree_lib/bnf.cpp
Normal file
8
src/wxss/css_tree_lib/bnf.cpp
Normal file
@ -0,0 +1,8 @@
|
||||
#include "../../include/wxss.h"
|
||||
|
||||
namespace WXSS
|
||||
{
|
||||
namespace CSSTreeLib
|
||||
{
|
||||
}
|
||||
}
|
25
src/wxss/css_tree_lib/css_tree_lib.cpp
Normal file
25
src/wxss/css_tree_lib/css_tree_lib.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
#include "../../include/wxss.h"
|
||||
|
||||
namespace WXSS
|
||||
{
|
||||
namespace CSSTreeLib
|
||||
{
|
||||
|
||||
int off_519B58()
|
||||
{
|
||||
throw "not implement";
|
||||
}
|
||||
int off_519B2C()
|
||||
{
|
||||
throw "not implement";
|
||||
}
|
||||
int off_519A44()
|
||||
{
|
||||
throw "not implement";
|
||||
}
|
||||
int off_519B18()
|
||||
{
|
||||
throw "not implement";
|
||||
}
|
||||
}
|
||||
}
|
@ -38,18 +38,22 @@ namespace WXSS
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Parse - 10
|
||||
WXSS::Token v127;
|
||||
v127.offset_0 = 8;
|
||||
v127.offset_20 = v118.back().offset_20;
|
||||
v127.offset_24 = v118.back().offset_24;
|
||||
v127.offset_28[0] = 0;
|
||||
v118.push_back(v127);
|
||||
// Parse - 10
|
||||
|
||||
std::shared_ptr<WXSS::CSSTreeLib::Base> v102(new WXSS::CSSTreeLib::Base());
|
||||
v102->offset_4 = "$";
|
||||
v102->offset_4_str = "$";
|
||||
this->offset_8.push_back(v102);
|
||||
|
||||
// off_519A44
|
||||
std::shared_ptr<WXSS::CSSTreeLib::Base> v104(new WXSS::CSSTreeLib::Base());
|
||||
// v104->offset_0 = off_519A44;
|
||||
v104->offset_4 = instance->GetTopType();
|
||||
v104->offset_4_str = instance->GetTopType();
|
||||
this->offset_8.push_back(v104);
|
||||
|
||||
// Parse - 15
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -11186,15 +11186,15 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
|
||||
goto LABEL_107; // 销毁数据,返回Tokens
|
||||
v132 = 0;
|
||||
v133 = 0;
|
||||
v134[0] = 0;
|
||||
v130 = 0;
|
||||
v131 = 0;
|
||||
v5 = *((_DWORD *)v119 - 18);
|
||||
v128 = 0;
|
||||
v132 = v5;
|
||||
v134[0] = 0; // v127.offset_28
|
||||
v130 = 0; // v127.offset_12
|
||||
v131 = 0; // v127.offset_16
|
||||
v5 = *((_DWORD *)v119 - 18); // 18 * 4 = 72
|
||||
v128 = 0; // v127.offset_4
|
||||
v132 = v5; // v127.offset_20
|
||||
v129 = 0;
|
||||
v127 = 8;
|
||||
v133 = *((_DWORD *)v119 - 17);
|
||||
v127 = 8; // v127.offset_0
|
||||
v133 = *((_DWORD *)v119 - 17); // v127.offset_24
|
||||
if ( v119 == v120 )
|
||||
{
|
||||
std::vector<WXSS::Token>::_M_realloc_insert<WXSS::Token const&>(&v118, v119, &v127);
|
||||
@ -14297,9 +14297,12 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
volatile signed __int32 *v1420; // [esp+9Ch] [ebp-1Ch] BYREF
|
||||
int v1421; // [esp+A0h] [ebp-18h]
|
||||
|
||||
// int a1
|
||||
if ( !*(_BYTE *)(a1 + 24) )
|
||||
{
|
||||
// TransitTable::Init - 0
|
||||
*(_BYTE *)(a1 + 24) = 1;
|
||||
// =======================1================
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v2 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v1);
|
||||
std::_Rb_tree<std::string,std::pair<std::string const,std::vector<WXSS::CSSTreeLib::BNF>>,std::_Select1st<std::pair<std::string const,std::vector<WXSS::CSSTreeLib::BNF>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<WXSS::CSSTreeLib::BNF>>>>::operator=(
|
||||
@ -14312,11 +14315,12 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::string::basic_string((void **)&v1419, "$NAME");
|
||||
v1414 = 1;
|
||||
v3 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1207 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v3, &v1419);
|
||||
v1207 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v3, &v1419); // "$NAME"
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1207, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
v1416 = 0;
|
||||
|
||||
v1416 = 0; // std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v4 = operator new(4u);
|
||||
@ -14324,10 +14328,10 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v4);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
v623 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v623);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v623); // off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v623);
|
||||
v624 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6); // '\0'
|
||||
std::string::_M_assign(v624 + 36, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::string::operator=((unsigned int **)(v1414 + 4), "ATTR");
|
||||
@ -14339,64 +14343,80 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
v1416 = 0;
|
||||
|
||||
// TransitTable::Init - 5
|
||||
v1416 = 0; // std::vector<WXSS::CSSTreeLib::BNF> v1416
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
std::string::basic_string((void **)&v1419, (char *)asc_50F6EC);
|
||||
std::string::basic_string((void **)&v1419, (char *)asc_50F6EC); // ";" ";\000:\000}\000$\000+"
|
||||
v1414 = 1;
|
||||
// v6 = this->offset_0[1]
|
||||
v6 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1208 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v6, &v1419);
|
||||
// v1208 = v6[";"]
|
||||
v1208 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v6, &v1419); // ";"
|
||||
// v6[";"] = std::vector<WXSS::CSSTreeLib::BNF>
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1208, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
v1416 = 0;
|
||||
// std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>> v1416
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
|
||||
v625 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v625);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v625); // off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v625);
|
||||
v626 = v1412;
|
||||
std::string::basic_string((void **)&v1419, (char *)asc_50F6EC);
|
||||
std::string::basic_string((void **)&v1419, (char *)asc_50F6EC); // ";" ";\000:\000}\000$\000+"
|
||||
std::string::_M_assign(v626 + 4, (int)&v1419);
|
||||
// v1412->offset_4 = ";"
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
|
||||
v627 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v627);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v627);// off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v627);
|
||||
v628 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
std::string::_M_assign(v628 + 36, (int)&v1419);
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6); // '\0'
|
||||
std::string::_M_assign(v628 + 36, (int)&v1419); // v1414->offset_36
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::string::operator=((unsigned int **)(v1414 + 4), "ATTR");
|
||||
// v1414->offset_4 = "ATTR"
|
||||
v7 = v1414;
|
||||
*(_DWORD *)(v1414 + 28) = 0;
|
||||
// v1414->offset_28 = 0
|
||||
*(_DWORD *)(v7 + 32) = 2;
|
||||
// v1414->offset_32 = 2
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1208, &v1416);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
v1416 = 0;
|
||||
|
||||
// TransitTable::Init - 10
|
||||
v1416 = 0; // std::vector<WXSS::CSSTreeLib::BNF>
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[2]);
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[2]); // ":"
|
||||
v1414 = 1;
|
||||
v8 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1209 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v8, &v1419);
|
||||
v1209 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v8, &v1419); // ":"
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1209, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
v1416 = 0;
|
||||
|
||||
v1416 = 0; // std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v629 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v629);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v629);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v629);
|
||||
v630 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[2]);
|
||||
std::string::_M_assign(v630 + 4, (int)&v1419);
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[2]); // ":"
|
||||
std::string::_M_assign(v630 + 4, (int)&v1419); // ":"
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
|
||||
v9 = operator new(8u);
|
||||
*v9 = &off_519A44;
|
||||
v9[1] = 0;
|
||||
@ -14407,16 +14427,19 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1420);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 15
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[4]);
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[4]); // "}"
|
||||
v1414 = 1;
|
||||
v10 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1210 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v10, &v1419);
|
||||
v1210 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v10, &v1419);// "}"
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1210, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
@ -14424,11 +14447,12 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
*v11 = &off_519B18;
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v11);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
|
||||
v631 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v631);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v631);// off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v631);
|
||||
v632 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6); // '\0'
|
||||
std::string::_M_assign(v632 + 36, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::string::operator=((unsigned int **)(v1414 + 4), "ATTR");
|
||||
@ -14436,20 +14460,25 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
*(_DWORD *)(v1414 + 28) = 0;
|
||||
*(_DWORD *)(v12 + 32) = 1;
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1210, &v1416);
|
||||
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 20
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[6]);
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[6]); // "$"
|
||||
v1414 = 1;
|
||||
v13 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1211 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v13, &v1419);
|
||||
v1211 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v13, &v1419); // "$"
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1211, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
@ -14457,11 +14486,12 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
*v14 = &off_519B18;
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v14);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
|
||||
v633 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v633);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v633); // off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v633);
|
||||
v634 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6); // '\0'
|
||||
std::string::_M_assign(v634 + 36, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::string::operator=((unsigned int **)(v1414 + 4), "ATTR");
|
||||
@ -14470,9 +14500,13 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
*(_DWORD *)(v15 + 32) = 1;
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1211, &v1416);
|
||||
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 25
|
||||
// =======================2================
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 2;
|
||||
v17 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v16);
|
||||
@ -14480,6 +14514,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
v17,
|
||||
&v1419);
|
||||
std::_Rb_tree<std::string,std::pair<std::string const,std::vector<WXSS::CSSTreeLib::BNF>>,std::_Select1st<std::pair<std::string const,std::vector<WXSS::CSSTreeLib::BNF>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<WXSS::CSSTreeLib::BNF>>>>::~_Rb_tree((int)&v1419);
|
||||
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
@ -14490,99 +14525,119 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1212, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v635 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v635);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v635); // off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v635);
|
||||
v636 = v1414;
|
||||
std::string::basic_string((void **)&v1419, "$NAME");
|
||||
std::string::_M_assign(v636 + 4, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
|
||||
v19 = operator new(8u);
|
||||
*v19 = &off_519A44;
|
||||
v19[1] = 0;
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1419, (int)v19);
|
||||
v1419[1] = 27;
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1419);
|
||||
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1212, &v1416);
|
||||
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1420);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 30
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[8]);
|
||||
// ";\000:\000}\000$\000+"
|
||||
// 01 23 45 67 8
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[8]); // "+"
|
||||
v1414 = 2;
|
||||
v20 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1213 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v20, &v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1213, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v637 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v637);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v637);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1410, (int)v637);
|
||||
v638 = v1410;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[8]);
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[8]); // "+"
|
||||
std::string::_M_assign(v638 + 4, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1410);
|
||||
|
||||
v639 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v639);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v639);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v639);
|
||||
v640 = v1412;
|
||||
std::string::basic_string((void **)&v1419, "$NAME");
|
||||
std::string::_M_assign(v640 + 4, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
|
||||
v641 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v641);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v641); // off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v641);
|
||||
v642 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6); // '\0'
|
||||
std::string::_M_assign(v642 + 36, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::string::operator=((unsigned int **)(v1414 + 4), "SELECTOR");
|
||||
v21 = v1414;
|
||||
*(_DWORD *)(v1414 + 28) = 0;
|
||||
*(_DWORD *)(v21 + 32) = 2;
|
||||
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1213, &v1416);
|
||||
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1411);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 35
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
std::string::basic_string((void **)&v1419, (char *)off_50F6FF);
|
||||
// {'$','I','D','\0'}
|
||||
// 0 1 2 3
|
||||
std::string::basic_string((void **)&v1419, (char *)off_50F6FF); // "$"
|
||||
v1414 = 2;
|
||||
v22 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, &v1414);
|
||||
v1214 = std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>::operator[](v22, &v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::_M_move_assign((void ***)v1214, (void ***)&v1416);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::~vector((void ***)&v1416);
|
||||
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v643 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v643);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v643);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v643);
|
||||
v644 = v1412;
|
||||
std::string::basic_string((void **)&v1419, (char *)off_50F6FF);
|
||||
std::string::basic_string((void **)&v1419, (char *)off_50F6FF); // "$"
|
||||
std::string::_M_assign(v644 + 4, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
|
||||
v645 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v645);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v645); // off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v645);
|
||||
v646 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6); // '\0'
|
||||
std::string::_M_assign(v646 + 36, (int)&v1419);
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::string::operator=((unsigned int **)(v1414 + 4), "SELECTOR");
|
||||
@ -14591,9 +14646,12 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
*(_DWORD *)(v23 + 32) = 1;
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1414);
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1214, &v1416);
|
||||
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 40
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
@ -14608,7 +14666,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v647 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v647);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v647);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1412, (int)v647);
|
||||
v648 = v1412;
|
||||
std::string::basic_string((void **)&v1419, "[");
|
||||
@ -14616,7 +14674,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
v649 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v649);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v649);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v649);
|
||||
v650 = v1414;
|
||||
std::string::basic_string((void **)&v1419, "$NAME");
|
||||
@ -14634,6 +14692,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
// TransitTable::Init - 45
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
@ -14648,7 +14707,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
v651 = operator new(0x78u);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v651);
|
||||
WXSS::CSSTreeLib::Terminal::Terminal((int)v651);// off_519B58
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v651);
|
||||
v652 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&asc_50F6EC[2]);
|
||||
@ -14665,6 +14724,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1420);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
// TransitTable::Init - 50
|
||||
v1416 = 0;
|
||||
v1417 = 0;
|
||||
v1418 = 0;
|
||||
@ -14695,7 +14755,7 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::string::_M_dispose((void **)&v1419);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back((void **)&v1416, &v1412);
|
||||
v657 = operator new(0x3Cu);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v657);
|
||||
WXSS::CSSTreeLib::Action::Action((int)v657); // off_519B2C
|
||||
zcc::shared_ptr<WXSS::CSSTreeLib::Base>::shared_ptr(&v1414, (int)v657);
|
||||
v658 = v1414;
|
||||
std::string::basic_string((void **)&v1419, (char *)&byte_50F6E6);
|
||||
@ -14711,6 +14771,9 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1411);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// TransitTable::Init - 55
|
||||
// =======================================3
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 3;
|
||||
v31 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v30);
|
||||
@ -15262,6 +15325,8 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// =======================================4
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 4;
|
||||
v85 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v84);
|
||||
@ -15361,6 +15426,8 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1411);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// =======================================5
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 5;
|
||||
v91 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v90);
|
||||
@ -15693,6 +15760,8 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1413);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1411);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// =======================================6
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 6;
|
||||
v109 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v108);
|
||||
@ -15782,6 +15851,8 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1242, &v1419);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1417);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1419);
|
||||
|
||||
// =======================================7
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 7;
|
||||
v119 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v118);
|
||||
@ -15882,6 +15953,8 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::vector<WXSS::CSSTreeLib::BNF>::push_back((int)v1245, &v1419);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1417);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1419);
|
||||
|
||||
// =======================================8
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 8;
|
||||
v128 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v127);
|
||||
@ -16012,6 +16085,8 @@ void __fastcall WXSS::CSSTreeLib::TransitTable::Init(int a1)
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1420);
|
||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1415);
|
||||
std::vector<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::~vector((void **)&v1416);
|
||||
|
||||
// =======================================9
|
||||
std::_Rb_tree_header::_Rb_tree_header(&v1420);
|
||||
v1416 = 9;
|
||||
v136 = std::map<int,std::map<std::string,std::vector<WXSS::CSSTreeLib::BNF>>>::operator[]((_DWORD *)a1, v135);
|
||||
@ -46166,18 +46241,21 @@ void __fastcall WXSS::CSSTreeLib::EPS::~EPS(void *a1)
|
||||
operator delete(a1);
|
||||
}
|
||||
|
||||
//----- (00446728) --------------------------------------------------------
|
||||
//----- (00446728) off_519B2C--------------------------------------------------------
|
||||
int __fastcall WXSS::CSSTreeLib::Action::Action(int a1)
|
||||
{
|
||||
// size: 0x3C - 60
|
||||
int result; // eax
|
||||
|
||||
*(_DWORD *)a1 = &off_519B2C;
|
||||
*(_DWORD *)(a1 + 4) = a1 + 12;
|
||||
*(_DWORD *)(a1 + 4) = a1 + 12; // std::string offset_4
|
||||
result = a1 + 44;
|
||||
*(_DWORD *)(a1 + 8) = 0;
|
||||
*(_BYTE *)(a1 + 12) = 0;
|
||||
*(_DWORD *)(a1 + 36) = a1 + 44;
|
||||
|
||||
*(_DWORD *)(a1 + 36) = a1 + 44; // std::string
|
||||
*(_DWORD *)(a1 + 40) = 0;
|
||||
|
||||
*(_BYTE *)(a1 + 44) = 0;
|
||||
*(_DWORD *)(a1 + 28) = 0;
|
||||
return result;
|
||||
|
Loading…
x
Reference in New Issue
Block a user