詞法分析程式設計

2021-06-22 12:13:55 字數 1492 閱讀 9346

【實驗目的】

(1)理解詞法分析在編譯程式中的作用

(2)加深對有窮自動機模型的理解

(3)掌握詞法分析程式的實現方法和技術

【實驗內容】

對下述單詞表定義的語言設計編制乙個詞法分析器。

各種單詞符號對應的種別碼如下表:

單詞符號

種別編碼

begin1if

2then

3while4do

5end

6l(l|d)*

10dd*11+

13-14*

15/16:

17:=

18< 

20<> 

21<=

22> 

23>=24=

25;26(

27)28#

0【設計**如下】

#include

#include

#define max 200

char pro[max], lin[20];

int  n,i,syn;

char   *word[6]=;   // 關鍵字

char   ch ;

scaner( )

lin[j]='\0';

i--;

syn=10;

for (n=0;n<6 ;n++ )

if(strcmp(lin,word[n])==0)

}else                                           //判斷數字

i--;

lin[j]='\0';

syn=11;}}

else                                               //判斷其它符號

else if(ch=='=')

else

} ///判斷》,>=

else if(ch=='>')

else

}判斷 :,:=

else if(ch==':')

else

} //判斷其它符號

else if(ch=='+')

else if(ch=='-')

else if(ch=='*')

else if(ch=='/')

else if(ch=='=')

else if(ch==';')

else if(ch=='(')

else if(ch==')')

else if(ch=='#')

else

syn=-1;

}return syn;

}void read()   //定義從檔案讀入資料函式

pro[k]='\0';

fclose(fp);

}void main()

} while (syn!=0);

printf( "\n詞法分析結束\n" );

scanf("%c",&i);

}

詞法分析程式設計

實驗內容 對乙個簡單語言的子集編制乙個一遍掃瞄的詞法分析程式。實驗要求 1 待分析的簡單語言的詞法 1 關鍵字 begin if then while do end 2 運算子和界符 3 其他單詞是識別符號 id 和整形常數 num 通過以下正規式定義 id letter letter digit ...

編譯原理 詞法分析程式設計

一 實驗目的 設計 編制並除錯乙個簡單語言cp compiler principle 的詞法分析程式,加深對詞法分析原理的理解。二 實驗內容 說明 1 cp語言是大小寫敏感語言 2 字母為a za z,數字為0 9 3 學有餘力同學可以在上述詞法要求基礎上進行擴充和改造 4 每行 中從 開始的部分為...

Sicily 1000 詞法分析程式設計

description input 輸入一程式,結束符用 output 輸出單詞數對 類號,序號 輸出識別符號表,用空格分隔 輸出無符號整數表,用空格分隔 sample input main sample output 1,1 3,0 3,1 3,2 1,0 4,0 2,2 5,0 3,4 4,1 ...