實驗三 語法分析程式實驗
專業 商軟2班 姓名 黃仲浩 學號 201506110166
一、實驗目的
編制乙個部分文法分析程式。
二、實驗內容和要求
輸入:源程式字串
輸出:正確或者錯誤
三、實驗方法、步驟及結果測試
源程式名:遞迴下降分析.c
可執行程式名:遞迴下降分析.c
原理分析及流程圖
#include#include主要程式段及其解釋:s().t().u()//只是分析c語言的部分scaner()//進行下乙個字元的記錄char token[30];//
儲存輸入的字元
char sym;//
記錄下乙個字元
char s;//
輸入字元的傳遞
static
int p=0 ;//
下乙個字元的下標
void
s();
void
t();
void
u();
void scaner();//
下乙個字元
void error();//
錯誤結束
//以此文法為基礎作此程式
//s->a|^|(t)
//t->su
//u->,su|$
intmain()
while(token[i]!='#'
); scaner();
s();
if(sym=='#'
) printf(
"success!\n");
else
printf(
"fail!\n");
return0;
}void
scaner()
void
error()
void
s()}
void
t()void
u()
else
if(sym!=')'
) error();
}
error()//結束的標誌
執行結果及分析
四、實驗總結
此程式只是以部分為主做出來,是為了慢慢地做好全部c語言的分析。我會慢慢以此思考ll(1)文法來進行最終的文法改寫分析。
遞迴下降分析法
4 遞迴下降分析法 遞迴下降分析法是確定的自上而下分析法,這種分析法要求文法是 ll 1 文法。它的基本思想是,對文法中的每個非終結符編寫乙個函式 或子程式 每個函式 或子程式 的功能是識別由該非終結符所表示的語法成分。由於描述語言的文法常常是遞迴定義的,因此相應的這組函式 或子程式 必然以相互遞迴...
(原創)自頂向下分析法 遞迴下降分析程式構造
題目 自頂向下分析法 遞迴下降分析程式構造 開發環境 vc6.0 include include 全域性變數 char exp 30 gra 30 prod 30 chexp int expsize 0,grasize 0,step 0 函式宣告 1 e tg 2 g tg tg 3 t fs 4 ...
軟體構造實驗三 遞迴下降分析分析法
實驗目的 1 掌握自上而下語法分析的要求與特點。2 掌握遞迴下降語法分析的基本原理和方法。3 掌握相應資料結構的設計方法。實驗內容 用遞迴下降法編寫乙個語法分析程式,使之與詞法分析器結合,能夠根據語言的上下文無關文法,識別輸入的單詞序列是否文法的句子。實驗要求 對下列文法,用遞迴下降分析法對任意輸入...