14331275 王鎮佳功能
首先,構造其文法如下:
e -> te』
e』 ->
+ te』 |
-te』 | ϵ
t ->
ft』t』 ->
*ft』 |
/ft』 | ϵ
f ->
-f| id | (e)
其中id -> [0
-9]*.
[0-9
]*| [0
-9]+
在**中用完整函式名代替
expr -> term expr'
expr'
->
+ term expr' | - term expr'
| epsilon
term -> factor term'
term'
->
* factor term' | / factor term'
| epsilon
factor ->
-factor
| real | (expr)
real -> [0
-9]*.
[0-9
]*| [0
-9]+
根據ll(1)文法構造**分析表
非終結符號id+
最後根據此表完成對應函式
double expr(void);
double expr_(void); // means e'
double term(void);
double term_(void); // means t'
double factor(void);
void errorhandler(void);
執行
c語言實現
編譯環境:gcc
執行方法:
make clean
make
./bin/calc
LL 1 文法判斷
ll 1 文法判斷 題型 1.判斷該文法是否是ll 1 文法?2.若是,給出它的ll 1 分析表,否則說明理由。概念 對於產生式 a 1.如果 均不能推導出 空語句 則 first first 2.和 至多有乙個能推導出 3.如果 經過0步或多步可以推導出 則 first follow a 關鍵 求...
LL(1)文法解析
一 問題描述 給定上下文無關文法,對其進行解析,得出first集和follow集。在有能力的情況下,可以求出ll 1 分析表。二 演算法設計 本程式主要分成三塊內容,第一是文法的讀入解析,第二是first集的求解,第三為follow集的求解。文法的解析需要根據整行讀入的文法,生成rulelist 表...
python3 5實現LL 1 文法
created by ws 文法 e e t t t t f f f e i 消除左遞迴 e th h th e e替代空 t fy y fy e f e i 非終結符 e,h,t,y,f 終結符 i,手動構造 分析表 dists 構造終結符集合 vt i 構造非終結符集合 vh e h t y f...