{
printf(\); kk=1; } return; }
//////////////////////////////////////////////////////// void expression() { term();
while(syn==13 || syn==14) {
scaner(); term(); } return; }
/////////////////////////////////////////////////////// void term() { factor();
while(syn==15 || syn==16) {
scaner(); factor(); } return; }
////////////////////////////////////////////////////// void lrparser() {
if (syn==1) //begin {
scaner();
yucu();
if (syn==6) //end {
scaner();
if (syn==0 && kk==0) printf(\); } else {
if(kk!=1) printf(\); kk=1; } } else {
printf(\); kk=1; }
return; }
///////////////////////////////////////////////////// void yucu() {
statement(); while(syn==26) //; {
scaner(); statement(); } return; }
///////////////////////////////////////////////////// void factor() {
if(syn==10 || syn==11) scaner(); //为标识符或整常数时,读下一个单词符号 else if(syn==27) {
scaner(); expression();
if(syn==28) scaner();
else {printf(\错误\\n\); kk=1;} }
else { printf(\表达式错误\\n\); kk=1;} return; }
//////////////////////////////////////////////////// void main() {p=0;
printf(\语法分析程序***************\\n\); printf(\请输入源程序:\\n\); do
{ scanf(\,&ch); prog[p++]=ch; }while(ch!='#'); p=0; scaner(); lrparser();
printf(\语法分析结束!\\n\); }
五、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
(1)输入字符串begin x:=2*y end #其结果如下图所示:
(2)输入的字符串少了begin,则会有提示信息:
(3)输入的字符串的括号不全,也会有提示信息:
对课程实验的评分:
评分项目 综合分 (分值) (100分) 得分
指导老师签字:
时间:
年 月
日
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库华科编译原理实验报告(4)在线全文阅读。
相关推荐: