答案 0 :(得分:4)
DSL与SQL没有多大关系。
首先需要在纸上指定DSL。我强烈建议您在阅读有关编程语言的好书时。 (例如C.Queinnec的Lisp in Small Pieces)。
然后您需要将DSL实现为解释器。您将使用标准lexing,parsing和interpreters(或可能compiler)技术。很可能您需要使用或实施garbage collector(或使用Boehm's GC)。像ANTLR这样的解析器生成器可以帮助你。
并行共同设计和实施DSL通常是一种很好的工作方式。
你真的应该读几本书和在设计之前就几种语言的论文和实现自己的DSL。
实现这一目标的一种实用方法是将Lua之类的现有解释程序嵌入到您的应用程序中,或将您的应用程序嵌入到解释程序中,如{{ 3}}或ocaml
设计和实施一个好的DSL并非易事(几个月或几年的工作),并且需要一些计算机科学和技术。编程文化与知识。也许阅读像python这样的会议程序会对你有帮助。
除了C.Queinnec的书外,您还可以阅读DSL2011& Programming Languages: Principles and Paradigms (by Maurizio Gabbrielli & Simone Martini)& Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (by Tate)