编译原理实践中间代码生成代码(c++)
#include<iostream> #include<stdio.h> #include<string.h> #include<cstring> using namespace std; #define dd(x) cout<<#x<<" = "<<x<<" " #define de(x) cout<<#x<<" = "<<x<<endl //词法分析双向链表(存已识别的词单元(endSign)) typedef struct WordAnalysisList { struct WordAnalysisList *last; char index;//以字母作为标号 其index为在endSign中对应的元素 char value[128];//对应值字符串 struct WordAnalysisList *next; }WordAnalysisList; //headWAL 对应语法分析时的输入 WordAnalysisList *headWAL, *currendWAL; //headSignStack:符号栈 从null到最后被规约成S tail4:反着显示要用到 WordAnalysisList *headSignStack, *tail4; typedef struct Tree { int number; char bb[128];