Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ANTLR能否在自动生成的文件中隐藏第一行消息?_Java_Eclipse_Antlr - Fatal编程技术网

Java ANTLR能否在自动生成的文件中隐藏第一行消息?

Java ANTLR能否在自动生成的文件中隐藏第一行消息?,java,eclipse,antlr,Java,Eclipse,Antlr,我在工作中使用ANTLR 3.5。 但是,自动生成的文件lexer和parser始终会收到以下消息: "$ANTLR 3.5 D:\\PATH_OF_ANTLR_FILE\\Expression.g 2013-04-10 15:34:48" 是否仍有隐藏此消息的方法? 我想隐藏消息,因为我将这些文件带到版本控制系统中。 如果此消息中的日期信息与以前的日期信息不匹配,版本控制系统将收到冲突消息。ANTLR无法禁用此消息。但是,这不会导致源代码管理出现问题,因为至少Java、CSharp2和CSh

我在工作中使用ANTLR 3.5。 但是,自动生成的文件lexer和parser始终会收到以下消息:

"$ANTLR 3.5 D:\\PATH_OF_ANTLR_FILE\\Expression.g 2013-04-10 15:34:48"
是否仍有隐藏此消息的方法? 我想隐藏消息,因为我将这些文件带到版本控制系统中。
如果此消息中的日期信息与以前的日期信息不匹配,版本控制系统将收到冲突消息。

ANTLR无法禁用此消息。但是,这不会导致源代码管理出现问题,因为至少Java、CSharp2和CSharp3目标的推荐用法涉及在构建时从语法自动生成解析器,并且生成的文件本身不受源代码管理的影响。

在我看来,生成的代码不应签入源代码管理。您应该只签入您的antlr语法文件,而不是由它生成的词法分析器和解析器。看。为什么风投会有冲突?@dogbane但在我的情况下,不是我们团队的每个成员都安装了ANTLR插件ex:front end programmer,PM。不要将自动生成的代码检查到VCS中,这意味着每个人都应该安装ANTLR插件。“这很不方便。@Andremoniy由于我签出了以前的版本代码,ANTLR将再次重新生成代码。生成的带有日期信息的注释将更改为较新的注释。当我签出最新版本时,会发生冲突。只有当两个或多个程序员在同一文件的同一行中提交不同的更改时,才会发生冲突。在您的情况下,我无法理解这个问题,这是通常的方式,但肯定有一些场景需要签入生成的代码。例如,我可能正在编写一个库来处理C++中的SQL查询。实现的一部分可能是生成C++解析器的ANTLR语法。当我将库分发给C++用户时,我不想强迫他们安装Antlr和java。我想分发生成的C++文件。因此,在这种情况下,我需要版本控制中的.g文件,但也需要生成的头文件。