DSL

DSL

En d'autres termes

Domain-Specific Language

Définition

Un DSL est un "petit" langage, pas nécessairement complet au sens de Turing, et qui facilite la réalisation d'une classe de tâches particulières au détriment de la généralité. Il peut aussi bien être un langage déclaratif, comme HTML SVG ou le langage de GraphViz, que destiné à l'exécution, comme celui des expressions régulières (voir regexp).

Ainsi, les expressions régulières consituent un DSL implémenté dans de nombreux autres langages, de même que SQL, qui illustre qu'un DSL n'est pas nécessairement petit dans l'absolu, dans la mesure où sa spécification complète est volumineuse, mais petit par rapport aux langages de développement d'applications au sein desquels il est invoqué.

Bien que le concept soit ancien, dans la mesure ou de nombreux L3G incluent un accès à SQL ou aux expressions régulières, la formalisation du concept est apparue dans le monde Ruby, facilité par le "poetry mode" de la grammaire Ruby, et notamment popularisée par Martin Fowler, auteur d'un livre de référence sur les DSL.

Internal DSL / External DSL

Un DSL peut être "interne" (internal DSL) lorsqu'il est entièrement défini dans la grammaire d'un autre langage, comme c'est le cas de Rake, ou "externe" (external DSL) lorsqu'il dispose de sa grammaire propre, comme CSS, qui définit un langage et une logique de formatage orthogonale aux langages dans lesquels il est référencé, et en particulier HTML et SVG.

Get started with Drupal 7

Marques les plus citées

toutes les marques

acheter sur OSInet

Accès direct

Recherche

Le mot du jour

BSOD

Blue Screen Of Death

in | |

cf Ecran bleu 

Syndiquer le contenu

Dernières définitions

Chrome - Chromium - digitaalisen kuilun - ghetto sharding - HTTP - MongoDB - PNaCl - QUIC - Skia - SPDY

Un mot au hasard

RFS : Remote File System  

Alertes CERTA