【发布时间】:2013-02-17 12:04:12
【问题描述】:
我正在实现一个 C 预处理器...
在 Wiki 上,我发现了它的以下功能...
- 三字替换
- 线拼接
- 标记化
- 宏扩展和指令处理
- 文件包含
我的问题:
- 我是否缺少任何功能?
- 上述功能的正确执行顺序是什么? (即,在当今实用的预处理器之前做了什么?)
如果有人知道任何关于它的标准文档,请也提及。
【问题讨论】:
标签: c c-preprocessor
我正在实现一个 C 预处理器...
在 Wiki 上,我发现了它的以下功能...
我的问题:
如果有人知道任何关于它的标准文档,请也提及。
【问题讨论】:
标签: c c-preprocessor
标准文档是 C 标准!官方版本是非免费的,但你可以找到足够准确的草稿,例如http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf 用于 C99。
感兴趣的章节是 5.1.1.2(翻译阶段)和 6.10(预处理指令)。
【讨论】:
您可能想查看 gcc 文档以了解他们如何实现它: http://gcc.gnu.org/onlinedocs/cpp/
您还可以查看 gcc 的源代码: http://www.gnu.org/software/gcc/releases.html
希望对你有帮助
【讨论】: