[转载] LCC编译器的源程序分析(34)continue语句
来源:互联网 发布:淘宝定制产品退货 编辑:程序博客网 时间:2024/05/12 13:21
continue语句的作用是跳过循环体中后面尚未执行的语句,接着进行下一次是否执行循环的判断。比如下面的例子:
while(表达式1)
{
…
if(表达式2)
continue;
…
}
下面就来仔细地分析LCC里处理continue语句的源程序:
#001 case CONTINUE:
#002 walk(NULL, 0, 0);
#003 definept(NULL);
#004
#005 if (loop)
#006 branch(loop + 1);
#007 else
#008 error("illegal continue statement/n");
#009
#010 t = gettok();
#011 expect(';');
#012 break;
第2行是复位所有分配的内存。
第3行是定义执行点。
第5行是判断是否在循环语句中,如果不在,就表示使用这个语句出错,这是在第8行里处理。
第6行是处理跳转到下一个循环,由于在以前介绍的三个循环里都是在第2个标号里运行条件判断表达式的,所以调用loop + 1的标号。
第10行是获取下一个记号。
第11行是判断这个语句是否以分号结束。
- [转载] LCC编译器的源程序分析(34)continue语句
- LCC编译器的源程序分析(34)continue语句
- [转载] LCC编译器的源程序分析(20)复合语句
- [转载]LCC编译器的源程序分析(27)基本语句
- [转载]LCC编译器的源程序分析(28)函数表达式语句
- [转载]LCC编译器的源程序分析(29)if条件语句
- [转载]LCC编译器的源程序分析(30)while循环语句
- [转载] LCC编译器的源程序分析(32)for循环语句
- [转载]LCC编译器的源程序分析(33)break语句
- [转载]LCC编译器的源程序分析(35)switch语句
- [转载]LCC编译器的源程序分析(36)case语句
- [转载]LCC编译器的源程序分析(37)default语句
- [转载]LCC编译器的源程序分析(38)return语句
- [转载]LCC编译器的源程序分析(39)goto语句
- [转载] LCC编译器的源程序分析(61)复合语句的代码块流程
- [转载]LCC编译器的源程序分析(31)do while循环语句
- [转载]LCC编译器的源程序分析(6)词法分析
- [转载]LCC编译器的源程序分析(7)词法分析
- hql一个奇怪的现象
- 孔颜之乐
- RHEL 4 性能优化
- 如何用正则表达式去除连续相同字符?
- javascript关于图片自适应的小函数
- [转载] LCC编译器的源程序分析(34)continue语句
- JS读些GridView
- 使用NUnit在.Net编程中进行单元测试
- 空属类型 ?
- [转载]LCC编译器的源程序分析(35)switch语句
- firefox常见问题解答
- oracle常用函数
- Solaris 10 1/06 boot: Grub, kernel, boot_archive
- [转载]LCC编译器的源程序分析(36)case语句