fa
fa语言是一款不容易误解、简单易学的编程语言。目前处于测试阶段,可以编译简单的功能代码。
qq交流群:1018390466 欢迎一起讨论语法/实现/轮子
TODO
- 自举
- 判断浮点数时误差处理
- 可空类型变量switch
- 类型switch
- 线程锁
- 标准库
目标
- 极简(编译器控制变量位于栈上、堆上、是否引用计数、是否原子化等)
- 安全(船新错误处理方案,确保能编译的代码无异常。ps:系统异常除外)
- 元编程(变量加上 "@" 前缀即代表编译期计算)
- 高性能(llvm ir后端输出,原生指令运行,simd优化)
- 所有权及释放(通通编译器处理)
- 强制开发范式(比如强制实现DDD模型)
进度
基于C++语言,Antlr前端,llvm binding API后端,实现初版fa语言编译器(废弃)- 基于C#语言,Antlr前端,C#后端,实现初版fa语言编译器
- Hello World (√)
- 可空类型(√)
- 类,对象,表达式,循环(√)
- 枚举类型(√)
- switch(√)
- 基于fa语言,fa前端,llvm ir后端,实现自举fa语言编译器
- 元编程
- 函数降级
- 状态机
- 继承
fa语言快排实现: