【问题标题】:Good tutorials to understand Domain Specific Languages (DSLs) from the scratch , to start a survey thesis [closed]从头开始理解领域特定语言(DSL)的好教程,开始调查论文[关闭]
【发布时间】:2022-03-03 17:57:18
【问题描述】:

我的论文主题一般是关于特定领域的语言,我想专注于外部或内部 DSL 的设计或实现,但我什至无法思考或开始,因为我在理解 DSL 的概念方面遇到问题..

我已经阅读并收集了很多关于这个问题的论文和调查,但我认为所有这些都是高级的。我需要一个很好的教程(对于初学者)来从头开始理解 DSL 的整个概念和阶段..

我已经阅读了 Martin Fowler 的 DSL 第一章,Fowler 从他的书的第一页开始使用状态机和硬编程代码,问题是我一般不太擅长编程,我没有经验,我的论文将是一项关于没有编程工作的 DSL 的调查。到目前为止,我不知道应该关注什么,因为调查应该具体针对设计技术或设计或实施中的比较等领域,但因为我无法了解全局,我什至无法决定。关于这个问题的任何建议我也会非常感激。

请帮助我,非常感谢。我总是在这个很棒的网站上查看问题和答案,我相信我会在这里找到解决我噩梦问题的方法!

非常感谢

纳特

【问题讨论】:

  • 我不想给你带来麻烦,但如果你“不擅长编程”,这个话题(元元编程恕我直言)可能有点过分了。我建议您在 5 年的编码地狱中度过一段美好的时光,然后这些想法将受到更多赞赏。

标签: dsl-tools dsl


【解决方案1】:

This book is Bible 在我看来是 DSL 的。这本书在草稿时曾经是免费的。您还可以在那里找到其他学习资源。

通过这篇文章找到成功的 DSL。 This post 可能会帮助您识别各种风味和使用它们的各个领域。

【讨论】:

  • 非常感谢,实际上我一直在寻找那本书的 PDF 副本但我找不到.. 我读了它的第一章(网上免费)但仍然需要更多基本解释,因为 martin Fowler 从他的书的第一页开始使用状态机和硬编程代码,正如我所说,我一般的编程语言不是很好,这就是为什么我的论文只是一个非编程调查
【解决方案2】:

如果你想理解它,你会做很多工作,所以如果你不擅长编程,学习它或选择更容易的论文。

我写了关于模型驱动软件开发和领域特定语言的论文,甚至没有关于建模等方面的基本知识。这是可以完成的,但我花了很多时间阅读(我很喜欢)。

对于最基本的介绍,我推荐 se-radio.net 播客第 5 和第 6 集(...还有更多关于 MDSD/DSL 的更高级主题)。

【讨论】:

  • 非常感谢,是的,我不擅长编程,我的论文是关于对 DSL 进行调查,即对实现内部 DSL 或设计 DSL 的技术进行调查。我的编程知识很差,可以写我的调查吗?你能帮我在 DSL 中选择一些东西来开始阅读并写一份关于它的调查吗?我可以从现在开始阅读并且不需要非常好的编程知识的东西?我真的厌倦了阅读和阅读介绍,直到现在我不能只进入 DSL 中的特定内容来开始写作
  • 如果您想查看内部 DSL,您将必须了解不同的语言结构,如果您遇到编程问题,其中一些不是很容易 - 例如。元编程。要了解外部 DSL,您必须了解一些关于编译器和建模的知识,它们是概念性的东西,例如UML、OO 设计和编程,这是另一个关于编程的,但在更概念的层面上,这对你来说可能很有趣,但具有挑战性
  • 如果您对有关 DSL 的一些问题感兴趣,请查看一些会议记录、建模语言门户网站上的文章或查看 Markus Voelter 等人的一些论文。
【解决方案3】:

在阅读了他的 executive summary 之后,我会阅读 James Neighbors thesis。他是在定义“领域特定语言”的上下文中定义术语“领域分析”和“领域工程”的人。他还展示了一个程序生成系统 Draco,它基于这些想法生成了种类繁多的复杂应用程序代码。 (这篇论文比你想象的更易读,但希望看到一些真实的代码!)。

你也可以阅读some history on this topic,再一次,那些不知道自己历史的人注定要重蹈覆辙。

【讨论】:

    猜你喜欢
    • 2010-09-06
    • 2013-06-26
    • 2011-05-20
    • 2017-01-10
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多