domain specific language
来源:互联网 发布:淘宝网商城儿童女装 编辑:程序博客网 时间:2024/05/21 22:55
领域专用语言(domain specific language / DSL)
首先给出Martin对DSL的定义:
Domain-Specific Language:A computer programming language of limited expressiveness focused on a particular domain
在计算机领域,DSL比比皆是,你可能用到过它但却毫不知情。从Windows里的ini配置文件, XML配置文件,到主流编程语言的正则表达式,它们都是DSL:聚焦一个特定的领域,极易读懂,功能很少,异常简洁。
为什么要用DSL?
就拿最最常用的正则表达式为例:"\d{3,4}-\d{6,8}",稍微有点编程经验的人立刻就能看出来这个诡异的串所代表的含义,如果需要做什么修改也是非常简单。想象一下如果用程序来实现这个正则表达式的功能(匹配一个电话号码)会是一件怎样的工作,再想想对这个程序进行阅读、修改或是扩展是一样怎样的工作,你就可以体会到正则表达式可以为程序员带来多大的便利。
内部DSL:用通用语言的语法表示DSL,需要安装某种风格使用这种语言。
外部DSL:在主程序设计语言之外,用一种单独的语言表示领域专有语言。可以是定制语法,或者遵循另外一种语法,如XML。
DSL---->解析器----->语义模型----->执行
| |
| |
| V
| 代码生成
V
代码生成
DSL---->解析器----->语义模型----->执行
| |
| |
| V
| 代码生成
V
代码生成
Crerated By 黄强
阅读全文
0 0
- DSL(Domain Specific language)
- domain specific language
- DSL(Domain Specific Language) 笔记
- DSL(domain specific language )
- Domain Specific Language(DSL)感想2
- Domain-Specific Language Tools DSL工具
- MDSF:DSL(Domain Specific Language)介绍
- DSL(Domain Specific language): How to get it
- DSL Domain-specific language 领域特定语言/领域专用语言
- How to Model and Implement a Domain Specific Language (DSL) for Functional Test Automation
- Domain-Specific Modeling
- Domain-Specific Languages
- Domain-Specific Languages
- 利用C++、scala等语言的运算符重载功能定制领域特定语言(DSL,Domain-Specific Language )
- Building Domain Specific Languages on the CLR
- Prefer Domain-Specific Types to Primitive Types
- Prefer Domain- Specific Types to Primitive Types
- Mule-specific expression language-MEL学习
- 欢迎使用CSDN-markdown编辑器
- Activity界面启动和结束动画(仿微信界面切换效果)
- Hadoop之HBase框架学习(笔记15)
- python新手必碰到的问题---encode与decode,中文乱码
- mac 配置java home
- domain specific language
- POJ2031 Building a Space Station
- 百练_2700:字符替换
- C++ QT中namespace使用?
- 堆和栈
- 在360浏览器中list-style-image发生右移问题
- R语言学习-问题解决-reached getOption("max.print")
- 方法调用实例
- C++ function、bind以及lamda表达式