用于脚本语言的Intellisense算法

时间:2013-12-01 15:18:39

标签: java algorithm intellisense abstract-syntax-tree scripting-language

我正在构建一个可编程的软件。想法是让最终用户通过一些脚本来控制主机系统。因此,该软件附带一个脚本编辑器,我正在使用 RSyntaxTextArea 。一切都很好,直到这里。

最后一点,我想在脚本中加入某种 IntelliSense (脚本语言是 Rhino )编辑器,我不知道到底是怎么回事。最好实现这一点(至少在某种程度上)。

首先,我开始使用这种业余方法:

  1. 。(点)字符调用整个建议过程。
  2. 脚本内容(不包括当前语句)是* eval * uated,我从中确定到目前为止定义的变量/函数及其类型。建议是基于此计算的。
  3. 或者不是评估脚本(这是不成熟的),我正在考虑构建 AST 。这是解决这个问题的正确方法吗?你有任何建议/链接/算法等..?当脚本的当前状态不可编译时如何处理这种情况?请指教。

1 个答案:

答案 0 :(得分:0)

假设您在Java中实现此功能(由于java标记),您应该查看JavaCC它包含词法分析器,AST处理功能甚至代码生成(尽管这最后一部分可能与您无关) )。