Groovy:编译+嵌入

时间:2013-04-21 21:39:33

标签: java groovy

目标是

  1. 从使用Groovy进行预处理程序指令的脚本语言开始(整个预处理程序语言)

  2. 使用Antlr 4解析该脚本(使用print打印常规脚本,使用#作为groovy并输出为Groovy脚本)

  3. 在嵌入式Java应用程序中编译Groovy脚本(Groovy应该能够访问该应用程序中的类等)

  4. 当脚本想要使用已编译的Groovy(如使用dll的项目)时,在脚本的另一次编译期间稍后加载该脚本。加载时,Groovy脚本将运行并生成特定于用户项目的代码(记住print语句?)。

  5. 为什么我要编译它?当最终用户在项目中使用这些外部资源(本质上是dll)时,不需要反复解析这些资源。我希望他们处于准备好的状态。

    我的第一个想法是将Antlr生成的AST序列化为二进制,然后将其加载回来,但我意识到编译的Groovy脚本会更加智能。

    问题是,如何在动态加载脚本时保存Groovy编译,然后在以后加载?

    对于答案的任何帮助都将非常感激=)。

0 个答案:

没有答案