文档章节

DSL 簡單介紹

Milos
 Milos
发布于 2014/01/29 01:36
字数 264
阅读 37
收藏 0
DSL

DSL 是Domain Specific Language的縮寫。

是指針對特定領域(Domain)而設計的語言,其中詞彙與語法,只描述做什麼而不進一步描述怎麼做的設計概念。

有些專門開發的語言是解讀DSL的,如sed,pic,tbl,yacc等等,小巧的語言只是專門解析特定用途的,無法擴展,這些符合DSL的設計。

1.外部DSL

透過專用的語言引擊來實現DSL,稱之外部DSL。

(1)XML以外部設定,讓Java可以讀取設定。
(2)SQL,學會了SQL就可以在不同語言領域引用而操做資料庫。
(3)正規表示式(Regular expression),不同的語言根據規則而實現。

2.內部DSL

在既有的語言內實現DSL,如Ruby可以藉助RakeFile 實現類似MakeFile的功能,也可以當成Ruby語言。

© 著作权归作者所有

共有 人打赏支持
Milos
粉丝 0
博文 1
码字总数 264
作品 0
台北
高级程序员
私信 提问
GPU相关资料(转自http://heresy.spaces.live.com/blog/cns!E0070FB8ECF9015F!3114.entry)

nVidia CUDA 簡介 (2007/10/31) 先針對 GPGPU 做簡單的介紹,然後再對 nVidia CUDA 本身軟體架構、程式執行架構、記憶體架構,做最基本的介紹。 版本演進 環境設定 nVidia CUDA API 簡單的 ...

长平狐
2012/10/16
161
0
QT Phonon详解

前言 Phonon嚴格來說其實非為Qt的library,Phonon原本就是KDE 4的開放原始碼多媒體API,後來與Qt合併與開發,所以簡單來說就是Qt使用Phonon這個多媒體框架來提供一般影音多媒體檔案的播放,而...

晨曦之光
2012/04/13
2.4K
1
无线安全利器--AirSnort

WEPCrack 是第一個公開宣稱的 WEP 破解的工具, 2001 年的 8 月, 差不多同時間公開的另一個工具 ─ AirSnort, 卻因媒體的介紹而廣為人知。 事實上, AirSnort 在操作上也較 WEPCrack 簡單, 圖形...

匿名
2009/07/01
4.4K
0
reCAPTCHA 簡易使用說明 與 PHP版 範例程式

reCAPTCHA 是什麼? 簡單說就是: "免費提供 驗證碼(Captcha) 功能的服務, 而且還可以幫忙典籍數位化的進行." reCAPTCHA 簡介 詳細的就不多說, 參考下述連結即可: reCAPTCHA - 維基百科,自由的...

华宰
2011/05/30
1K
0
撰寫跑馬燈/廣告輪撥的好工具:jQuery Cycle Plugin

jQuery 是我最常用的 JavaScript Library,而且外掛程式超多,有空的人是可以多上去看看有什麼新玩意,保證有許多驚喜!我大約是在一年前得知有 jQuery Cycle Plugin 這個 jQuery 外掛套件吧...

红薯
2009/01/11
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

new Date() 在Safari下的 Invalid Date问题

问题复现 var timeStr = '2018-11-11 00:00:00';var time = new Date(timeStr);// error: Invalid Date... 在safari浏览器下,time为Invalid Date, 导致后面代码执行错误; 其他浏览器诸...

会写代码的husky
15分钟前
2
0
0009-如何升级Cloudera Manager和CDH

1.文档编写目的 本文档讲述如何升级Cloudera Manager和CDH,通过本文档,您将学习到以下知识: 1.如何对Cloudera Manager进行停机升级 2.如何对CDH进行停机升级 3.如何在不影响集群作业的情况...

Hadoop实操
25分钟前
1
0
vue2中引用 better-scroll的方法

文章主要介绍了vue2中引用better-scroll和使用 better-scroll的方法,使用时有三个要点及注意事项在文中给大家详细介绍 ,需要的朋友可以参考下 使用时有三个要点: 一:html部分 <div class...

前端攻城老湿
35分钟前
1
0
浅谈教你如何掌握Linux系统

linux能做什么?相信绝大数人都有这样的疑问。可以玩吃鸡吗?可以玩lol吗? 如果你是以娱乐的名义来评价linux的可用性,对不起,linux可能不适合你,因为linux是一个工具,他是教你聪明的,不...

linuxprobe16
41分钟前
1
0
java中线程池的生命周期

线程池生命周期包括: RUNNING:接收新的任务并处理队列中的任务 SHUTDOWN:不接收新的任务,但是处理队列中的任务 STOP:不接收新的任务,不处理队列中的任务,同时中断处理中的任务 TIDYING:所...

小刀爱编程
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部