[Feat] 模块系统支持,使用 import x.x.x导入

[Fix] Context内部辅助函数修改, getStructName ....
[Feat] 增加字符串下标获取操作,和修改字符操作,实现使用了第四点的函数
[Impl] FString添加新方法 getRealChar, realReplace
[Fun] 在utf8_iterator中辱骂了C++
This commit is contained in:
2025-12-26 20:47:57 +08:00
parent 6e1df63507
commit 00240f1ed1
21 changed files with 578 additions and 140 deletions

View File

@@ -28,9 +28,7 @@ namespace Fig
Context(const Context &) = default;
Context(const FString &name, ContextPtr p = nullptr) :
scopeName(name), parent(p) {}
Context(const FString &name, std::unordered_map<FString, TypeInfo> types, std::unordered_map<FString, std::shared_ptr<VariableSlot>> vars, std::unordered_map<FString, AccessModifier> _ams) :
scopeName(std::move(name)), variables(std::move(vars)) {}
void setParent(ContextPtr _parent)
{
parent = _parent;
@@ -120,7 +118,7 @@ namespace Fig
}
else if (parent != nullptr)
{
parent->set(name, value);
parent->_update(name, value);
}
else
{
@@ -191,7 +189,7 @@ namespace Fig
}
else if (parent)
{
return parent->getFunctionName(id);
return parent->getStructName(id);
}
else
{