資源簡介
1.定義部分:定義常量、變量、數據結構。
2.初始化:設立LL(1)分析表、初始化變量空間(包括堆棧、結構體、數組、臨時變量等);
3.控制部分:從鍵盤輸入一個表達式符號串;
4.利用LL(1)分析算法進行表達式處理:根據LL(1)分析表對表達式符號串進行堆棧(或其他)操作,輸出分析結果,如果遇到錯誤則顯示錯誤信息。
代碼片段和文件信息
#include
#include
#include
char?A[20];????//存儲分析棧
char?B[20];????//存儲剩余串
char?Vz[20]={‘i‘‘+‘‘-‘‘*‘‘/‘‘(‘‘)‘‘#‘};????//終結符數組
char?Vf[20]={‘E‘‘G‘‘T‘‘S‘‘F‘};????????????????//非終結符數組
int?j=0b=0top=0l;
/*
??????E->TG?
??????G->+TG|-TG|ε
??????T->FS?
??????S->*FS|/FS|ε?
??????F->(E)|i?
*/
typedef?struct?type??????//定義產生式類型
{
char?origin;????????//左邊大寫字符
char?array[5];??????//產生式右邊的字符
int?length;?????????//右邊字符的個數
}Css;
Css?etgg1g2ss1s2ff1;?????//定義結構體變量
Css?C[10][10];????????????????????//存儲預測分析表數組
void?print()??????????????????????//輸出分析棧
{
int?a;
for(a=0;a<=top+1;a++)
printf(“%c“A[a]);
printf(“\t\t“);
}
void?print1()???????????????????//輸出剩余串
{
int?j;
for(j=0;j
- 上一篇:MFC程序員的WTL指南
- 下一篇:ATL創建進程外COM組件服務C++
評論
共有 條評論