資源簡介
先寫詞法分析的源文件,用正則表達式表示出需要識別的字符,例如數字,乘法,加法和括號,如果識別到其他非法字符需要報錯,用flex生成lex.yy.c文件。語法分析用LR方法進行語法分析,LR方法需要先根據文法構造自動機然后構造LR分析表,分析表用兩個數組進行保存,在程序進行歸約處理的時候執行給定的語義動作,將lex.yy.c作為頭文件添加到語法分析程序LR.c中,最后進行調試運行測試。
代碼片段和文件信息
#include
#include
char?*action[10][3]={“S3#““S4#“NULL????????????/*ACTION表*/
??????????????????????NULLNULL“acc“
??“S6#““S7#“NULL
??“S3#““S4#“NULL
??“r3#““r3#“NULL
??NULLNULL“r1#“
??“S6#““S7#“NULL
??NULLNULL“r3#“
??“r2#““r2#“NULL
??NULLNULL“r2#“};
int?goto1[10][2]={12??????????????????????????/*QOTO表*/
??????????????????00
??05
??08
??00
??00
??09
??00
??00
??00};
char?vt[3]={‘a‘‘b‘‘#‘};???????????????????????/*存放非終結符*/
char?vn[2]={‘S‘‘B‘};???????????????????????????/*存放終結符*/
char?*LR[4]={“E-S#““S-BB#““B-aB#““B-b#“}; /*存放產生式*/
int?a[10]; /*狀態棧*/
char?b[10]c[10]c1; /*符號棧?剩余符號棧*/
int?top1top2top3topmn;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????425984??2018-12-10?19:32??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\doc\實驗報告-COMPILER.doc
????..A..H.???????162??2018-12-11?19:12??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\doc\~$報告-COMPILER.doc
?????文件????????507??2017-08-08?15:37??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\references\calc.l
?????文件???????2590??2008-11-26?15:53??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\references\LR.c
?????文件??????37440??2018-12-10?15:27??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\lex.yy.c
?????文件????????612??2018-12-10?15:26??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\詞法分析.txt
?????文件??????37440??2018-12-10?15:27??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\lex.h
?????文件???????3181??2018-12-10?19:31??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\LR.c
?????文件???????3351??2018-12-10?19:31??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\LR.dsp
?????文件????????529??2018-12-10?19:31??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\LR.dsw
?????文件??????74752??2018-12-14?11:51??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\LR.ncb
?????文件????????836??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\LR.plg
?????文件?????163939??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\LR.exe
?????文件?????178572??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\LR.ilk
?????文件??????34974??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\LR.obj
?????文件?????435200??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\LR.pdb
?????文件??????34663??2018-12-10?18:59??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\qqq.obj
?????文件??????41984??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\vc60.idb
?????文件??????53248??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\vc60.pdb
?????文件?????217316??2018-12-14?11:50??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug\LR.pch
?????文件??????48640??2018-12-14?11:51??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\LR.opt
?????目錄??????????0??2018-12-10?19:29??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR\Debug
?????目錄??????????0??2018-12-10?19:31??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src\LR
?????目錄??????????0??2018-12-10?19:41??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\doc
?????目錄??????????0??2018-12-10?19:40??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\references
?????目錄??????????0??2018-12-10?19:38??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式\src
?????目錄??????????0??2018-12-10?19:41??COMPILER_計165_201658501213_唐明智_中綴表達式轉為后綴表達式
-----------?---------??----------?-----??----
??????????????1795920????????????????????27
............此處省略0個文件信息
評論
共有 條評論