什么是DSL

什么是DSL转载 http blog csdn net dslztx article details DSL 的全称是 domain specificlang 它在 wiki 上的定义如下 Adomain specificlang DSL isacomputerl

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

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


参考文献:
[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/






































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202907.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:02
下一篇 2026年3月19日 下午11:02


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号