一些第一次看的,觉得需要记下来的东西.
/* * *
*进度,1.5
*(谈的很多,很广,以至于回忆不起同名专业课上课讲的什么,或许就直接开的?
*看网课视频是做题驱动,功利功利)
*/
第一章 引论
程序设计语言是向人以及计算机描述计算过程的记号.如我们所知,这个世界依赖于程序设计语言,因为在所有计算机上运行的所有软件都是用某种程序设计语言编写的.但是,在一个程序可以运行之前,它首先需要被翻译成一种能够被计算机执行的形式.
完成这项工作的软件系统称为编译器.
以一个简单的例子开头:
语句被拆分成如<token-name,attribut-value(属性值)>的词法单元,然后分析,生成代码
(F表示处理的是浮点数)
1.2.9 编译器构造工具(这个暂时不知道有什么用,先记下来,见《编译原理》第二版P7)
1.3.1走向高级程序设计语言(对一些常用/不常用的语言简单分了下类,描述了其特征,P7)
之后是一些应用的简单介绍
几乎所有的高性能系统都利用了这两种技术:并行(parallelism)和内存层次结构(memory hierarchy)
-----------------------AMD YES!
一个很有意思且很有前景的辅助性方法是通过数据流分析技术静态地(即在程序运行之前)定位错误.数据流分析可以在所有可能的执行路径上找到错误,而不是像程序测试的时候所做的那样,仅仅是在那些由输入数据组合执行路径上找到错误.很多原本为编译器优化所开发的数据流分析技术可以用来创建相应的工具,帮助程序员完成他们的软件工程任务.
静态探测程序:
类型检查
边界检查
内存管理工具