學編譯原理,乙個文法規則的實現

2021-05-25 20:43:16 字數 731 閱讀 6285

用來描敘化學分子式的書寫規則(例如:al2(co3)3 ,cu(oh)2)

a-->mn/(c)

mn 為乙個大寫字母和乙個小寫字母

c-->b/bc

c為乙個分子式

b-->a/an

#include

#include

#include

#define maxn 300

#define gmlen 10

struct elemntbl[maxn];

char *pos;

char cmstr[gmlen];

file *fp;

int c;

double factor();

double atom()      //處理文法 a

else if(c=='(')

printf("分子式中存在非法字元!/n"); 

return -1.0;

}double matom()   //處理文法 b

pos--;

return num*n;} }

double factor()    //處理文法c

while(*pos>='a'&&*pos<='z'||*pos=='(')

return num;

}int main(int argc, char *argv)

while(i0.0)

}return 0;

}

乙個hello world的編譯原理

乙個簡單的hello world 程式 include int mian 通過 gcc hlello.c a.out 可生產hello world 事實上,上述過程可以分解為4個步驟,分別是預處理 prepressing 編譯 compilation 彙編 assembly 和連線 linking ...

對編譯原理文法的一點理解

詞法 詞性,詞義 描述詞 句法 詞與詞之間的依賴關係與結構關係 描述句子 文法和語法 是同乙個意思,都是指英語中的grammar 描述語言 文法包含詞法和句法,詞法不難理解,所以我們要研究文法,就該重點研究的一下句法了。在看編譯原理時說是文法g s 其實我覺得也可以叫做句法g s 文法能夠推導出所有...

乙個簡易的C語言文法

程式 外部宣告 程式 外部宣告 外部宣告 函式定義 宣告 函式定義 型別說明 宣告符 符合語句 型別說明 宣告符 指標直接宣告符 直接宣告符 指標 指標 直接宣告符 識別符號 常量表示式 參數列 識別符號列表 復合語句 語句列表 宣告列表 宣告列表 宣告 宣告列表宣告 識別符號列表 識別符號 識別符...