dsg*_*dsg 10 javascript rendering nlp linguistics
输入是:
(1)带有标记内部节点的树的括号表示,例如:
(S (N John) (VP (V hit) (NP (D the) (N ball))))
Run Code Online (Sandbox Code Playgroud)
输出:
(线是否为虚线以及标题是否存在并不重要.)
或输入可能是:
(2)对没有标签的单词进行包围,例如:
((John) ((hit) ((the) (ball))))
Run Code Online (Sandbox Code Playgroud)
输出与上面相同(这次没有内部标签,只有树形结构).
输入的另一个组成部分是树是标记为(1)还是未标记为(2).
我的问题:在javascript中在浏览器中呈现这些树的最佳方式(最快的开发时间)是什么?一切都应该发生在客户端.
我想象一个简单的界面只有一个文本框(和一个单选按钮,指定它是否是标记的树),当更改时,触发树渲染(如果输入没有任何语法错误).
我不确定stackoverflow上的自插件策略是什么.如果违反规则我会道歉.
你有没有看到我的解决方案?mshang.ca/syntree
这不完全是你想要的,但如果有帮助,你可以自由地窃取代码.
实际上有一个服务器端库可以将括号表示转换为树, phpsyntaxtree。您可以使用jsdraw2d
等 javascript 图形库重新实现它们,或者使用 HTML5 画布在 javascript 上滚动。