结合文法,相信很容易看到语法树的代码。将“C语言字符串”转化成语法树之后,我们更方便分析。
假设我们现在已经生成了语法树,下一步该干什么?
语法树中的声明部分,将会添加到符号表中。
语法树中的语句和表达式部分,将会转化成由基本语法块组成的控制流图。
bblock中有一个链表,里面都是irinst结构体
typedef struct irinst
{
struct irinst *prev;
struct irinst *next;
Type ty;
int opcode;
Symbol opds[3];
} *IRInst;
opds里的三个内容是指三地址码。