Antlr 如何通过AST和xFF1F将C代码转换为故障树;

Antlr 如何通过AST和xFF1F将C代码转换为故障树;,antlr,abstract-syntax-tree,Antlr,Abstract Syntax Tree,我有一组C代码,我想把C代码转换成故障树,我试着用Antlr生成AST,但我不知道下一步该怎么做。有很多方法可以做到这一点,包括yacc Antlr DMS lex,但没有一种方法能满足我的要求。AST是生成故障树的必要方法吗 #include "Sta.h" void Sta(sta *localP) { UNSIGNED8 Switch; if (!wl_gul) { if (!sdi) { if (!qdi) { Switch= localP-&

我有一组C代码,我想把C代码转换成故障树,我试着用Antlr生成AST,但我不知道下一步该怎么做。有很多方法可以做到这一点,包括yacc Antlr DMS lex,但没有一种方法能满足我的要求。AST是生成故障树的必要方法吗

#include "Sta.h"
void Sta(sta *localP)
{
  UNSIGNED8 Switch;
  if (!wl_gul) {
    if (!sdi) {
      if (!qdi) {
        Switch= localP->Constant1;
      } else {
        Switch = localP->Constant2;
      }
    } else {
      Switch= localP->Constant3;
    }
  } else {
    Switch= localP->Constant4;
  }

  stag_gul = Switch;
}

什么是故障树?我想这个链接可以回答你。谢谢,不过我觉得这个问题太宽泛了,缺少很多信息。你应该把你的大问题分解成更小的部分,试着去实现它们,并询问关于实现的具体问题。你的维基百科文章描述了如何使用原始事件/故障来构建故障树。我不明白你是如何考虑从C程序中生成故障树的。什么是原始事件?内存读取失败?为什么不展示一个C程序,其中有一个故障树(即使是手动构建的),以便我们能够理解您的意图?