当前位置: 首页 > news >正文

中国建设银行亚洲网站/免费推广广告链接

中国建设银行亚洲网站,免费推广广告链接,wordpress 付费字段,四川政府网站建设管理语义分析中要考虑的其他问题: 类型相容性?错误诊断?代码翻译?1、类型相等 类型检查问题往往归结为判断两个类型是否相等t1 t2? 在实际的语言中,这往往是个需要谨慎处理的复杂问题。 示例1:名字相等 V…

语义分析中要考虑的其他问题:

  • 类型相容性?
  • 错误诊断?
  • 代码翻译?

1、类型相等

类型检查问题往往归结为判断两个类型是否相等t1 == t2?

在实际的语言中,这往往是个需要谨慎处理的复杂问题。

示例1:名字相等 VS 结构相等

对采用名字相等的语言,可直接比较

对采用结构相等的语言,需要递归比较各个域

struct A
{int i;
} x;struct B
{int i;
} y;x = y;

我们可以看到上述代码中,x与y的存储结构是一样的,都是一个4字节的整形域i(32位机器上),那么把y赋值给x这样的操作合法吗?

这个问题取决于研究的语言的语义,如果这个语言的语义采用的是名字相等的策略,那么这样的赋值就是非法的,因为y的类型名字是B,x的类型名字是A,类型名字是不一样的,所以这样的赋值是不能做的;但如果采用结构相等的语言,两侧同为结构体类型,我们需要看每个域,域的个数是不是一样,每个域是不是可以分别赋值,可能需要递归的来比较各个域。

示例2:面向对象的继承

需要维护类型间的继承关系

class A
{int i;
}class B extends A
{int i;
}A x;
B y;
x = y;

子类对象y赋给父类对象x,如果只看类型的话,y的类型是B,x的类型是A,也是不相等的,所以在面向对象语言中,为了这种类型检查可以通过,需要维护类型间的继承关系,在Java中,继承是一棵树状的关系,任何子类对象都可以赋给父类对象。面向对象中,子类到父类的转换称为向上转型。

2、错误诊断

(1)要给出尽可能准确的错误信息

(2)要给出尽可能多的错误信息

  • 从错误中进行恢复

(3)要给出可能准确的出错位置

  • 程序代码的位置信息要从前端保留并传递过来

3、代码翻译

现代的编译器中的语义分析模块,除了做语义分析外,还要负责生成中间代码或目标代码

代码生成的过程也同样是对树的某种遍历。

因此,语义分析模块往往是编译器中最庞大也最复杂的模块。

http://www.jmfq.cn/news/5304169.html

相关文章:

  • 长沙手机网站建设公司哪家好/可以商用的电视app永久软件
  • 辽宁省交通建设投资集团网站/关于市场营销的100个问题
  • 做网站的人叫什么软件/三叶草gw9356
  • 多语言网站思路/夸克搜索引擎入口
  • 郑州推广网站/seo方案书案例
  • 视频优化网站怎么做/网络推广费用计入什么科目
  • 桂阳网站设计/最强大的搜索引擎
  • 网站建设设计 网络服务/长沙靠谱seo优化
  • 如何做网站价格策略/防止恶意点击软件管用吗
  • 电商型网站建设/谷歌优化seo
  • 网站开发前端好还是后端好/潮州seo
  • 免费建站平台哪个稳定/购物网站有哪些
  • 作为一个大学生网站 应该怎么做/百度号码认证平台取消标记
  • python 网站开发教程/海外营销推广
  • 做网站设计答辩问题/百度号码认证平台官网首页
  • 个人主页搭建/新乡seo公司
  • 珠海网络公司网站建设/镇江seo公司
  • 中山网站建设sipocms/品牌软文
  • 做网站推销手表/佛山做网络优化的公司
  • WordPress手动切换主题/优化推广seo
  • 做网站要学什么c语言/优化大师下载电脑版
  • 网站用户运营/壹起航网络推广的目标
  • 没有自己的境外网站怎么做谷歌推广/全媒体运营师报考官网在哪里
  • 佛山做网站的哪个好/网站查询地址
  • wordpress设置上传/台州网站优化公司
  • 凡科做网站怎么样/长尾关键词挖掘精灵官网
  • 为什么我的网站备案通过还是显示未备案/关键词排名霸屏代做
  • 网站做web服务器/网站优化资源
  • 免费使用个人网站/移动网站推广如何优化
  • 山东省住房建设部网站/百度关键词搜索引擎排名优化