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
700f4b7257
commit
7719cf14f1
4
.vscode/launch.json
vendored
4
.vscode/launch.json
vendored
@ -12,10 +12,10 @@
|
|||||||
"program": "${workspaceFolder}/build/wcc",
|
"program": "${workspaceFolder}/build/wcc",
|
||||||
"args": [
|
"args": [
|
||||||
"\"--config-path\"",
|
"\"--config-path\"",
|
||||||
"\"/mnt/d/Work/disassembly/wcc-exec/wcc/cmd1.txt\""
|
"\"/mnt/d/Work/WeChatProjects/miniprogram-1/wcc/99a9bac3c05fc25dd070298212c4a7d3\""
|
||||||
],
|
],
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
"cwd": "/mnt/d/Work/WeChatProjects/miniprogram-demo/miniprogram",
|
"cwd": "/mnt/d/Work/WeChatProjects/miniprogram-1",
|
||||||
"environment": [],
|
"environment": [],
|
||||||
"externalConsole": false,
|
"externalConsole": false,
|
||||||
"MIMode": "gdb",
|
"MIMode": "gdb",
|
||||||
|
@ -325,7 +325,10 @@ namespace night
|
|||||||
std::string compile_obj_dot(night::ns_node *);
|
std::string compile_obj_dot(night::ns_node *);
|
||||||
std::string compile_obj_property(night::ns_node *);
|
std::string compile_obj_property(night::ns_node *);
|
||||||
std::string compile_obj_self_op(night::ns_node *);
|
std::string compile_obj_self_op(night::ns_node *);
|
||||||
std::string compile_once(std::string &, std::vector<std::string> *, bool);
|
/**
|
||||||
|
* @param a3 结果
|
||||||
|
*/
|
||||||
|
std::string compile_once(std::string &a3, std::vector<std::string> *a4, bool a5);
|
||||||
std::string compile_op_self(night::ns_node *);
|
std::string compile_op_self(night::ns_node *);
|
||||||
std::string compile_prog(night::ns_node *);
|
std::string compile_prog(night::ns_node *);
|
||||||
std::string compile_prog_no_sem(night::ns_node *);
|
std::string compile_prog_no_sem(night::ns_node *);
|
||||||
|
@ -190,17 +190,19 @@ namespace night
|
|||||||
this->offset_48++;
|
this->offset_48++;
|
||||||
if (v29)
|
if (v29)
|
||||||
{
|
{
|
||||||
result += ")";
|
result += "{";
|
||||||
this->offset_48++;
|
this->offset_48++;
|
||||||
auto v10 = a3->offset_244;
|
auto v10 = a3->offset_244;
|
||||||
|
|
||||||
for (int i = 0; i < v10->size(); i++)
|
for (int i = 0; i < v10->size(); i++)
|
||||||
{
|
{
|
||||||
auto cur = v10->at(i);
|
auto cur = v10->at(i);
|
||||||
if (night::NS_TYPE_ASSIGN == cur->offset_0)
|
if (night::NS_TYPE_ASSIGN == cur->offset_0)
|
||||||
{
|
{
|
||||||
std::string v41 = cur->offset_180->offset_60;
|
std::string v41 = cur->offset_180->offset_60;
|
||||||
|
std::string _v41 = v41;
|
||||||
v41.append("=undefined===");
|
v41.append("=undefined===");
|
||||||
v41.append(v41);
|
v41.append(_v41);
|
||||||
v41.append("?");
|
v41.append("?");
|
||||||
result += v41;
|
result += v41;
|
||||||
this->offset_48 += v41.length();
|
this->offset_48 += v41.length();
|
||||||
@ -533,8 +535,11 @@ namespace night
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int compile_i = 0;
|
||||||
std::string NSCompileJs::compile(night::ns_node * a3)
|
std::string NSCompileJs::compile(night::ns_node * a3)
|
||||||
{
|
{
|
||||||
|
compile_i++;
|
||||||
|
int inner_compile_i = compile_i;
|
||||||
if (this->offset_0.size() == 0)
|
if (this->offset_0.size() == 0)
|
||||||
{
|
{
|
||||||
std::string v9 = a3->offset_0;
|
std::string v9 = a3->offset_0;
|
||||||
|
@ -16,6 +16,7 @@ namespace WXML {
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int DealSingleTokenToOps_i = 0;
|
||||||
int WXMLDom::DealSingleTokenToOps(
|
int WXMLDom::DealSingleTokenToOps(
|
||||||
std::string const& a1,
|
std::string const& a1,
|
||||||
std::string& a2,
|
std::string& a2,
|
||||||
@ -30,6 +31,8 @@ namespace WXML {
|
|||||||
const std::map<std::string,std::string> & a11
|
const std::map<std::string,std::string> & a11
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
DealSingleTokenToOps_i++;
|
||||||
|
int inner_DealSingleTokenToOps_i = DealSingleTokenToOps_i;
|
||||||
// DealSingleTokenToOps - 0
|
// DealSingleTokenToOps - 0
|
||||||
std::string v11;
|
std::string v11;
|
||||||
if (a8)
|
if (a8)
|
||||||
@ -248,6 +251,7 @@ namespace WXML {
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
int RenderAllOpsAndRecord_i = 0;
|
||||||
void WXMLDom::RenderAllOpsAndRecord(
|
void WXMLDom::RenderAllOpsAndRecord(
|
||||||
std::string const& a2,
|
std::string const& a2,
|
||||||
std::string& a3,
|
std::string& a3,
|
||||||
@ -258,6 +262,8 @@ namespace WXML {
|
|||||||
const std::map<std::string,std::string> & a8
|
const std::map<std::string,std::string> & a8
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
RenderAllOpsAndRecord_i++;
|
||||||
|
int inner_RenderAllOpsAndRecord_i = RenderAllOpsAndRecord_i;
|
||||||
if (this->offset_0 == "TEXTNODE")
|
if (this->offset_0 == "TEXTNODE")
|
||||||
{
|
{
|
||||||
this->DealSingleTokenToOps(a2, a3, a4, a5, &this->offset_84, 0, 0, 1, a6, a7, a8);
|
this->DealSingleTokenToOps(a2, a3, a4, a5, &this->offset_84, 0, 0, 1, a6, a7, a8);
|
||||||
@ -382,8 +388,11 @@ namespace WXML {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
int RewriteTree_i = 0;
|
||||||
void WXMLDom::RewriteTree(void)
|
void WXMLDom::RewriteTree(void)
|
||||||
{
|
{
|
||||||
|
RewriteTree_i++;
|
||||||
|
int inner_RewriteTree_i = RewriteTree_i;
|
||||||
// RewriteTree - 0
|
// RewriteTree - 0
|
||||||
for (int i = 0; i < this->offset_72.size(); i++)
|
for (int i = 0; i < this->offset_72.size(); i++)
|
||||||
{
|
{
|
||||||
@ -548,7 +557,7 @@ namespace WXML {
|
|||||||
{
|
{
|
||||||
this->offset_72[i]->RewriteTree();
|
this->offset_72[i]->RewriteTree();
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WXMLDom::RenderChildren(
|
void WXMLDom::RenderChildren(
|
||||||
@ -607,6 +616,7 @@ namespace WXML {
|
|||||||
a6 << "var " << v147 << "=" << a3;
|
a6 << "var " << v147 << "=" << a3;
|
||||||
a6 << "[x[" << this->offset_248->GetStrID(a2) << "]].j" << a12;
|
a6 << "[x[" << this->offset_248->GetStrID(a2) << "]].j" << a12;
|
||||||
}
|
}
|
||||||
|
v109++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -855,6 +865,7 @@ namespace WXML {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int RenderNonDefine_i = 0;
|
||||||
void WXMLDom::RenderNonDefine(
|
void WXMLDom::RenderNonDefine(
|
||||||
std::string const& a2,
|
std::string const& a2,
|
||||||
std::string const& a3,
|
std::string const& a3,
|
||||||
@ -872,6 +883,8 @@ namespace WXML {
|
|||||||
std::map<std::string,std::string> * a15
|
std::map<std::string,std::string> * a15
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
RenderNonDefine_i++;
|
||||||
|
int inner_RenderNonDefine_i = RenderNonDefine_i;
|
||||||
// RenderNonDefine - 0
|
// RenderNonDefine - 0
|
||||||
if (a13 && this->offset_24.size())
|
if (a13 && this->offset_24.size())
|
||||||
{
|
{
|
||||||
@ -1301,7 +1314,7 @@ namespace WXML {
|
|||||||
if ( v161[0] != 'w'
|
if ( v161[0] != 'w'
|
||||||
|| v161[1] != 'x'
|
|| v161[1] != 'x'
|
||||||
|| v161[2] != ':' && v161[2] != '-'
|
|| v161[2] != ':' && v161[2] != '-'
|
||||||
|| v161 != "wx:scope-data")
|
|| v161 == "wx:scope-data")
|
||||||
{
|
{
|
||||||
// pos: 搜索 -> !__stricmp((const char *)v161, "wx:scope-data")
|
// pos: 搜索 -> !__stricmp((const char *)v161, "wx:scope-data")
|
||||||
// ++emplace_back_i;
|
// ++emplace_back_i;
|
||||||
@ -1399,6 +1412,10 @@ namespace WXML {
|
|||||||
|
|
||||||
}
|
}
|
||||||
// RenderNonDefine - 35
|
// RenderNonDefine - 35
|
||||||
|
if (a5 == "o2J")
|
||||||
|
{
|
||||||
|
int a = 0;
|
||||||
|
}
|
||||||
a6 << "var " << a5 << "=_mz(z,'" << this->offset_0 << "',[";
|
a6 << "var " << a5 << "=_mz(z,'" << this->offset_0 << "',[";
|
||||||
v259 = "";
|
v259 = "";
|
||||||
for (auto jj = v324.begin(); jj < v324.end(); jj++)
|
for (auto jj = v324.begin(); jj < v324.end(); jj++)
|
||||||
|
@ -30,6 +30,8 @@ namespace WXML
|
|||||||
Parser::~Parser()
|
Parser::~Parser()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
int Parse_i = 0;
|
||||||
|
int offset_0_push_i = 0;
|
||||||
int Parser::Parse(
|
int Parser::Parse(
|
||||||
std::string const& a2,
|
std::string const& a2,
|
||||||
std::string const& a3,
|
std::string const& a3,
|
||||||
@ -38,6 +40,8 @@ namespace WXML
|
|||||||
std::string& a6,
|
std::string& a6,
|
||||||
bool a7)
|
bool a7)
|
||||||
{
|
{
|
||||||
|
Parse_i++;
|
||||||
|
int inner_Parse_i = Parse_i;
|
||||||
// WXML::EXPRLib::Parser::Parse - 0
|
// WXML::EXPRLib::Parser::Parse - 0
|
||||||
this->offset_0.clear();
|
this->offset_0.clear();
|
||||||
this->offset_40.clear();
|
this->offset_40.clear();
|
||||||
@ -82,6 +86,7 @@ namespace WXML
|
|||||||
v70->offset_4_int = WXML::EXPRLib::TransitTable::GetExprNTType();
|
v70->offset_4_int = WXML::EXPRLib::TransitTable::GetExprNTType();
|
||||||
}
|
}
|
||||||
this->offset_0.push_back(v70);
|
this->offset_0.push_back(v70);
|
||||||
|
offset_0_push_i += 2;
|
||||||
// WXML::EXPRLib::Parser::Parse - 20
|
// WXML::EXPRLib::Parser::Parse - 20
|
||||||
int v49 = 0;
|
int v49 = 0;
|
||||||
while (true)
|
while (true)
|
||||||
@ -222,6 +227,7 @@ namespace WXML
|
|||||||
std::shared_ptr<WXML::EXPRLib::Base> cur1 = baseList[i];
|
std::shared_ptr<WXML::EXPRLib::Base> cur1 = baseList[i];
|
||||||
if( cur1->offset_0() == 4)
|
if( cur1->offset_0() == 4)
|
||||||
break;
|
break;
|
||||||
|
offset_0_push_i++;
|
||||||
this->offset_0.push_back(cur1);
|
this->offset_0.push_back(cur1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,8 +177,11 @@ namespace WXML {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int GetTokens_i = 0;
|
||||||
int Tokenizer::GetTokens(std::vector<WXML::EXPRLib::Token> & a2, std::string &a3)
|
int Tokenizer::GetTokens(std::vector<WXML::EXPRLib::Token> & a2, std::string &a3)
|
||||||
{
|
{
|
||||||
|
GetTokens_i++;
|
||||||
|
int inner_GetTokens_i = GetTokens_i;
|
||||||
int v21 = 18899;
|
int v21 = 18899;
|
||||||
WXML::EXPRLib::Tokenizer::InitTransitTable();
|
WXML::EXPRLib::Tokenizer::InitTransitTable();
|
||||||
int v24 = 1;
|
int v24 = 1;
|
||||||
|
@ -8776,6 +8776,7 @@ void __fastcall WXML::EXPRLib::TransitTable::Init(int a1)
|
|||||||
v968 = std::vector<WXML::EXPRLib::BNF>::push_back(&v1982);
|
v968 = std::vector<WXML::EXPRLib::BNF>::push_back(&v1982);
|
||||||
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1980, v968);
|
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v1980, v968);
|
||||||
std::vector<zcc::shared_ptr<WXML::EXPRLib::Base>>::~vector(&v1982);
|
std::vector<zcc::shared_ptr<WXML::EXPRLib::Base>>::~vector(&v1982);
|
||||||
|
|
||||||
v1979 = 0;
|
v1979 = 0;
|
||||||
v1980 = 0;
|
v1980 = 0;
|
||||||
v1981 = 0;
|
v1981 = 0;
|
||||||
@ -8786,6 +8787,7 @@ void __fastcall WXML::EXPRLib::TransitTable::Init(int a1)
|
|||||||
std::vector<WXML::EXPRLib::BNF>::_M_move_assign(&v1979);
|
std::vector<WXML::EXPRLib::BNF>::_M_move_assign(&v1979);
|
||||||
std::string::_M_dispose(&v1982, v969);
|
std::string::_M_dispose(&v1982, v969);
|
||||||
std::vector<WXML::EXPRLib::BNF>::~vector(&v1979);
|
std::vector<WXML::EXPRLib::BNF>::~vector(&v1979);
|
||||||
|
|
||||||
v1979 = 0;
|
v1979 = 0;
|
||||||
v1980 = 0;
|
v1980 = 0;
|
||||||
v1981 = 0;
|
v1981 = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user