语言处理器:一个集成的开发环境,其中包括很多种类的语言处理器,比如编译器,解释器,汇编器,链接器,加载器,调试器以及程序概要提取工具。
编译器的步骤:一个编译器的运作需要一系列的步骤,每个步骤把源程序从一个中间表示转换成为另一个中间表示。
机器语言和汇编语言:机器语言是第一代程序设计语言,然后是汇编语言。使用这些语言进行编程既费时又容易出错。
编译器设计中的建模:编译器设计是理论对时间有很大影响的领域之一。已知在编译器设计中有用的模型包括自动机,文法,正则表达式,树形结构和很多其他理论概念。
代码优化:虽然代码不能真正达到最优化,但提高代码的效率的科学既复杂又非常重要,它是编译技术研究的一部分。
高级语言:随着时间的流逝,程序设计语言担负了越来越多的由原先程序员负责的任务,比如内存管理,类型一致性检查或代码的并发执行。
编译器和计算机体系架构:编译器技术影响了计算机的体系架构,同时也受到体系结构发展的影响。体型结构中的很多现代创新都依赖于编译器能够从源程序中抽取出有效利用硬件的能力。
软件生产率和软件安全性:使得编译器能够优化代码的技术同样能够用于多种不同的程序分析任务。这些任务既包括探测常见的程序错误,也包括发现程序可能会收到已被黑客们发现的多种入侵方式之一的伤害。
作用域规则:一个x的声明的作用域是一段上下文,在此上下文中对x的使用指向了这个声明。如果仅仅通过阅读某个语言的程序就可以确定其作用域,那么这个语言使用了静态作用域,或者说词法作用域,否则这个语言使用了动态作用域。
环境:名字和内存位置关联,然后在和值相关联。这个情况可以使用环境和状态来描述。其中环境把名字映射为存储位置,而状态则把位置映射到它的值。
块结构:允许语句块相互嵌套的语言称为块结构的语言。假设一个块中有一个x的声明D,而嵌套于这个块中的块B有一个对名字x的使用。如果在这两个块之间没有其他声明了x的块,那么这个x的使用位置D的作用域内。
参数传递:参数可以通过值或引用的方式从调用过程传递给被调用过程。当通过值传递方式传递大型对象时,实际被传递的值是指向这些对象本身的引用。这样就变成了一个高效的引用调用。
别名:当参数被引用传递方式传递时,两个形式参数可能会指向同一个对象。这回造成一个变量的修改改变了另一个变量的值。
Comments NOTHING