AJAX将成为移动Web2.0时代首选开发平台

news/2024/7/8 8:06:42
LCC 编译器要分析下面的程序,大体流程是这样的。
#001 #include
#002 
#003 int main(void)
#004 {
#005  int nTest1 = 1;
#006  int nTest2 = 2;
#007  int nTest3;
#008  int i;
#009  
#010  nTest3 = nTest1 + nTest2;
#011  printf("nTest3 = %d/r/n",nTest3);
#012  
#013  for (i = 0; i < 5; i++)
#014  {
#015         printf("%d/r/n",nTest3+i);
#016  }
#017  
#018  printf(__TIME__" "__DATE__"/r/nhello world/n");
#019  return 0;
#020 }
#021 
当遇到复合语句第 4 行开始时,就进入了复合语句处理,直到第 20 行退出来。在复合语句里,先要把所有局部变量的声明分析完成,也就是把第 5 行到第 8 行的局部变量保存到 code::Blockbeg 类型的代码块里,它的符号表就添加到 cp->u.block.locals 里。当然在分析局部变量时,就遇到第一个局部变量声明同时还进行初始化的动作,因此又要把代码生成块添加到代码表里,也就是添加 code::Gen 代码块。但代码块 code::Blockbeg 是先于 code::Gen 代码块的,因此后面 nTest2 nTest3 i 等几个局部变量声明,还是添加到 code::Blockbeg 代码块里,这样就很方便后面计算栈里分配局部变量的大小了。接着就会把第 10 行到第 19 行的代码生成 code::Gen 块、 code::Jump 块和 code::Label 块。
最后在第 20 行的复合语句结束时,再生成 code::Blockend 代码块。
因而在后端遍历代码表时,就先分析局部变量的代码块 code::Blockbeg ,然后分析 code::Gen code::Jump 块和 code::Label 块,最后分析 code::Blockend 代码块。这就是复合语句的代码块流程。
 



http://www.niftyadmin.cn/n/3652850.html

相关文章

Linux中FTP文件传输

Linux中FTP文件传输一. FTP服务二. FTP实验1. yum 安装vsfpd2. 设置匿名用户访问的FTP服务&#xff08;最大权限&#xff09;#修改配置文件3. 匿名访问测试4. 匿名通过FTP上传和下载文件三. 修改FTP 用户权限一. FTP服务 FTP服务是用来传输文件的协议 FTP服务器默认使用TCP协…

AJAX框架资源汇总

1. Pure Javascript: Application Frameworks1.1 Bindows (成立于2003年)Backbase是一个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案。Bindows无需下载安装客户端支撑组件&#xff08;如Java、ActiveX或Flash&#xff…

Linux中SSH远程管理及密钥验证

一. OpenSSH服务器 1. SSH协议 是一种安全通道协议对通信数据进行了加密处理&#xff0c;用于远程管理 OpenSSH 服务名称&#xff1a;sshd服务端主程序&#xff1a;/usr/sbin/sshd服务端配置文件&#xff1a;/etc/ssh/sshd_config SSH优点 数据传输是加密的&#xff0c;可…

ASP.NET验证控件详解

ASP.NET是微软推出的下一代WEB开发工具&#xff0c;其强大的功能立即吸引了一大批WEB开发者投入它的靡下。现在&#xff0c;我们来看看ASP.NET的验证控件&#xff0c;感受ASP.NET的强大功能同时方便我们现在的WEB开发。WEB开发者特别是ASP开发者&#xff0c;一直对数据验证比较…

Linux 之NFS共享存储服务

NFS共享存储服务一、NFS概述1、NFS优点与缺点2、NFS服务实现所需条件二、NFS服务配置1、服务器使用NFS发布共享资源2、在客户机中访问NFS共享资源一、NFS概述 ●NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议&#xff0c;客户机可以像访问本地目录一样访问远程…

通用分页控件(DataGrid,DataList,Repeater都可以用它来分页)

1.建立用户控件Pager.ascx1.1 html<script language"javascript">function callButtonEvent() { var keycode window.event.keyCode; if(keycode13) { if(check()true) { event.cancelBubbletru…

J2ME程序开发新手入门要领

一、J2ME中需要的Java基础知识JAVA手机网[www.cnjm.net]现在有大部分人&#xff0c;都是从零开始学J2ME的&#xff0c;学习J2ME的时候&#xff0c;总是从Java基础开始学习&#xff0c;而且现在讲Java基础的书籍中都是以J2SE来讲基础&#xff0c;这就给学习造成了一些不必要的麻…

FCS视频技术实例

以前在公司和刘工一起研究过flashCom今天写篇关于flashCom的例子工大家学习研究使用&#xff0c;是一个简单的&#xff26;&#xff2c;&#xff21;&#xff33;&#xff28;播放&#xff26;&#xff2c;&#xff36;视频的例子&#xff0e;&#xff0e;下面就打开您的Macrom…