7、DSL开发中的可变性支持与设计决策

DSL开发中的可变性支持与设计决策

1. 领域特定语言(DSL)的补充通用设计决策

基于通用设计理由(DR)进行设计决策时,需要建立一个可复用设计决策的清单。在DSL开发中,有一些与我们互补的设计决策集合。这些集合能从广度和深度上对设计决策空间进行额外覆盖,并且在我们的设计决策目录中有明确引用,方便DSL开发者筛选相关的通用DR。

下面简要总结两个与我们互补的DR集合:
- Zdun的Frag系统 :Frag是一个用于文本DSL的开发系统,它讨论了DSL开发的架构决策。其动机是支持在DSL初始设计阶段甚至之后推迟和重新审视重要的设计决策,例如内部与外部DSL语法的选择。
- DSL语言模型的实现方式
- 显式语言模型:元模型、模式定义(DTD、XML模式)、语法。
- 隐式语言模型:宿主语言类的包。
- 开发内部还是外部DSL :内部专用DSL、外部专用DSL、混合DSL。
- DSL行为的定义方式 :基于生成器的转换(模板、规则)、直接解释(脚本语言)、语法导向的宿主语言指令翻译。
- DSL与宿主语言的集成方式 :宿主语言扩展、宿主语言搭载、宿主语言特化、无集成(沙盒)。
- DSL中结构上下文条件的实现方式 :约束语言表达式、转换、宿主语言表达式、无上下文条件。
- Mernik等人的研究 :他们使用特定模式对影响DSL开发分析、设计和实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值