我正在使用解析器生成器来构建编译器。我应该提交解析器生成器生成的源文件吗?
我希望在构建过程和测试过程中提交它们,以避免对解析器生成器的依赖。
但是,如果我提交了它们,就不会因为担心发生向后不兼容的更改而永远不更新解析器生成器。
还有其他我没有想到的优点或缺点吗?
参考文献:
发布于 2013-09-01 20:23:20
我的建议是不,您不应该提交机器生成的文件。源控制应仅保留为原始(源)材料,而不是中间文件。在编译器发生更改时,是否将已编译的对象提交到源?您的问题几乎肯定在于配置管理(工具链),而不是源代码管理。不幸的是,源代码控制常常被用来实现这两种功能。
首先,我将仔细研究构建配置。是否可以将解析器输出作为构建过程使用的另一个工具,并有一个项目来构建解析器输出。首先在这个空间寻找解决方案。
如果其他选择已经被探索,并被认为过于昂贵或技术困难等等,那么将这些文件提交到源代码管理中并不是世界上最糟糕的事情--明天早晨太阳仍将在东方升起。
发布于 2013-09-02 04:08:35
您应该将所有三个组件(解析器生成器、输入语言和输出语言)都提交到源代码管理中,以便在出现意外问题时帮助消除指责。
https://softwareengineering.stackexchange.com/questions/210161
复制相似问题