資源簡介
1. 遞歸下降分析器。可分解為:文法輸入及解析、消除左遞歸、提取左公共因子、產生式匹配。
2. LL(1)分析器。可分解為:文法輸入及解析、分析表構造(含SELECT集求解)、主控程序、語法樹展示。
3. 算符優先文法分析器。可分解為:文法輸入及解析、分析表構造、主控程序、語法樹展示。
4. LR(1)分析器。可分解為:文法輸入及解析、分析表構造(含項目及項目簇集求解)、主控程序、語法樹展示。
代碼片段和文件信息
#include
#include
#include
#include
char?A[20];/*分析棧*/
char?B[20];/*剩余串*/
char?v1[20]={‘i‘‘+‘‘*‘‘(‘‘)‘‘#‘};/*終結符??*/
char?v2[20]={‘E‘‘G‘‘T‘‘S‘‘F‘};/*非終結符???*/
int?j=0b=0top=0l;/*L為輸入串長度?*/
typedef?struct?type/*產生式類型定義??????*/
{
char?origin;/*大寫字符??*/
char?array[5];/*產生式右邊字符?*/
int?length;/*字符個數??????*/
}type;
type?etgg1ss1ff1;/*結構體變量??*/
type?C[10][10];/*預測分析表??????*/
void?print()/*輸出分析棧??*/
{
int?a;/*指針*/
for(a=0;a<=top+1;a++)
printf(“%c“A[a]);
printf(“\t\t“);
}/*print*/
void?print1()/*輸出剩余串*/
{
int?j;
for(j=0;j printf(“?“);
for(j=b;j<=l;j++)
printf(“%c“B[j]);
printf(“\t\t\t“);
}/*print1*/
void?main()
{
int?mnk=0flag=0finish=0;
char?chx;
type?ch
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3601??2017-04-09?15:42??實驗二:語法分析\源代碼.cpp
?????文件???????67584??2018-03-07?15:38??實驗二:語法分析\語法分析.doc
?????目錄???????????0??2018-03-07?15:38??實驗二:語法分析\
- 上一篇:C語言課程設計:停車場管理系統
- 下一篇:camelia加解密算法
評論
共有 條評論