【问题标题】:Preprocessing C99 digraphs away预处理 C99 有向图
【发布时间】:2015-10-19 03:41:39
【问题描述】:

有没有办法“预处理”C99 样式的有向图以获取 C 文件(或 .i 预处理源),以使生成的文件不包含任何有向图?

例如,给定以下源代码:

%:define N 5

int main() <%
  int a<:N:> = <%2,1,0%>;
  char *s = "a<:b";
  return a<:4:>;
%>

使用 GCC 的预处理器选项(-E,加上-dD 是很好的衡量标准)足以摆脱%: 有向图(在本例中被评估并重新打印为#define),但不是其他人。

Clang 的行为方式相同,因此没有多大帮助。

据我了解,简单的正则表达式替换是行不通的,因为它们最终会替换字符串中的出现。

【问题讨论】:

    标签: c c-preprocessor c99 digraphs


    【解决方案1】:

    据我所知,没有标准工具可以进行这种转换。特别是,预处理器替换有向图,因为(与三联图不同)有向图只是普通标记,恰好与其他普通标记具有相同的含义。

    使用flex 编写这样的处理器相对简单,从现有的 C 弹性定义开始。

    【讨论】:

      猜你喜欢
      • 2011-03-09
      • 2014-04-25
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      相关资源
      最近更新 更多