資源簡介
1. 遞歸下降分析器。可分解為:文法輸入及解析、消除左遞歸、提取左公共因子、產(chǎn)生式匹配。
2. LL(1)分析器??煞纸鉃椋何姆ㄝ斎爰敖馕?、分析表構(gòu)造(含SELECT集求解)、主控程序、語法樹展示。
3. 算符優(yōu)先文法分析器??煞纸鉃椋何姆ㄝ斎爰敖馕?、分析表構(gòu)造、主控程序、語法樹展示。
4. LR(1)分析器。可分解為:文法輸入及解析、分析表構(gòu)造(含項目及項目簇集求解)、主控程序、語法樹展示。
代碼片段和文件信息
#include
#include
#include
#include
char?A[20];/*分析棧*/
char?B[20];/*剩余串*/
char?v1[20]={‘i‘‘+‘‘*‘‘(‘‘)‘‘#‘};/*終結(jié)符??*/
char?v2[20]={‘E‘‘G‘‘T‘‘S‘‘F‘};/*非終結(jié)符???*/
int?j=0b=0top=0l;/*L為輸入串長度?*/
typedef?struct?type/*產(chǎn)生式類型定義??????*/
{
char?origin;/*大寫字符??*/
char?array[5];/*產(chǎn)生式右邊字符?*/
int?length;/*字符個數(shù)??????*/
}type;
type?etgg1ss1ff1;/*結(jié)構(gòu)體變量??*/
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??實驗二:語法分析\
評論
共有 條評論