1 个不稳定版本
0.4.0 | 2022年11月10日 |
---|
#2882 在 解析器实现
在 2 crate 中使用
33KB
991 行
Fklang
灵感来源于 Forming,但过于复杂。所以我决定使用 TypeFlow 重新编写它。
Fklang,一个基于软件开发工业化思想设计的架构 DSL。通过显式化的软件架构设计,以确保软件系统描述与实现的一致性,并探索结合 AI 代码生成。
试用:Feakin 快速入门
规范:Feakin 规范
安装
cargo install fkl_cli
模块
- 解析器
- fkl_mir. fklang 的中间表示
- fkl_parser. fkl 的解析器
- fkl_parser_wasm. fkl_parser 的 wasm 封装版本
- CLI. 代码生成器和 IDE 支持的 CLI
- fkl_cli. fkl 的 CLI,如 code_gen、dot_gen 等
- LSP. 语言服务器协议,用于 IDE/编辑器支持
- fkl_lsp. fkl 的语言服务器
- CodeGen. fkl 的代码生成器
- fkl_codegen_dot. 从 fkl 源生成 Graphviz dot 语言
- fkl_codegen_java. 从 fkl 源生成 Java 代码
- 插件系统
- fkl_ext_loader. 加载 fkl 的外部插件
- fkl_ext_api. 外部插件的 API
- 插件
- ext_kafka. kafka 插件
- ext_computing. 计算插件
- ext_codegen_aws. aws 代码生成插件
- ext_sourceset_swagger. swagger 插件
路线图
- DSL 设计
- IDEA 插件
- 代码生成
- 与 Spring
- 控制器
- DDD
- 与 Spring
- 基于合同的测试
- 模拟服务器
- 与 HTTP API
- 数据库集成:JPA、JDBC 等
- 数据库集成
- MySQL
- PostgresSQL
- 数据库模式生成
- 数据库迁移
- 数据库集成
- 插件系统
- 插件 API
- 插件注册
- 简单表达式
- 表达式
- 逻辑表达式
- 数学表达式
- 等。
- 过滤器
- REPL
- ExprTk 与 Rust?
- 表达式
- 模块支持
- 模块依赖
- 模块版本
- 启动 DDD DSL
- 使用类型系统描述领域模型
- 内部构建系统:缓存、增量构建等
- 更好的代码生成
- 通用编程语言(如果可能)
- 函数支持
- 表达式支持
许可证
@2022 本代码在 MPL 许可证下分发。请参阅此目录中的 LICENSE
。
依赖关系
~1.4–2.3MB
~71K SLoC