这一节真是读得绝望,好多生单词。今天把Introduction搞完
简介编写编译器的基础东西
介绍了几种最基本的(fundamental)方法(model)?
context-free grammar(上下文无关文法)treefinite-state machines(有限状态机)regular exPRessions(正则)讲了优化的几个标准:
优化必须是对的,不改变程序的原意优化必须对大多数程序成立编译时间在合理范围内编写花费在可控范围内总体讲写编译器的方法还能用到别的上面。
讲了高级编程语言的实现?(这节不是很清楚)
所有的高效率系统都用好了两种技巧:并行(parallelism),存储器等级(memory hierarchy)
然后介绍了一波parallelism和memory hierarchy
parallelism就是编译器把程序中可以同时进行的操作放到一起让cpu去同时操作。(in instruction level)processor level上就是程序的可在多种cpu上跑memory hierarchy大致就讲计算机都有这个层次,memory不可能又快又大instruction level processor level
介绍了编译器技术对电脑结构设计的促进
RISC
一种优化的指令集(Reduced Instruction-Set Computer)x86用的是CISC,然后RISC不知道比x86高到哪里Specialized Architecture
并不知道在说些什么将编译器这种把source code转成target code的思想可以用在别的上面
比如不同架构的cpu的二进制代码转换(binary translation),程序转硬件结构(hardware synthesis),database query interpreter(不知道在说什么),编译过的模拟器比别的跑得快?(compiled simulation)介绍了几种编译器可以提供的用于编程的工具 类型检查(type checking) 越界检查(bounds checking) 内存管理工具(memory management tool),比如java的垃圾回收(garbage collection)
新闻热点
疑难解答