【发布时间】:2017-05-08 15:45:55
【问题描述】:
我想知道是否有人对如何为 Python 的 DSL 创建编辑器/gui 有想法。
所以我有一个语法(基于 textX 项目)和一个解释我的 DSL 语法的类。但是我想为我自己的 DSL 的语法创建一个具有自动完成和语法高亮的编辑器。
有可能吗?
我进入了 Qscintilla 的 PySide,但我有点迷茫,这似乎不合适。 此外,DSL 作为一个概念还很新,所以网上几乎有 0 个文档,这就是我在这里的原因(你永远不知道!)
编辑:^对不起,显然我正在触发每个人关于这句话的内容。我的错,我对 DSL 还很陌生,我想说,与 Java 相比,用 Python 开发 DSL 几乎没有什么(使用 Eclipse 建模......)
Cya!
【问题讨论】:
-
“DSL 作为一个概念是相当新的”——这根本不是真的。它有几十年的历史了。
-
好吧,我不确定 DSL 的历史是我的问题的主题:⁾
-
@tricky 你在一个人们用来学习新事物的网站上发布了一些事实。如果不正确,指出这是一个很好的评论案例。
-
是的,抱歉,但与您的回答相比,只说这个就走开是非常令人沮丧的:您回答我并纠正我的错误,所以感谢您@Viraptor
-
可能是重复的:stackoverflow.com/q/1547782/4996248 请注意,Python 已经被解释过了。当您在 Python 中实现 DSL 时,您会在解释器中运行一个解释器,这将对性能产生明显影响。这无疑是在 Java 中更容易找到实现 DSL 的资源的主要原因之一——在许多方面,使用编译语言来实现 DSL 更有意义。