//LL(1)文法(源代码)#include "stdio
h"#include "stdlib
h"#define MaxRuleNum 8#define MaxVnNum 5#define MaxVtNum 5#define MaxStackDepth 20#define MaxPLength 20#define MaxStLength 50struct pRNode /*产生式右部结构*/{ int rCursor; struct pRNode *next;};struct pNode { int lCursor; int rLength; /*右部长度*/ struct pRNode *rHead; /*右部结点头指针*/};char Vn[MaxVnNum + 1]; /*非终结符集*/int vnNum;char Vt[MaxVtNum + 1]; /*终结符集*/int vtNum;struct pNode P[MaxRuleNum]; int PNum; char buffer[MaxPLength + 1];char ch; char st[MaxStLength]; /*要分析的符号串*/struct collectNode { int nVt; struct collectNode *next;};struct collectNode* first[MaxVnNum + 1]; /*first 集*/struct collectNode* follow[MaxVnNum + 1]; /*follow 集*/int analyseTable[MaxVnNum + 1][MaxVtNum + 1 + 1];int analyseStack[MaxStackDepth + 1]; /*分析栈*/int topAnalyse; /*分析栈顶*/void Ini