当前位置:首页 > 编译原理实验报告一 简单样本语言的词法分析器
}
token[m++]=ch;
else { } break;
syn=23; p--;
case'>':m=0;token[m++]=ch;
ch=prog[p++]; if(ch=='=') { } else { } break;
syn=20; p--; syn=24;
token[m++]=ch;
case':':m=0;token[m++]=ch;
ch=prog[p++]; if(ch=='=') { } else { }
syn=17; p--; syn=18;
token[m++]=ch;
专业资料
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; case'=':syn=25;token[0]=ch;break; case';':syn=26;token[0]=ch;break; case'(':syn=27;token[0]=ch;break; case')':syn=28;token[0]=ch;break; case'#':syn=0;token[0]=ch;break; case'\\n':syn=-2;break; default: syn=-1;break; }
void main() {
p=0; row=1;
cout<<\do { }
while(ch!='#'); p=0; do {
scaner(); switch(syn) {
case 11: cout<<\ cin.get(ch); prog[p++]=ch; }
专业资料
case -1: cout<<\
case -2: row=row++;break;
default: cout<<\ }
}
while (syn!=0);
}
(2)创建编辑程序
(3)连接、编译和调试程序
专业资料
(4)运行程序
五、实验过程原始记录( 测试数据、图表、计算等) (1)给定源程序
begin x:=8; if x>0 then x:=2*x+1/5; end#
输出结果
(2)源程序(包括上式未有的while、do以及判断错误语句):
专业资料
共分享92篇相关文档