feat: 实现控制流语句并优化类型解析
- 新增了 ReturnStmt、BreakStmt 和 ContinueStmt 结构,以支持 AST 中的控制流。 - 引入了 TypeInfo 和 TypeContext 以实现更好的类型管理和解析。 - 对分析器进行了增强,能够处理函数定义和返回语句,包括类型检查和错误处理。 - 更新了编译器和解析器以适应新的控制流语句和类型解析逻辑。 - 重构了现有代码以提高清晰度和可维护性,包括对表达式和语句中的类型处理的更改。 - 删除了过时的 String 和 Struct 定义,代之以 StringObject 和 StructObject 以实现更好的对象表示。
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
/*!
|
||||
@file src/Object/FunctionObject.hpp
|
||||
@brief 函数对象定义
|
||||
@author PuqiAR (im@puqiar.top)
|
||||
@date 2026-02-28
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Object/ObjectBase.hpp>
|
||||
|
||||
|
||||
namespace Fig
|
||||
{
|
||||
// 运行时闭包对象 (24字节 Base + 8字节 Proto指针 = 32 bytes)
|
||||
|
||||
struct Proto;
|
||||
struct FunctionObject final : public Object
|
||||
{
|
||||
Proto *proto; // 指向编译器生成的只读字节码与常量池
|
||||
|
||||
// TODO: 实现闭包时 加一个 Upvalue 指针数组
|
||||
// Value* upvalues;
|
||||
};
|
||||
} // namespace Fig
|
||||
Reference in New Issue
Block a user