int b1; b1=b; while(l>0) {
b1=s[b1]; l--; }
return b1; }
五、 实验结果
1.输入PL/0源程序 const a=10; var b,c; procedure p begin c:=b+a end; begin read (b); while b#0 do begin call p; write(2*c); read(b) end end.
2. 输入分别输入b值的结果 当b=2; 输出结果为24 当b=3;输出结果为26 当b=1;出结果为22 当b=0;结束程序
六、 实验体会
通过该实验,本人学会了应用C语言调试和扩充PL/0编译程序的能力,此实验完成了PL/0词法分析、语法分析、语义分析、代码生成和代码优化等功能,并在此基础上实现了PL/0语言的扩充能力,从实际的应用中深刻领悟了编译程序的原理,更加深刻的学习了理论知识。
36