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
9cc0ee2e3c
commit
57f28cca62
@ -150,10 +150,11 @@ namespace WXML {
|
|||||||
a3 << "undefined";
|
a3 << "undefined";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
WXML::EXPRLib::ExprSyntaxTree v70;
|
// WXML::EXPRLib::ExprSyntaxTree v70;
|
||||||
v70.offset_0 = v85;
|
// v70.offset_0 = vp.offset_80->offset_0;
|
||||||
|
// v70.offset_52.push_back();
|
||||||
// v70.offset_0 = v77[i].offset_4;
|
// v70.offset_0 = v77[i].offset_4;
|
||||||
v70.RenderAsOps(a3, v85, v77_b);
|
vp.offset_80->RenderAsOps(a3, v85, v77_b);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -19,10 +19,12 @@ namespace WXML
|
|||||||
if (a2 == "false")
|
if (a2 == "false")
|
||||||
{
|
{
|
||||||
a1 << WXML::EXPRLib::OPShort::CONST << ",false";
|
a1 << WXML::EXPRLib::OPShort::CONST << ",false";
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (a2 != "$global")
|
if (a2 != "$global")
|
||||||
{
|
{
|
||||||
a1 << WXML::EXPRLib::OPShort::NAME << ",'" << a2 << "'";
|
a1 << WXML::EXPRLib::OPShort::NAME << ",'" << a2 << "'";
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
a1 << WXML::EXPRLib::OPShort::CS_GLOBAL;
|
a1 << WXML::EXPRLib::OPShort::CS_GLOBAL;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,8 @@ namespace WXML
|
|||||||
{
|
{
|
||||||
a2 << WXML::EXPRLib::OPShort::CONST << ",'";
|
a2 << WXML::EXPRLib::OPShort::CONST << ",'";
|
||||||
std::string v6 = this->offset_24.GetLiteral();
|
std::string v6 = this->offset_24.GetLiteral();
|
||||||
// WXML::Rewrite::ToStringCode(v6.size(), ,a2);
|
// this->off
|
||||||
|
WXML::Rewrite::ToStringCode(v6.data() + 1, v6.length() - 2,a2);
|
||||||
const char off_5542FA[] = {'\'','\0','[','\0'};
|
const char off_5542FA[] = {'\'','\0','[','\0'};
|
||||||
a2 << off_5542FA;
|
a2 << off_5542FA;
|
||||||
}
|
}
|
||||||
@ -57,26 +58,26 @@ namespace WXML
|
|||||||
{
|
{
|
||||||
if (this->offset_0 == "OP_PATH")
|
if (this->offset_0 == "OP_PATH")
|
||||||
{
|
{
|
||||||
// if (this->offset_52.size() != 1)
|
if (this->offset_52.size() != 1)
|
||||||
// {
|
{
|
||||||
// a2 << "]";
|
a2 << "]";
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::GET_FROM_ENV << "],";
|
a2 << "[" << WXML::EXPRLib::OPShort::GET_FROM_ENV << "],";
|
||||||
|
|
||||||
WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[0]->RenderAsOps(a2, a3, a4);
|
||||||
a2 << "]";
|
a2 << "]";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this->offset_0 == "OP_LIST")
|
if (this->offset_0 == "OP_LIST")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::MAKE_LIST << "],";
|
a2 << "[" << WXML::EXPRLib::OPShort::MAKE_LIST << "],";
|
||||||
// if (this->offset_52.size() == 0)
|
if (this->offset_52.size() == 0)
|
||||||
// {
|
{
|
||||||
// a2 << "]";
|
a2 << "]";
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[0]->RenderAsOps(a2, a3, a4);
|
||||||
a2 << "]";
|
a2 << "]";
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -84,45 +85,46 @@ namespace WXML
|
|||||||
if (this->offset_0 == "OP_LIST_CONCAT")
|
if (this->offset_0 == "OP_LIST_CONCAT")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::CON_LIST << "]";
|
a2 << "[" << WXML::EXPRLib::OPShort::CON_LIST << "]";
|
||||||
// for (int i = 0; i < this->offset_52.size(); i++)
|
for (int i = 0; i < this->offset_52.size(); i++)
|
||||||
// {
|
{
|
||||||
// a2 << ",";
|
a2 << ",";
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[i]->RenderAsOps(a2, a3, a4);
|
||||||
// }
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (this->offset_0 == "OP_DICT_CONCAT")
|
else if (this->offset_0 == "OP_DICT_CONCAT")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::UNION_KV << "]";
|
a2 << "[" << WXML::EXPRLib::OPShort::UNION_KV << "]";
|
||||||
// for (int i = 0; i < this->offset_52.size(); i++)
|
for (int i = 0; i < this->offset_52.size(); i++)
|
||||||
// {
|
{
|
||||||
// a2 << ",";
|
a2 << ",";
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[i]->RenderAsOps(a2, a3, a4);
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
else if (this->offset_0 == "OP_MAKE_DICT")
|
else if (this->offset_0 == "OP_MAKE_DICT")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::MAKE_KV << "],'";
|
a2 << "[" << WXML::EXPRLib::OPShort::MAKE_KV << "],'";
|
||||||
// this->offset_52.offset_24;
|
const char off_5542FA[] = {'\'','\0','[','\0'};
|
||||||
// a2 << ;
|
a2 << off_5542FA;
|
||||||
a2 << "',";
|
std::string v18 = this->offset_52[0]->offset_24.GetLiteral();
|
||||||
// if (this->offset_52.size() == 0)
|
a2 << v18 << "',";
|
||||||
// {
|
if (this->offset_52.size() <= 1)
|
||||||
// a2 << "[" << "[7],";
|
{
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
a2 << "[" << "[7],";
|
||||||
// a2 << "]";
|
this->offset_52[0]->RenderAsOps(a2, a3, a4);
|
||||||
// }
|
a2 << "]";
|
||||||
// else
|
}
|
||||||
// {
|
else
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
{
|
||||||
// }
|
this->offset_52[0]->RenderAsOps(a2, a3, a4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (this->offset_0 == "OP_EXPAND")
|
if (this->offset_0 == "OP_EXPAND")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::EX_DICT << "],";
|
a2 << "[" << WXML::EXPRLib::OPShort::EX_DICT << "],";
|
||||||
WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[0]->RenderAsOps(a2, a3, a4);
|
||||||
|
|
||||||
a2 << "]";
|
a2 << "]";
|
||||||
return;
|
return;
|
||||||
@ -131,22 +133,22 @@ namespace WXML
|
|||||||
if (this->offset_0 == "OP_DICT")
|
if (this->offset_0 == "OP_DICT")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::GET_NAME << "]";
|
a2 << "[" << WXML::EXPRLib::OPShort::GET_NAME << "]";
|
||||||
// for (int i = 0; i < this->offset_52.size(); i++)
|
for (int i = 0; i < this->offset_52.size(); i++)
|
||||||
// {
|
{
|
||||||
// a2 << ",";
|
a2 << ",";
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[i]->RenderAsOps(a2, a3, a4);
|
||||||
|
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
else if (this->offset_0 == "OP_FUNC")
|
else if (this->offset_0 == "OP_FUNC")
|
||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::DO_FUNC << "]";
|
a2 << "[" << WXML::EXPRLib::OPShort::DO_FUNC << "]";
|
||||||
// for (int i = 0; i < this->offset_52.size(); i++)
|
for (int i = 0; i < this->offset_52.size(); i++)
|
||||||
// {
|
{
|
||||||
// a2 << ",";
|
a2 << ",";
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[i]->RenderAsOps(a2, a3, a4);
|
||||||
|
|
||||||
// }
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -157,14 +159,14 @@ namespace WXML
|
|||||||
{
|
{
|
||||||
a2 << "[" << WXML::EXPRLib::OPShort::AOP;
|
a2 << "[" << WXML::EXPRLib::OPShort::AOP;
|
||||||
a2 << ",'" << this->offset_0 << "'],";
|
a2 << ",'" << this->offset_0 << "'],";
|
||||||
// for (int i = 0; i < this->offset_52.size(); i++)
|
for (int i = 0; i < this->offset_52.size(); i++)
|
||||||
// {
|
{
|
||||||
// if (i)
|
if (i)
|
||||||
// {
|
{
|
||||||
// a2 << ",";
|
a2 << ",";
|
||||||
// }
|
}
|
||||||
// WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(a2, a3, a4);
|
this->offset_52[i]->RenderAsOps(a2, a3, a4);
|
||||||
// }
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// RenderAsOps - 15
|
// RenderAsOps - 15
|
||||||
|
@ -109,6 +109,7 @@ namespace WXML
|
|||||||
|
|
||||||
std::string v18 = v84.GetTokenName();
|
std::string v18 = v84.GetTokenName();
|
||||||
v80->offset_0 = v18;
|
v80->offset_0 = v18;
|
||||||
|
v80->offset_24 = v84;
|
||||||
this->offset_40.push_back(v80);
|
this->offset_40.push_back(v80);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -140,7 +141,6 @@ namespace WXML
|
|||||||
return 1002;
|
return 1002;
|
||||||
}
|
}
|
||||||
auto v21 = this->offset_40.back();
|
auto v21 = this->offset_40.back();
|
||||||
this->offset_40.pop_back();
|
|
||||||
this->offset_40.push_back(v78);
|
this->offset_40.push_back(v78);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ namespace WXML {
|
|||||||
{
|
{
|
||||||
void ToStringCode(char const* src, int len, std::stringstream &ss)
|
void ToStringCode(char const* src, int len, std::stringstream &ss)
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < len; i++)
|
for (int i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
char v4 = src[i];
|
char v4 = src[i];
|
||||||
if ( v4 == '\''/*39*/ )
|
if ( v4 == '\''/*39*/ )
|
||||||
|
@ -27791,8 +27791,13 @@ int __thiscall WXML::EXPRLib::ExprSyntaxTree::RenderAsOps(int *this, int a2, int
|
|||||||
{
|
{
|
||||||
v5 = std::operator<<<std::char_traits<char>>(v44, WXML::EXPRLib::OPShort::CONST);
|
v5 = std::operator<<<std::char_traits<char>>(v44, WXML::EXPRLib::OPShort::CONST);
|
||||||
std::operator<<<std::char_traits<char>>(v5, ",'");
|
std::operator<<<std::char_traits<char>>(v5, ",'");
|
||||||
|
// this[9] -> this->offset_24->offset_12 -> v6
|
||||||
|
// +4 -> length
|
||||||
lpuexcpta = (struct _Unwind_Exception *)(*(_DWORD *)(this[9] + 4) - 2);
|
lpuexcpta = (struct _Unwind_Exception *)(*(_DWORD *)(this[9] + 4) - 2);
|
||||||
v6 = WXML::EXPRLib::Token::GetLiteral(v37);
|
v6 = WXML::EXPRLib::Token::GetLiteral(v37);
|
||||||
|
/**
|
||||||
|
* a2 stringstream
|
||||||
|
*/
|
||||||
WXML::Rewrite::ToStringCode((int)(v6 + 1), (int)lpuexcpta, a2);
|
WXML::Rewrite::ToStringCode((int)(v6 + 1), (int)lpuexcpta, a2);
|
||||||
std::operator<<<std::char_traits<char>>(v44, (char *)off_5542FA);
|
std::operator<<<std::char_traits<char>>(v44, (char *)off_5542FA);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user