言知项目后续方向建议
🔥 高优先级 — 立即可做
1. 修复 REPL(交互式环境) 目前 repl.py 已有雏形但用旧版 lexer/parser,且不支持多行输入。完善后可以方便地测试语言特性。
- 支持多行输入(块结构 :/结束)
- 命令历史(readline)
- 彩色错误输出
- Tab 补全
2. 模块/导入系统落地 runtime/module_loader.py 已存在,但还没集成到语言层面。实现 导入 "file.yan" 语法,让言知项目可以拆分为多个文件。
3. REPL + 模块系统 = 可用的开发体验 有了这两项,就能在 REPL 中 导入 模块进行快速开发迭代。
📦 中优先级 — 生态建设
4. 完善 LSP 服务器 lsp/server.py 已有诊断功能,可以扩展:
- 跳转定义(go-to-definition)
- 悬停提示(hover — 已有雏形)
- 自动补全
- 语义高亮
5. 标准库扩展
- math.yan — 数学函数(sin/cos/log 等)
- str.yan — 字符串工具(分割、替换、大小写等)
- http.yan — HTTP 客户端
6. 宏系统 runtime/macro_env.py 已存在。支持 宏 关键字可以在编译期做代码变换。
🚀 高影响力 — 性能 & 质量
7. 调试器
- 源码级断点
- 变量查看
- 调用栈追踪
8. 更多 VM 优化
- 常量折叠
- 死代码消除
- 内联缓存
9. 包管理器完善 pkg_manager.py 已有雏形。建立言知包生态(类似 npm/pip)。
🎯 我个人推荐
先做 REPL 完善 + 模块系统。这两项是"开发者体验"的基础,也是后续做 LSP、调试器、包管理的前提。做完后,言知就从"一个能自举的编译器"升级为"一个有实用价值的编程语言环境"。
实践
先做 REPL 完善 + 模块系统
输出
已完成的主要功能
潜在下一阶段方向
您提到要继续对话。以下是一些自然的方向:
- 类型检查器 — src/yanzhi/typechecker/ 目录已存在但似乎还是空的
- 自我托管 CLI — 用言知编译器编译自身并作为独立工具运行
- 标准库扩展 — 网络/HTTP、正则表达式、数学函数
- 代码优化 — Tokenizer 是目前最大瓶颈(占编译时间 60%+)
- 文档/教程 — 编写语言参考手册
您有什么具体想做的吗?或者有没有之前被打断的任务需要继续?
类型检查器
完成后输出
基于项目计划分析,以下是三个最合适的下一步方向:
推荐下一步
1. 🎯 模式匹配 匹配…情况…(语法模式,非关键字)
语言核心新特性。遵循"语法化"哲学——用虚词+标点构成语法模式,非新增关键字:
yanzhi
复制
匹配 x:
情况 0 那么 "零"。
情况 1 那么 "一"。
情况 n 如果 大 n 10 那么 "大于10"。
否则 "其他"。
结束。
实现工作量在 parser(新模式识别)、AST(新增 Match/Case 节点)、compiler_bc(生成 LOAD+JUMP 链)、typechecker、测试。
2. 🔧 言知语言报错信息增强(phase 3 未完成项)
自举编译器中的错误消息转为中文可读格式。运行时错误携带源码位置、美化显示。
3. 🚀 LSP 功能完善:跳转定义 + 自动补全(phase 4 P2)
从当前基础 LSP 扩展到真正的 IDE 体验——转到定义、查找引用、自动补全。
模式匹配是最具冲击力的新能力,能充分体现言知"语法模式"的核心理念。你倾向于哪个方向?
下一步 1. 🎯 模式匹配 匹配…情况…(语法模式,非关键字)
下一步
您提到要继续对话。以下是一些自然的方向:
- 类型检查器 — src/yanzhi/typechecker/ 目录已存在但似乎还是空的
- 自我托管 CLI — 用言知编译器编译自身并作为独立工具运行
- 标准库扩展 — 网络/HTTP、正则表达式、数学函数
- 代码优化 — Tokenizer 是目前最大瓶颈(占编译时间 60%+)
- 文档/教程 — 编写语言参考手册
您有什么具体想做的吗?或者有没有之前被打断的任务需要继续?
回答说从三个文档起步
前四项全部完成(或存在过度工程化),唯一真正需要做的事是文档——这是用户/贡献者上手的第一入口。一个连 README.md 都没有的项目,外面的人根本无法判断这是什么东西。
要我开始编写文档吗?建议从三个文档起步:
文档完成,有了新的任务!
