lex 或 bison 自动生成的源代码中的 GNU 标记

GNU marks in auto generated source by lex or bison

我想提交一些由 lex 和 bison 生成的代码。由于它们中有 gnu 标记,如果以后对非开源商业项目造成麻烦,我是认真的。

感谢您的任何建议。

lex(您可能指的是 flex)是 not a GNU project,并且不是 GPL 许可的(它使用宽松的 BSD 许可)。所以它的输出中没有 "gnu marks" 。您可能正在谈论诸如

之类的文本
#line 3 "lex.yy.c"

#define  YY_INT_ALIGNED short int

/* A lexical scanner generated by flex */

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
#define YY_FLEX_SUBMINOR_VERSION 35
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif

这是传统的 C 预处理器系列,与许可无关。

Bison 的输出在其许可中是 explicitly addressed,这不是问题:

The distribution terms for Bison-generated parsers permit using the parsers in nonfree programs.