使用 javafx 以交互方式创建 AST
Create an AST interactively with javafx
如题所示,我想用某种语法交互式地创建一个AST。
但是我不知道该怎么做...
所以我的问题是:
现在可以使用哪些技术使用 javaFX 创建和编辑 AST?
我在互联网上看不到任何关于此的信息...
我知道 Webview 确实可以在 JavaFX 上运行,并且互联网技术可能会解决这个问题。但是我还没有发现任何关于 Webview 的东西......
P.S.: 对此的一个批评信息是,我的 AST 必须通过单击鼠标创建,而不是通过键盘编写(作为传统的 IDE)。
我对不同的观点持开放态度,所以请随意说什么。
任何解决此问题的信息,将不胜感激谢谢:)
你要的是structure editor.
这样的编辑器知道您要使用的语言的语法,
并使用 AST 来处理程序而不是文本。您在编辑器 window 中看到的是 AST 的 呈现 作为表面语法文本。您的光标选择一个 AST 节点是因为它最接近来自该 AST 节点的文本。
给定一个 cursor/AST 节点,然后您可以执行各种操作,例如 "cut subtree"、"paste subtree"、"move subtree",或者通过键入一个短语来替换子树,使编辑器解析您键入的内容,通常是实时解析,以构建相应的树节点。
此类编辑器通常可以通过告诉您正在编辑的语法类别(表达式、语句、声明)来为流程提供指导,并且如果语法已知,通常会猜测您下一步应该输入什么。
最著名的(基本上是第一个)被称为 "Synthesizer Generator"。我怀疑你能再得到那个了。上面提供的维基百科 link 有一长串系统,您现在可以获取其中的一些。
如题所示,我想用某种语法交互式地创建一个AST。 但是我不知道该怎么做... 所以我的问题是:
现在可以使用哪些技术使用 javaFX 创建和编辑 AST?
我在互联网上看不到任何关于此的信息... 我知道 Webview 确实可以在 JavaFX 上运行,并且互联网技术可能会解决这个问题。但是我还没有发现任何关于 Webview 的东西......
P.S.: 对此的一个批评信息是,我的 AST 必须通过单击鼠标创建,而不是通过键盘编写(作为传统的 IDE)。 我对不同的观点持开放态度,所以请随意说什么。 任何解决此问题的信息,将不胜感激谢谢:)
你要的是structure editor.
这样的编辑器知道您要使用的语言的语法, 并使用 AST 来处理程序而不是文本。您在编辑器 window 中看到的是 AST 的 呈现 作为表面语法文本。您的光标选择一个 AST 节点是因为它最接近来自该 AST 节点的文本。
给定一个 cursor/AST 节点,然后您可以执行各种操作,例如 "cut subtree"、"paste subtree"、"move subtree",或者通过键入一个短语来替换子树,使编辑器解析您键入的内容,通常是实时解析,以构建相应的树节点。
此类编辑器通常可以通过告诉您正在编辑的语法类别(表达式、语句、声明)来为流程提供指导,并且如果语法已知,通常会猜测您下一步应该输入什么。
最著名的(基本上是第一个)被称为 "Synthesizer Generator"。我怀疑你能再得到那个了。上面提供的维基百科 link 有一长串系统,您现在可以获取其中的一些。