2

我试图解决的问题是自定义类似于SQL的DSL的编辑器,该编辑器要求用户输入属性的唯一标识符而不是正确的详细标题。想想像/ obj/12075f8459499而不是人类可读的“firstName”。有问题的应用程序在网络上,我想为用户提供一个很好的编辑器,它隐藏了具有唯一URI的对象的实现细节。如何在网络上为自定义DSL设计丰富的编辑器

我把它想象成一个内容可编辑的DIV,如果你开始输入一个字符串,这也是一个属性标题的开始,你将会看到一个下拉列表来确认这个属性的确是你的想法。选择一个项目后,将插入一个占位符,然后应用程序知道如何序列化为我的DSL语法。您还可以从边栏列表中选择要插入可编辑区域的属性。

我的问题是如何解析用户输入,以使得生成的界面合理地响应。我应该从定义语法开始,然后解析输入,还是应该开始寻找其他地方?看起来像这样的问题已经在许多应用程序中解决了,所以我正在寻找如何实现这一点的指针。

注意:我还需要对语言进行语法高亮处理,因此无论如何某种语法可能必须存在。

+0

许多突出显示语言语法的emacs软件包都包含您可以阅读的源代码。这会给你一些他们如何解决问题的想法。 – VSOverFlow 2012-07-15 08:48:04

回答

0

最后我跟着使用CodeMirror JavaScript编辑器。它能够标记一系列文本,并用其他一些HTML标记表示,这一点非常有用。我用这个来代替URI来显示“友好”的对象名称。

相关问题