10

输入是

(1) 带有标记内部节点的树的括号表示,例如:

(S (N John) (VP (V hit) (NP (D the) (N ball))))

输出:

在此处输入图像描述

(线条是否为虚线以及是否存在标题并不重要。)

或者输入可以是:

(2) 对没有标签的单词进行括号括起来,例如:

((John) ((hit) ((the) (ball))))

输出与上面相同(这次没有内部标签,只有树结构)。

输入的另一个组成部分是树是像 (1) 中那样标记还是像 (2) 中那样未标记。


我的问题:用javascript在浏览器中呈现这些树的最佳方式(最快的开发时间)是什么?一切都应该发生在客户端。

我正在想象一个简单的界面,只有一个文本框(和一个单选按钮,指定它是否是一个带标签的树),当它改变时,会触发一个树来呈现(如果输入没有任何语法错误)。

4

2 回答 2

10

我不确定 stackoverflow 上的自插入策略是什么。如果这违反了规则,我深表歉意。

你看到我的解决方案了吗?mshang.ca/syntree

这不完全是您想要的,但如果有帮助,您可以随意窃取代码

于 2012-03-09T15:19:04.550 回答
4

实际上有服务器端库将括号表示转换为树 phpsyntaxtree
您可以使用jsdraw2d 之类的 javascript 图形库重新实现它们,或者使用 HTML5 画布在 javascript 上滚动。

10 个最佳 Javascript 绘图和画布库

于 2012-03-05T04:41:37.187 回答