Tree 是否有一个“问题”;树结构编辑器“;口齿不清?
我听说S表达式可以表示为树;例如Tree 是否有一个“问题”;树结构编辑器“;口齿不清?,tree,editor,lisp,structure,Tree,Editor,Lisp,Structure,我听说S表达式可以表示为树;例如(f1(g2)3)as . . . . . f 1 . 3 [first level] g 2 [second level] 是否有一个编辑器(最好是免费的)可以直接编辑这种结构?这会 避免“所有那些括号” 展示我对lisp的理解 据我所知(维基百科的文章也证实了这一点),它被用于。我不知道现在有哪种通用Lisp的结构编辑器被广泛使用,但也许有一些我不知道的地方。
(f1(g2)3)
as
.
. . . .
f 1 . 3 [first level]
g 2 [second level]
是否有一个编辑器(最好是免费的)可以直接编辑这种结构?这会
(此外,我认为Interlisp使用此选项的原因与去掉括号无关,例如,注释可能有问题。)S表达式表示树,而不是相反。使用换行符格式化的示例:
(f 1
(g 2)
3)
它表示以下cons树:
+---+---+ +---+---+ +---+---+ +---+---+
--->| f | ----->| 1 | ----->| ¦ | ----->| 3 |NIL|
+---+---+ +---+---+ + ¦ +---+ +---+---+
v
+---+---+ +---+---+
| g | ----->| 2 |NIL|
+---+---+ +---+---+
这同时也是程序的实际抽象语法树,其他语系的编译器必须根据复杂的规则来构造
对于编辑,括号是您和您的编辑器在树级别上操作所需的全部内容。在Emacs中,它是paredit模式,但我猜其他编辑器也有类似的实用程序或插件。Emacs的模式本质上是结构化编辑器
此外,在中,Gomolka&Humm提到了一个为Eclipse扩展的研究原型,但我不知道有什么可下载的实现。
我们正在努力让你(一个通用的树结构编辑器)
从树到源代码的转换非常简单,所以真正缺少的只是更多的深度(银杏目前仅限于3个级别)
[这仍然是非常实验性的,所以我希望Lisp专家提供反馈和输入。]如果我能找出如何将Pascal的程序集成到emacs中,我想Pascal的程序可能会很有用。不过,它并不是我想要的树编辑器,所以我想我应该暂时保留这个问题。我承认,即使在谷歌上搜索了一下,我也不太理解Interlisp;它是Lisp机器的操作系统吗?(不幸的是,这可能不会有多大帮助!:)是的,Interlisp运行在Lisp机器上,是Common Lisp之前使用的系统之一。然而,CommonLisp受Maclisp的影响更为强烈,结构编辑器的使用也没有流行起来。即使这“帮助不大”,知道结构编辑不是一个新的想法,但在几十年前就已经被使用了,这也许是件好事。(我记得在C.L.L上讨论过这个问题,所以你可能想在谷歌组中搜索这个话题。)如果你真的想为这样的事情写一个Emacs模式,也许你也可以考虑一种模式,它只是改变代码的表示和编辑方式,而不是像Pascal的代码那样直接改变性别。(这是Oxgen等XML工具的方法)这样就可以避免代码内注释可能出现的问题,并且与不使用结构编辑的其他人交换代码会更容易;我只是想知道是否有一个编辑器将树显示为图表树供用户编辑。(我不确定指针对于这样的事情是否是用户友好的,但我想它可能会起作用。)这太令人愤怒了。提供结构编辑器的完整描述,包括图片、代码行、调查结果,然后不提示从何处获取。(老实说,我现在可能不会从emacs转换过来,但还是一样。)谢谢你的更新。