#架构 #解析器 #设计 #Feakin #语言 #AI #DSL

fkl_ext_loader

Feakin 是一个架构设计和视觉协作工具。这是 Feakin 的解析器。

1 个不稳定版本

0.4.0 2022年11月10日

8#feakin

MPL-2.0 许可证

41KB
1K SLoC

Fklang

Build Crates.io codecov

灵感来源于 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
  • 基于合同的基础测试
    • 模拟服务器
    • 通过 HTTP API
  • 数据库集成:JPA、JDBC 等
    • 数据库集成
      • MySQL
      • PostgreSQL
    • 数据库模式生成
    • 数据库迁移
  • 插件系统
    • 插件 API
    • 插件注册
  • 简单表达式
    • 表达式
      • 逻辑表达式
      • 数学表达式
      • 等等。
    • 过滤器
    • REPL
    • ExprTk 与 Rust?
  • 模块支持
    • 模块依赖
    • 模块版本控制
  • 引导 DDD DSL
    • 使用类型系统来描述领域模型
  • 内部构建系统:缓存、增量构建等
    • 更好的代码生成
  • 通用编程语言(如果可能的话)
    • 函数支持
    • 表达式支持

许可证

@2022 本代码遵循MPL许可证分发。请参阅此目录中的LICENSE

依赖项

~1.5–2.6MB
~73K SLoC