【實驗目的】
(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 ...