feat: 增加了analyzer, compiler不再分析并且报错, 只生产 bytecode, analyzer作为前端结束最后一道防线检查代码,同时引入一个简单的LSP

This commit is contained in:
2026-02-23 19:57:28 +08:00
parent 852dd27836
commit b7bb889676
28 changed files with 26665 additions and 3153 deletions

View File

@@ -9,6 +9,8 @@
#include <Core/SourceLocations.hpp>
#include <Deps/Deps.hpp>
#include <Sema/Type.hpp>
#include <cstdint>
namespace Fig
@@ -49,6 +51,10 @@ namespace Fig
struct Expr : public AstNode
{
TypeTag resolvedType = TypeTag::Any;
// TODO: 可选的常量折叠
// 拓展 isConstExpr和 constValue槽位
Expr()
{
type = AstType::Expr;