3

我需要一个 DSL,它具有一些已知的结构和很多仅在运行时结构中已知的结构。

例如:

test "name goes here"{
  description : """ description """
  create user {
    id : 1
    fn : """ x """
    ln : """ y """
  }
  assert user.name == "x"
  delete user { 
    id = 1
  }
  user1 = GET user (1)
  assert user1 == null
}

在上面的代码片段中,关键字test, create,GETdelete在 DSL/工具的开发过程中是已知的。但是,当用户在create. 我想下载一些模式文件(相反,我会下载模式作为我处理的第一步并缓存模式)并提供实体,其中用户是实体之一。当用户为属性调用内容辅助时,我再次查看实体定义和提供fnln作为可能的条目。

这对 Groovy 和 GDSL 可行吗?谢谢你

4

0 回答 0