• 什么是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

  • 相关阅读:
    sharpen和filter2D
    Changing the contrast and brightness of an image!(opencv对比度和亮度调节)
    人脸表情识别
    Pycharm下载和安装
    Anaconda下载与安装
    图像人脸检测+人眼检测 (opencv + c++)
    cv2.VideoWriter()指定写入视频帧编码格式
    python_openCV例程遇到error: (-215) !empty() in function cv::CascadeClassifier::detectMultiScale的简单解决方法
    图像处理库 Pillow与PIL
    IDE bulid构建隐藏了什么(预处理->编译->汇编->链接)
  • 原文地址:https://www.cnblogs.com/dhjy123/p/11981637.html
Copyright © 2020-2023  润新知