首页 > 其他 > 详细

什么是DSL

时间:2019-12-04 13:52:12      阅读:102      评论:0      收藏:0      [点我收藏+]

转载:http://blog.csdn.net/dslztx/article/details/46682889

DSL的全称是domain-specific language,它在wiki上的定义如下:
A domain-specific language (DSL) is a computer language specialized to a particular application domain.
与之相对的是GPL(general-purpose language)。
DSL指的是针对特定应用领域而设计使用的计算机语言,而GPL指的是针对跨应用领域而设计使用的计算机语言。
常见的DSL有:HTML,Shell,make语言,ant语言,maven语言,rpm语言,dpkg语言,awk语言,正则表达式,dc计算机语言等,有些DSL语言又被称为微型语言
常见的GPL有:Java,C等


另外在Apache Storm中有Coljure DSL,Python DSL,Ruby DSL等
这里的DSL指的是为了使用Coljure,Python,Ruby等语言开发Storm应用程序而设计的语言
举例来说,现在我们设计了Coljure DSL,我们想要使用Coljure语言开发Storm应用程序,我们只需按照Coljure DSL的规范,进行一些配置,Coljure DSL会自动解析这些配置,生成采用Coljure语言编写的Storm应用程序


另外还有一个来自于网上的例子:[3]
如果我们要分析列出2011年11月20日之后商务型和个人用的13、14、15寸的A品牌笔记本的交易额,不计入价格大于10000的13寸笔记本。


那么我们定义一个DSL语言:
SUM(表. 交易额)
大小: 13寸,14寸,15寸
用途:商务型和个人用
品牌: A
Filter:日期>2011-11-20
Without: 大小=13 and 价格 >10000


DSL会解析这个命令,然后读取数据结构和地址等配置文件,然后生成数据分析的代码。


备注:
DSL的另外一个意思:Digital Subscriber Line
GPL的另外一个意思:GNU General Public License  自由软件基金会(GNU)  通用公共许可证


参考文献:
[1]:https://en.wikipedia.org/wiki/Domain-specific_language
[2]:https://en.wikipedia.org/wiki/General-purpose_language
[3]:http://blog.csdn.net/larrylgq/article/details/7299481

什么是DSL

原文:https://www.cnblogs.com/dhjy123/p/11981637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!