C宏到Rust宏转化规则设计
# 前言 C2Rust 是一个将符合 C99 标准的代码迁移到 Rust 的转换器,本项目需要基于 C2Rust 将 C 预处理阶段的宏转换为 Rust 编译阶段的宏。因此,需要对 C 宏进行分析,并利用 Rust 宏的性质来寻找它们之间可能的映射关系和转换方案。 # 研究对象 根据 C99 标准,C 宏大体上可以分为替换文本宏(Replacing Text Macros)和条件包含(Conditional Inclusion)两种,而我们要根据这两类宏设计与之对应的 Rust 宏的转换规则。 替换文本宏的句法如下: #define identifier...
more...