91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.46MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-31
  • 語言: C/C++
  • 標簽: NFA??DFA??詞法分析??

資源簡介

可以根據自定義的詞法規則,生成相應的詞法分析器。自動構造出該文法的NFA,DFA,并能夠識別給定的字符串是否符合該文法規則的算法。并且該算法可以在控制臺和MFC下運行。

資源截圖

代碼片段和文件信息

/*定義I/o庫所用的某些宏和變量?*/
#include?“stdio.h“????
/*?定義?字符串庫函數*/
#include?“string.h“???

/*#define?NULL?0;*/

/*?prog數組:存放輸入的字符串;token數組:用來存放構成單詞符號的字符串*/
char?prog[80]token[8];?

/*?ch:存取當前即將分析的字符*/
char?ch;
?
?/*?syn:用來存放單詞符號的種別碼;?p:緩沖區prog的指針;m:token的指針*/
int?synpmnsumpriNo=1num=3;
int?kk;
/*?rwtab數組存放關鍵字(均為小寫),其特別碼為:下標加1?*/
char?*rwtab[6]={“begin““if““then““while““do““end“};

void?scaner();
void?lrparser();
void?YuJuString();
void?statement();
void?expression();
void?term();
void?factor();


main()
{
int?i=0;
gotoxy(221);
printf(“此程序為某語法的分析程序!\n\n“);
gotoxy(22);
printf(“你可以驗證3個句子!“);
gotoxy(33);
printf(“***************************************************************“);
?do{
?p=0;kk=0;????/*初始化*/
?printf(“\n?Please?input?string(end‘#‘):??“);?/*輸入字符串以‘#’結尾*/
?/*do{
?scanf(“%c“&ch);
?prog[p++]=ch;
?}while(ch!=‘#‘);*/
?gets(prog);
?p=0;
?scaner();
?printf(“\n--------“);
?lrparser();
?i++;
?printf(“\n*************************************************************\n“);
?? }while(i}



void?scaner()
{
?m=0;
?for(n=0;n<8;n++)?token[n]=NULL;???/*初始化token數組*/
?sum=0;????????????????????????????/*初始化sum為0*/
?ch=prog[p++];
?while(ch==‘?‘)??ch=prog[p++];?????/*忽略空格*/
?if(ch>=‘a‘&&ch<=‘z‘||ch>=‘A‘&&ch<=‘Z‘)?/*字符*/
?{
??while(ch>=‘a‘&&ch<=‘z‘||ch>=‘A‘&&ch<=‘Z‘||ch>=‘0‘&&ch<=‘9‘)
??{
???token[m++]=ch;
???ch=prog[p++];
??}
??token[m++]=‘\0‘;
??
??p--;
??syn=10;
??for(n=0;n<6;n++)
???if(strcmp(tokenrwtab[n])==0)
???{
?????syn=n+1;
?????break;
???}
?}
?
?else
?
?????if(ch>=‘0‘&&ch<=‘9‘)
?????{
??????while(ch>=‘0‘&&ch<=‘9‘)
??????{
????????sum=sum*10+ch-‘0‘;
????????ch=prog[p++];
??????}
???????p--;
???????syn=11;?
?????}

??else
???{
???switch(ch)
???{
?????case?‘<‘:?m=0;token[m++]=ch;
????????????????ch=prog[p++];
???????????????if(ch==‘>‘)
???????????????{
????????????????syn=21;
????????????????token[m++]=ch;
????????????
???????????????}
???????????????else?if(ch==‘=‘)
???????????????{
????????????????syn=22;
????????????????token[m++]=ch;
???????????????
???????????????}
??????????????else
??????????????{
????????????????syn=20;
????????????????
????????????????p--;
??????????????}
??????????????token[m]=‘\0‘;
?????????????break;
?????case?‘>‘:???m=0;token[m++]=ch;
?????????????????ch=prog[p++];
?????????????????if(ch==‘=‘)
???????????????{
????????????????syn=24;
????????????????token[m++]=ch;
???????????????}
???????????????
??????????????else
??????????????{
????????????????syn=23;
????????????????p--;
??????????????}
??????????????token[m]=‘\0‘;
?????????????break;?
???????????????
????case?‘:‘:???m=0;token[m++]=ch;
????????????????ch=prog[p++];
?????????????????if(ch==‘=‘)
???????????????{
????????????????syn=18;
????????????????token[m++]=ch;
???????????????}
???????????????
??????????????else
??????????????{
????????????????syn=17;
????????????????p--;
??????????????}
??????????????token

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4892??2008-06-02?15:41??詞法分析器報告\實驗2.c

?????文件??????70656??2008-06-03?21:02??詞法分析器報告\實驗2.doc

?????文件????2076160??2008-06-02?22:59??詞法分析器報告\詞法分析器報告.doc

?????文件???????2389??2008-05-28?17:40??詞法分析器報告\Win32Complier?5-25\AccidenceMachine.cpp

?????文件???????1170??2008-05-28?17:40??詞法分析器報告\Win32Complier?5-25\AccidenceMachine.h

?????文件????????619??2008-05-28?17:46??詞法分析器報告\Win32Complier?5-25\Config.h

?????文件?????????28??2008-05-22?23:08??詞法分析器報告\Win32Complier?5-25\DequeNode.cpp

?????文件????????670??2008-05-24?00:38??詞法分析器報告\Win32Complier?5-25\DequeNode.h

?????文件???????2786??2008-05-28?17:40??詞法分析器報告\Win32Complier?5-25\Grammar.cpp

?????文件???????2672??2008-05-27?22:58??詞法分析器報告\Win32Complier?5-25\Grammar.h

?????文件???????4537??2008-05-26?22:59??詞法分析器報告\Win32Complier?5-25\GrammarStruct.h

?????文件??????17738??2008-05-28?17:50??詞法分析器報告\Win32Complier?5-25\GrammarToNFA.cpp

?????文件???????1273??2008-05-31?13:33??詞法分析器報告\Win32Complier?5-25\GrammarToNFA.h

?????文件???????2351??2008-06-02?17:52??詞法分析器報告\Win32Complier?5-25\Main.cpp

?????文件????????580??2008-05-25?18:03??詞法分析器報告\Win32Complier?5-25\NFAChartStruct.h

?????文件??????15001??2008-05-28?17:31??詞法分析器報告\Win32Complier?5-25\NFAToDFA.cpp

?????文件???????2326??2008-05-28?17:30??詞法分析器報告\Win32Complier?5-25\NFAToDFA.h

?????文件???????4712??2008-05-25?17:15??詞法分析器報告\Win32Complier?5-25\Win32Complier.dsp

?????文件????????551??2008-05-07?12:37??詞法分析器報告\Win32Complier?5-25\Win32Complier.dsw

?????文件?????123904??2007-08-25?12:43??詞法分析器報告\Win32Complier?5-25\Win32Complier.ncb

?????文件??????54784??2007-08-25?12:43??詞法分析器報告\Win32Complier?5-25\Win32Complier.opt

?????文件????????260??2007-08-25?11:16??詞法分析器報告\Win32Complier?5-25\Win32Complier.plg

?????文件??????30565??2008-05-28?17:46??詞法分析器報告\Win32Complier?5-25\Debug\AccidenceMachine.obj

?????文件???????5982??2008-05-28?17:46??詞法分析器報告\Win32Complier?5-25\Debug\DequeNode.obj

?????文件??????33390??2008-05-28?17:46??詞法分析器報告\Win32Complier?5-25\Debug\Grammar.obj

?????文件??????65341??2008-05-31?13:33??詞法分析器報告\Win32Complier?5-25\Debug\GrammarToNFA.obj

?????文件??????30752??2008-06-02?17:52??詞法分析器報告\Win32Complier?5-25\Debug\Main.obj

?????文件?????121710??2008-05-28?17:46??詞法分析器報告\Win32Complier?5-25\Debug\NFAToDFA.obj

?????文件?????222208??2007-08-25?11:16??詞法分析器報告\Win32Complier?5-25\Debug\vc60.idb

?????文件?????167936??2008-06-02?17:52??詞法分析器報告\Win32Complier?5-25\Debug\vc60.pdb

............此處省略10個文件信息

評論

共有 條評論