【问题标题】:Using ANTLR from beanshell or Java program从 beanshell 或 Java 程序使用 ANTLR
【发布时间】:2017-10-26 09:34:33
【问题描述】:

是否可以使用 ANTLR .jar 从语法定义(在字符串变量中)在运行时编译语法解析器?

我想在beanshell环境下以编程方式合成语法描述,然后调用ANTLR生成解析器对象,不使用任何文件。

【问题讨论】:

    标签: java syntax antlr beanshell


    【解决方案1】:

    是的,因为解析器生成器本身是用 Java 编写的。

    你需要的是:

    • 将 ANTLR 编译时库与 ANTLR 运行时库一起放在运行时类路径中
    • 调用 ANTLR 的解析器生成器 - 在 ANTLR 3 中,生成器类是 org.antlr.Tool
    • 如果您想在同一个 Java 应用程序中使用解析器,则必须动态加载新创建的类

    我唯一不确定的是是否可以从字符串构建解析器 - 也许您必须将其保存到临时文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多