繁体   English   中英

获取Java中Javascript的所有变量

[英]Get all variables of javascript in JAVA

我正在将Rhino和Scripting用于Java平台,以允许用户扩展我的应用程序。

但是,用户可以编写某些情况,例如(ASTO.value>440) || (ASTO.bellowNormal) (ASTO.value>440) || (ASTO.bellowNormal)等...问题是,在使用ScriptEngine从我的JAVA应用程序运行脚本之前,我想获取所有变量的名称! 因为我应该知道运行脚本需要哪些变量...我知道正则表达式可以完成这项工作,但是我不确定...请有人可以帮助我找出Java regexp以获取变量真的很喜欢

有点晚了,但是您可能对此感兴趣: http : //ramkulkarni.com/blog/understanding-ast-created-by-mozilla-rhino-parser/

我找到了解决方案cx.getDebuggableView(result).getParamAndVarCount()但它没有返回未声明的变量:(

尽管它是用Scala编写的,但我们正在做非常相似的事情,我只能给您一些提示...

  1. 测试真的很重要
  2. 这是我们更复杂的测试之一: listArg[Math.floor(4 / listArg[zeroArg]['f3'])]
  3. 描述设计的变量...

     // chars after which there may be an environment variable used private val NewScopeChars = List('[', '(', '/', '*', '+', '-', ',') // chars that signal the end of a variable name private val SepChars = '.' :: ' ' :: ';' :: ']' :: ')' :: NewScopeChars private val ExcludeStrings = List("new", "Math") private val LiteralPrefixes = "'" :: "\\"" :: (0 to 9).map(_.toString).toList 

我在性能方面遇到问题,因此不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM