Skip to content

Auto语言发布v0.1版 ​

rust
print("Hello, Auto v0.1!")

Auto语言发布v0.1版啦!

Auto语言是一门跨生态的“融合语言”,基本理念是:

  • 语言即系统(Language as OS):微内核、模块化、多外设。
  • 面向场景(Scenario Oriented):面向不同场景,提供所需的语言特性。
  • 动静结合(Dynamic+Static):动态和静态类型相辅相成,动态解释和静态编译有机结合。
  • 生态融合(Ecosytem Fusion):面向C、Rust、Javascript、Python等多个生态。

Auto语言应用在汽车行业,未来会不断探索,拓宽边界。

Auto语言的远景目标是“万物自动化”(One Lang to Rule Them All)。

下面是AutoLang相关的仓库:

Auto语言的语法概览和应用场景,可以参考仓库的README页面。

欢迎大家关注。

版本内容 ​

v0.1版是Auto语言的第一个版本, 对Auto语言大部分基本语法进行了探索, 并对Auto生态进行了初步尝试。

v0.1版的成果有:

  1. 实现了绝大多数基本语法,包括:
    • 基本数据类型(int, uint, byte, bool, float, str)
    • 复合数据类型(数组、对象、节点、网格)
    • 控制流(if-else, for, when)
    • 函数(fn)
    • 类与方法(type)
    • 接口(spec)
    • 组合模式(has)
    • 编译器运算(基于解释器实现)
    • 模块化(mod)
  2. 最简单的标准库:
    • str
  3. 解释器:类似python解释器,可以交互式运行Auto代码。
  4. 转译器:
    • C: 转译成C语言。
    • Rust:转译成Rust语言。
  5. 编译工具和包管理器AutoMan:
    • Auto语言本身作为配置语言
    • 支持Auto语言和C语言的混合工程
    • 支持基于Auto语言配置的工程依赖管理
    • 支持依赖下载和硬件SDK下载
    • 支持cmake、IAR、GHS等编译环境的工程搭建
  6. UI库AutoUI:
  7. 代码生成工具AutoGen:
    • 可以依赖Auto语言生成任意格式的文本,如XML、HTML、C代码等。

总体而言,v0.1版完成了”可行性探索“的基本任务, 并做出了AutoMan和AutoUI两个基本工具, 能够给C语言主项目提供一定的帮助了。

现在Auto语言还处于”实验调试“(PreAlpha)阶段,各种基本的特性都不稳定, 所以并不建议大家使用,看看就好。相信下一版就能有很大的改善。

发布这个版本,是因为基本完成了调研和原型任务,并开发出了两个初步能用的生态工具, 也算是立下了第一块里程碑。千里之行,始于足下!

接下来的重点任务,是在团队内引入这两个工具,真正用起来。

未来规划 ​

v0.2版预计在6月份发布,计划增加以下功能:

  1. 编译器:
    • 完整的C和Rust转译:将所有的Auto语言都转译成C和Rust
    • Javascript转译:配合AutoUI,可以生成Vue.js的界面
    • Python转译:可以调用Python的AI库
  2. 标准库初步成型:
    • io:提供文件读写功能。
    • math:提供常见的数学函数。
    • str:完善的字符串处理功能,包括对unicode的支持
    • data:类似numpy/pandas的数据处理库
    • net: 基本的网络库,初步实现(CAN/LIN)网络。
  3. AutoUI基本可用:
    • 实现大部分常用的UI组件
    • 业务级别的UI组件包
    • 基于AutoUI开发几款应用:
      • AutoMan的UI界面
      • 类似JupyterNotebook的交互式开发环境
    • 基于Vue.js的web端输出,做到和桌面输出显示效果哦一致。
  4. 完善的AutoMan
    • 用于公司内的C语言工程的编译构建管理。
    • 添加AutoTest功能,完善C语言的测试框架。
    • 添加AutoDoc功能,生成C语言代码的文档。
    • 应用安装功能。
    • 添加UI界面。
  5. AutoShell:跨平台的通用命令行。
    • 结合Shell和Auto的语法
    • 基于nushell实现
  6. AutoIDE:
    • LSP支持
    • 基于Zed或VScode实现
    • Auto->tree-sitter支持
    • 基于Auto语言的IDE插件系统
  7. 文档:
    • Auto语言官方教程
    • 标准库文档
    • AutoUI/AutoMan/AutoShell相关的文档

到时候Auto语言语法和标准库基本确立,语言生态也初具雏形,就可以广邀群豪,共创大业了。

Released under the MIT License.