重庆时时彩开户  »  电脑  »  电脑其它  »  张发存编译原理教程(全集)
张发存编译原理教程(全集)
名称:张发存编译原理教程(全集)
分类:电脑其它
主讲:    
TAG:编译原理  计算机    
时间:2014-12-22 10:46
收藏:搜藏到百度  收藏到QQ书签
张发存编译原理教程(全集)相关介绍

编译原理是计算机科学与技术专业的核心专业基础课,在本学科体系中占有十分重要地位。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对大家提供了系统而有效的训练,有利于提高软件人员的素质和能力。

编译原理一直是计算机学习的必修课。当然,由编译器的阶段使用的算法与支持这些阶段的数据结构之间的交互是非常强大的。编译器的编写者尽可能有效实施这些方法且不引起复杂性。理想的情况是:与程序大小成线性比例的时间内编译器,换言之就是,在0 ( n )时间内,n是程序大小的度量(通常是字符数)。本节将讲述一些主要的数据结构,它们是其操作部分阶段所需要的,并用来在阶段中交流信息。

程序设计语言的词法和语法结构通常用形式的术语指定,并使用正则表达式和上下文无关文法。但是,程序设计语言的语义通常仍然是由英语(或其他的自然语言)描述的。这些描述(与形式的词法及语法结构一起)一般是集中在一个语言参考手册(language reference manual )或语言定义(language definition)之中。因为编译器的编写者掌握的技术对于语言的定义有很大的影响,所以在使用了一种新的语言之后,语言的定义和编译器同时也能够得到开发。类似地,一种语言的定义对于构造编译器所需的技术也有很 大的关系。编译器的编写者更经常遇到的情况是:正在实现的语言是众所周知的并已有了语言定义。有时这个语言定义已达到了某个语言标准(language standard )的层次,语言标准是指得到诸如美国国家标准协会(American National Standards Institute ,ANSI )或国际标准化组织 (International Organization for Standardization,ISO )的官方标准组织批准的标准。FORTRAN、 Pascal和C语言就具有ANSI标准,Ada有一个通过了美国政府批准的标准。

在这种情况下,编译器的编写者必须解释语言的定义并执行符合语言定义的编译器。通常做到这一点并不容易, 但是有时由于有了标准测试程序集(测试组(test suite )),就能够测试编译器(Ada有这样一个测试组),这又变得简单起来了。有时候,一种语言可从数学术语的形式定义(formal definition )中得到它的语义。现在人们已经使用了许多方法,尽管一个称作表示语义(denotational semantics )的方法已经成为较为常用的方法,在函数编程共同体中尤为如此,但现在仍然没有一种可成为标准的方法。当语言有一个形式定义时,那么在理论上就有可能给出编译器与该定义一致的数学证明,但是由于这太难了,而几乎从未有人做过。无论怎样, 运行时环境的结构和行为是尤其受到语言定义影响的编译器构造的一个方面。

广告合作关于我们免责声明GOOGLE地图百度地图最近更新RRS订阅
版权所有:星火视频教程网 | 苏ICP备15005240号 | Email:njjqs2003#126.com
Copyright © 2009 www.hbyjob.com All rights reserved
合作: 澳门博彩官网 现金二八杠 重庆时时彩开户