跳到主要内容
🚨 重要提示

本项目目前仍处于早期开发阶段,核心功能尚未完全实现,语法规范和工具链仍在持续完善中。

路线图

进度表

表格状态说明
标记含义标记含义标记含义标记含义
尚未开始🔜即将开始🔛正在进行中已完成
🕓排期中♾️时间待定需要确认🚫将不实现
🔧需要优化

语言设计与规划

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息
语言设计与规划语法设计🔛🔛//2025-01-03♾️
类型系统🔛🔛//2025-01-03♾️
高级特性//♾️♾️

核心工具链

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息
分析器实现 词法分析器 (Lexer)♾️♾️
实现 语法分析器 (Parser)♾️♾️
编译 / 解释器实现 语法检查♾️♾️
实现 语义分析♾️♾️
实现 中间代码生成♾️♾️
目标代码生成 (或直接解释执行)♾️♾️
编译优化常量折叠♾️♾️
循环展开♾️♾️
内联优化♾️♾️
其他优化♾️♾️
调试工具断点♾️♾️
变量监控♾️♾️
其他♾️♾️

生态

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息
标准库数据结构♾️♾️
I/O♾️♾️
网络通信♾️♾️
内置加密工具类♾️♾️参考 Crypto.
哈希散列:MD5、SHA1、SHA2、SHA3、RIPEMD-160
加解密:AES、DES、Rabbit、RC4、Triple DES
And more ...
内置 XML, JSON 解析库♾️♾️
更多♾️♾️
日志模块日志门面接口♾️♾️
日志分级与格式规范♾️♾️
并发模型设计进程调度机制♾️♾️
线程共享资源管理♾️♾️
协程切换优化♾️♾️
包管理器 & 依赖发布依赖♾️♾️
版本控制♾️♾️
依赖解析♾️♾️
依赖冲突♾️♾️
开发环境支持
Language Server Protocol(LSP)
(VSCode, IntelliJ)
语法高亮VSCode: 2025-01-10
IntelliJ: ♾️
♾️
代码补全♾️♾️
格式化工具♾️♾️
静态代码分析 Linter♾️♾️
其他♾️♾️

测试

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息
测试确定测试框架♾️♾️
单元测试♾️♾️
集成测试♾️♾️
性能基准测试♾️♾️
其他测试♾️♾️

文档与社区建设

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息
文档文档框架///2025-03-222025-03-22
语言规范♾️♾️
教程♾️♾️
API 文档♾️♾️
示例代码♾️♾️
交互式学习环境♾️♾️
社区贡献指南和代码规范🔧/2025-01♾️

后续维护迭代

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息

未来

工作项子工作项总体进度细节设计功能实现测试用例开始时间完成时间备注信息
主流开源项目驱动数据库驱动♾️♾️例如:MySQL, PostgreSQL, redis, SQLite, etc...
其他语言打通实现与其他语言互相调用♾️♾️例如:Java, TypeScript, Python, Go, etc...
实现自举(待确定)♾️♾️

内容描述

一、语言设计与规划

  1. 明确设计目标

    • 确定语言定位(通用型、领域专用型、教学型等)和核心特性(如静态类型/动态类型、编译型/解释型)。
    • 参考现有语言(如 Python 的简洁性、Rust 的内存安全特性),结合用户需求设计语言范式。
  2. 语法设计

    • 定义词法规则(标识符、关键字、运算符等)和语法结构(如 BNF 或 EBNF 范式),可通过工具如 ANTLR 生成解析器。
    • 示例:早期 Python 采用可读性强的缩进语法,显著降低学习门槛。
  3. 语义与类型系统

    • 设计类型系统(静态 / 动态、强类型 / 弱类型)和语义规则(如作用域、生命周期管理)。
    • 需考虑类型推导、泛型支持等高级特性。

二、核心工具链开发

  1. 词法分析器(Lexer)与语法分析器(Parser)

    • 使用工具如 Flex / Bison 或手动实现,将源代码转换为抽象语法树(AST)。
    • 示例:Rust 早期使用 LL(1) 文法解析器,后改为递归下降解析器以提高灵活性。
  2. 编译器/解释器实现

    • 前端:完成语法检查、语义分析和中间代码生成(如 LLVM IR)。
    • 后端:实现目标代码生成(如机器码、字节码)或直接解释执行。
    • 可选工具:LLVM 用于优化和跨平台支持,JVM/CLR 用于托管执行环境。
  3. 优化与调试工具

    • 编译优化:常量折叠、循环展开、内联优化等。
    • 调试器:集成断点、变量监控功能,参考 GDB 或 VS Code 调试协议。

三、生态与工具链扩展

  1. 标准库设计

    • 提供基础功能(如 I/O、数据结构),需兼顾通用性和性能。

    • 示例:Java 标准库涵盖集合框架、网络通信等模块。

      日志模块

      • 日志门面接口:定义统一的日志抽象层接口(类似 SLF4J),支持动态绑定不同日志实现(如文件、网络日志)
      • 日志分级与格式规范:实现 DEBUG/INFO/WARN/ERROR 多级日志体系,支持可扩展的格式化模板(如时间戳、线程 ID 等字段)
  2. 并发模型设计

    • 进程调度机制:实现进程间隔离、资源分配策略(如优先级调度),并支持 IPC 通信机制(管道、共享内存等)
    • 线程共享资源管理:设计线程锁(互斥锁、读写锁)、条件变量等同步原语,防止数据竞争和死锁问题
    • 协程切换优化:基于用户态调度的协程切换机制,支持异步 I/O 和纤程调度,减少上下文切换开销
  3. 包管理与依赖管理

    • 开发包管理器(如 npm、Cargo),支持版本控制、依赖解析和发布。
    • 需解决依赖冲突和安全性问题(如漏洞扫描)。
  4. 开发环境支持

    • 语法高亮、代码补全:为 IDE(如 VS Code、IntelliJ)开发插件。
    • 格式化工具(如 Prettier)、Linter(如 ESLint)提升代码质量。

四、测试与验证

  1. 测试框架

    • 单元测试:验证语言核心功能(如运算符行为、函数调用)。
    • 集成测试:模拟复杂场景(如并发、内存泄漏检测)。
  2. 性能基准测试

    • 对比主流语言(如 Python、Go)的执行效率,优化热点代码。
    • 工具:BenchmarkDotNet、JMH。

五、文档与社区建设

  1. 文档体系

    • 编写语言规范、教程和 API 文档,参考 Python 官方文档风格。
    • 提供示例代码和交互式学习环境(如 Jupyter Notebook)。
  2. 社区与最佳实践

    • 建立开源社区,制定贡献指南和代码规范。
    • 推广框架和工具链(如 Rust 的 Actix-web、Python 的 Django)。

六、后续维护迭代


七、未来

重构编程语言底层,实现自举