【问题标题】:ANTLR disable specific Userpath in Comments and returnsANTLR 在评论和返回中禁用特定的用户路径
【发布时间】:2012-09-12 20:38:19
【问题描述】:

当我从我的 Grammarfile 生成 Parser 和 Lexer 时,一切正常而不是问题,ANTLR 自动将整个用户目录添加到任何返回和 cmets。这是不好的。例如:

return "C:\\Users\\##\\workspace\\project\\src\\Grammar.g"

这个工具也对任何 cmets 做同样的事情:

// $ANTLR 3.4 C:\\Users\\##\\workspace\\project\\src\\Grammar.g 2012-06-18 18:25:20

我必须发布我的项目,所以有什么办法可以禁用这个“功能”?

问候, 红色条纹。

【问题讨论】:

标签: comments antlr


【解决方案1】:

路径似乎取决于您调用 ANTLR 的位置和方式。我无法使用 ANTLRWorks 实现这一点,但使用命令行 ANTLR 你可以执行此操作。您可以执行以下操作(示例适用于 Windows,但也应该可以在其他操作系统上重现):

  1. Download Antlr 用于命令行并将其复制到例如

    C:\Program Files (x86)\ANTLRworks\antlr-3.4-complete.jar.

  2. 打开 Windows 命令行 (cmd.exe) 并切换到您的语法文件所在的目录:

    cd C:\Users[path to the eclipse project]\src\some\package\name

  3. 调用

    java -jar "C:\Program Files (x86)\ANTLRworks\antlr-3.4-complete.jar" MyGrammar.g
    

    从命令行。

生成的 java 文件将只包含您的语法文件的名称,不再包含路径。

这个答案来自我自己的问题Remove (absolute) paths in ANTLR generated java classes:,最后我自己回答了。

【讨论】:

    猜你喜欢
    • 2014-01-30
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2018-11-06
    • 2016-06-29
    相关资源
    最近更新 更多