實驗
一、詞法分析實驗
商業軟體工程 麥振澎 201506110162
一、實驗目的
對使用者輸入的字串進行判斷,區分它們的型別,熟悉詞法分析的過程。
二、實驗內容和要求
使用者輸入的字串進行判斷,分別輸出每個字串所屬的型別。其中的判斷標準如下:
無符號整數:《整數》
識別符號:《字母》
數字:0|1|2|......|8|9
字母:a|b|......x|y|z
保留字:const|var|procedur|begin|end|odd|if|then|call|while|do|read|write
運算子:+|-|*|/|=|#||>=|:=
界符:(|)|,|;|.
三、實驗方法、步驟及結果測試
源程式名:cifafenxi.c,可執行程式名:cifafenxi.exe
原理分析及流程圖
主要程式段及其解釋:
(1). 將保留字存放在陣列中:
char const_temp[6]=;(2).判斷數字和無符號整數:char var_temp[4]=;
char procedur_temp[9]=;
char begin_temp[6]=;
char end_temp[4]=;
char odd_temp[4]=;
char if_temp[3]=;
char then_temp[5]=;
char call_temp[5]=;
char while_temp[6]=;
char do_temp[3]=;
char read_temp[5]=;
char write_temp[6]=;
if(ch>='(3).判斷字母和識別符號以及保留字:0'&&ch<='9'
)
else
printf("\n
");}
}
else(4).判斷運算子:if(ch>='
a'&&ch<='
z'||ch>='
a'&&ch<='z'
)
else
printf("\n
");}}}
else(4).判斷界符:if(ch=='
+'||ch=='
-'||ch=='
*'||ch=='
='||ch=='
<
'||ch=='
>
'||ch=='
:'||ch=='
/'||ch=='#'
)
else
}
else(5).區分保留字和識別符號1:if(ch=='
('||ch=='
)'||ch=='
,'||ch=='
;'||ch=='.'
)
char keyworld_first(char temp,char(6).區分保留字和識別符號2:temppp)
for(i=0;i<9;i++)
number=0
;
while(temp==p[number])
if(number==length+1&&(!(temp>='
a'&&temp<='
z'||temp>='
a'&&temp<='
z'||temp>='
0'&&temp<='9'
)))
else
printf("\n
");}
return
temp;
}
char keyworld_double(char temp,char執行結果及截圖:temppp)
printf("\n
");return
temp;
}break
;
case'w
': if(temppp=='h'
) p=while_temp;
else
if(temppp=='r'
) p=write_temp;
else
printf("\n
");return
temp;
}break
; }
for(i=0;i<9;i++)
number=1
; temp=temppp;
while(temp==p[number])
if(number==length+1&&(!(temp>='
a'&&temp<='
z'||temp>='
a'&&temp<='
z'||temp>='
0'&&temp<='9'
)))
else
printf("\n
");}
return
temp;
}
四、實驗總結
對於實現這個功能而言,最麻煩的地方莫過於要去區分識別符號和保留字,因為識別符號可能是保留字中的一部分或者保留字的加長,所以為了方便判斷,把保留字存在陣列裡,在判斷的過程中能夠方便地呼叫。對於實現功能而言,不算太難,比較基礎,只是有點麻煩,需要細心而已,但細心對於我來說卻是乙個難題,希望在以後的學習中能改變這個缺點。
詞法分析實驗報告
實驗 一 詞法分析實驗 專業 商軟三班 姓名 姚棋輝 學號201506110250 一 實驗目的 編譯乙個詞法分析程式 實驗內容和要求 輸入字串,輸出這些字串的種別碼。二 實驗方法 步驟及結果測試 方法 鍵盤輸入字串時,使用陣列放起來,再從陣列這裡放進佇列。步驟 1 鍵盤輸入字串,存放在陣列中,2 ...
詞法分析實驗報告
格式說明 排版時注意按此模板的字型,字型大小和行距。報告提交和列印輸出時請去掉此框。實驗 一 詞法分析實驗 專業 商業軟體工程 姓名 李桂源 學號 201506110201 一 實驗目的 通過設計編制除錯乙個具體的詞法分析程式,加深對詞法分析原理的理解。並掌握在對程式語言源程式進行掃瞄過程中將其分解...
詞法分析實驗報告 201506110151 董廣樞
實驗 一 詞法分析 專業 商業軟體工程二班 姓名 董廣樞 學號201506110151 一 實驗目的 編制乙個詞法分析程式 二 實驗內容和要求 1 輸入 源程式字串 2 輸出 二元組 種別,單詞本身 3 待分析語言的詞法規則 三 實驗方法 步驟及結果測試 include include char p...