【发布时间】:2015-12-05 10:41:09
【问题描述】:
在编写了 C99 解析器之后,我正在寻找一个 C 代码的大文件(如果可能,预编译,尽管我可能会自己预编译它)试图涵盖尽可能多的困难情况。 IE。一些类型定义,使其他人不可见的变量,结构,复杂的表达式和声明等,以及所有这些以各种顺序。该文件不应包含任何错误,而是正确的代码(符合 C99)。
当然,我可以只获取大型图书馆的文件。但是,我想知道是否有一个文件有很多陷阱/困难,只是为了测试而设计的。
有人有这样的文件吗?如果可能的话,在“开源许可”下,比如 GPL?
【问题讨论】:
-
为什么不尝试不同的开源代码呢?
Use gcc -E获取预处理文件。也可以试试你自己的代码。 -
@Jean-BaptisteYunès:这样的代码通常不会涵盖许多不同的困难情况。此外,提取所有必需的编译标志(例如此类
gcc -E调用的包含路径)会很复杂。 -
如果你可以编译一个 linux 内核,我想这就是你需要的所有验证。不过你必须实现一些 gcc 扩展......
-
我认为找到许多不同的代码比找到一个所有困难案例的代码要容易得多。无论如何,您的问题并不像看起来那么容易。
-
或许你可以试试ioccc.org/years.html
标签: c compiler-construction c99