zoukankan      html  css  js  c++  java
  • 什么是DSL

    转载: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

  • 相关阅读:
    【转】Windows7 下安装 JDK 7 时版本冲突问题解决
    【转】Android开发之旅:环境搭建及HelloWorld
    android开发板
    win7重装系统的配置步骤
    caffe 源码阅读
    caffe 源码阅读
    Python 图像处理: 生成二维高斯分布蒙版
    学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
    学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
    CMake 添加头文件目录,链接动态、静态库(添加子文件夹)
  • 原文地址:https://www.cnblogs.com/dhjy123/p/11981637.html
Copyright © 2011-2022 走看看