C語言實現簡單 詞法分析程式(編譯原理)

2021-10-10 21:40:20 字數 2129 閱讀 7145

;// 遇# 為0,結束迴圈。

}void

scaner()

token[m++]=

'\0'

;// 字元陣列結尾符號

/*回退乙個字元; 此時的p代表 非字母或數字的字元的 下乙個字元*/

p--;// 回退到 非字母或數字的那個字元

// 先預先設定為 識別符號的 種別碼

syn=10;

for(n=

0; n<

6; n++)if

(strcmp

(token,rwtab[n])==

0)// 判等函式,相等返回0, 大於返回正整數,小於返回負整數

}else

if(ch >=

'0'&& ch <=

'9')

// 用來判斷數字

p--;// 同樣p--,因為這個p--代表的字元,還沒被處理

syn=11;

}else

switch

(ch)

else

if(ch==

'=')

else

break

;case

'>'

: token[m++

]=ch;

ch=prog[p++];

// 同上,不過老師的 syn 值給錯了,改過來就行

if(ch==

'=')

else

break

;case

':': token[m++

]=ch;

ch=prog[p++];

if(ch==

'=')

else

break

;case

'+': syn=

13; token[0]

=ch;

break

;case

'-': syn=

14; token[0]

=ch;

break

;case

'*': syn=

15; token[0]

=ch;

break

;case

'/': syn=

16; token[0]

=ch;

break

;/*...補齊單詞表中其他單個界符;*/

C語言簡單詞法分析器

詞法分析器 c語言 輸入源程式 輸出單詞符號 1 預處理程式 2 掃瞄器 單詞識別程式 include include include define keyword num 32 int pos pos搜尋指標 char ch ch最新讀入的字元 char buf 1000000 buf緩衝區 ch...

小C語言程式 詞法分析程式輸出單詞

7 2 小c語言 詞法分析程式 30 分 小c語言文法 程式 宣告序列 宣告序列 宣告語句 宣告語句 空 宣告語句 識別符號表 識別符號表 識別符號 識別符號表 識別符號 語句序列 語句序列 語句 語句 語句 if語句 while語句 for語句 復合語句 賦值語句 if語句 if關鍵字 表示式 復...

編譯原理詞法分析程式C 實現

題目要求 對給定的c語言程式,識別出關鍵字 整型常量 實型常量 包括1.23e 23這樣的科學計數法 識別符號 分隔符 運算子。語言 c 整合環境 vs 2017 演算法 使用狀態轉換圖實現 程式 關鍵字 標示符 整型常量 200,數值 實型常量 300,數值 分隔符 400 408,運算子 500...