我正在使用 ANTLRWorks 1.4.3 和 ANTLR 3.4 从语法文件生成基于 Java 的解析器和词法分析器。生成的.java
-files 包含字符串,如
C:\\Users\\[path to the eclipse project]\\src\\some\\package\\name\\MyGrammar.g
此绝对路径用作
- 返回字符串,例如在
getGrammarFileName()
词法分析器和解析器的方法中,以及 - 在这两个文件中多次作为评论。
我看到以下缺点:
- 如果其他人在他的开发环境中使用不同的路径重新生成这些文件,即使没有对语法文件进行任何更改,也会引入很多更改。
- 没有人,尤其是在开源项目中,需要知道我的语法文件到底存储在哪里。例如,关于
C:\\Users\\simon\\customerA\\crap_software\\[rest of the path to grammar file]
有没有办法在 ANTLRWorks 或 ANTLR s.th 中控制它。至少只使用相对路径?