关于DSL的理解
2020-07-01 本文已影响0人
only_run
什么是DSL
DSL是专门领域语言,相当于通用编程语言而言 解决某一范围内的问题;例如:java,kotlin能够开发android项目,但是正则只能够在项目中匹配字符串,sql只能够查询数据,而不能用来开发android项目;
DSL语言 非常简洁,贴近日常习惯,语义化非常强;
例如:kotlin中可以这样用
val yesterday = 1 days ago
更多细节可参考此库:kxdate
DSL分类
DSL 分为外部DSL和内部DSL
- 外部DSL:语言自身实现编译(解释)
- 内部DSL:依赖于宿主语言的编译(解释)
参考前端 DSL 实践指南
Kotlin之美DSL
DSL 能搞使编程语言 执行语意化的代码,更加容易被理解;当然前提是 编程语言本身支持DSL或者提供DSL编译解释的支持