代码之家  ›  专栏  ›  技术社区  ›  Jens Schauder

是否有设计DSL的设计指南、教程或模式?[关闭]

  •  2
  • Jens Schauder  · 技术社区  · 16 年前

    我不是在寻找框架或工具,而是在寻求如何从一个粗略的想法到一个好的DSL的建议。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Jeff Sternal    16 年前

    马丁·福勒的工作正在进行中” Domain Specific Languages “包括一个很好的例子 its introductory chapter (这本书的大部分内容都可以在线阅读)。伊斯 related bliki page 也值得一读,包括一些到其他资源的链接。

    在非福勒资料中,杰里米·米勒的模式与实践文章” Internal Domain Specific Languages “可在网上获得。(好吧,他不是 确切地 非福勒来源。)

        2
  •  1
  •   ftk    16 年前

    你的问题很开放,但很有趣。一般来说,您不仅要考虑应用程序字段,还要考虑要在设计中强制实施的属性。

    关于这个话题,有很多学术成果,希望下面的论文能让你开始学习:

    • “从程序系列到特定领域的语言”是一种试图揭示DSL设计过程的尝试。这是第一次 article 当我读到你的问题时,我想到了这一点,接下来的两个问题是相关的。
    • 要获得DSL的高级概述,请尝试“DSL:好的、坏的和丑的”,以及 paper 在面向对象编程系统语言和应用会议上;
    • “开发DSL编译器的生成式编程方法”使您从高级规范到DSL。这个 article 提供了一种基于生成式编程工具开发DSL编译器的方法,以及一个案例研究。

    希望这有帮助!

        3
  •  0
  •   deamon    16 年前

    有一个 DSL book from Martin Fowler (尚未出版)。

        4
  •  0
  •   Sid Heroor    16 年前

    我的建议是从内部DSL和外部DSL开始。Lisp和Ruby等语言使创建内部DSL变得容易。从内部DSL开始的好处是不必担心解析。它又快又容易。

    TCL是另一种非常容易创建DSL的语言。一切都是一根绳子!如果您使用tclkit,那么您可以将整个dsl+tcl包装成一个单独的可执行文件,并将其发送到任何地方。

        5
  •  0
  •   Adil Akhter    15 年前

    此外,您可能还需要查看Eelco Visser博士提供的模型驱动软件开发课程的内容,网址为 http://department.st.ewi.tudelft.nl/course/in4308 讨论了MDSD和DSL开发的各个方面。

    希望有帮助!

    干杯,

    阿迪尔

    推荐文章