第553章 教学(第2页)

 但是,作为一个具有实际应用价值的编译系统,除了基本功能之外,还应具备语法检查、调试措施、修改手段、覆盖处理、目标程序优化、不同语言合用以及人-机联系等重要功能。 

 比如编译程序必须分析源程序,然后综合成目标程序。 

 首先,我们需要检查源程序的正确性,并把它分解成若干基本成分;其次,再根据这些基本成分建立相应等价的目标程序部分…… 

 词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。 

 这个执行词法分析的程序称为词法分析程序或扫描器…… 

 要注意的是,源程序中的单词符号经扫描器分析,一般产生二元式。而手工构造可使用状态图进行工作,自动生成则是使用确定的有限自动机来实现……” 

 从语法分析,到中间代码生成,再到代码优化、目标代码生成,一堂课的时间,刘存涛就带着这些学员进行了一个跨度极大的跨越式综合浏览学习。 

 当然,这也只能是对这些行业精英,可以使用这种教学方式,因为大家都懂,而不需要太过于夯实基础。 

 如果是一个大一新生,哪怕是青木、夏科大这些顶级高校的大一新生,要是到这个房间来听课,仅仅只需要十分钟,就绝对会因为跟不上进度,而开始听天书。 

 十年树木百年树人,周瑜培养了

这么些年,也才培养出这么一些精英。 

 刘存涛从早上七点,一直讲到了晚上十点多钟。 

 茶水都喝了好几大杯,中间的饭菜都是食堂送过来的套餐盒饭。 

 “目标代码生成是编译的最后一个阶段,但也是我们绝对不能掉以轻心的关键阶段。 

 目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。目标代码有三种形式,第一种是可以立即执行的机器语言代码,所有地址都重定位; 

 第二种是待装配的机器语言模块……还有我们需要重点学习的第三种——汇编语言代码,也就是必须经过汇编程序汇编后,成为可执行的机器语言代码。 

 我们的要求就是,必须要尽可能生成较短的目标代码,充分利用计算机中的寄存器,减少目标代码访问存储单元的次数。” 

 刷刷刷,几笔写完。 

 当刘存涛说道:“下课”的时候,哪怕精力最好的那几位青年,也突然像是被放了气的气球,瞬间萎靡不振。 

 什么趁热打铁,进行实际开发? 

 刘存涛讲了一天,也只是讲了一个大概体系和方法,给他们留有印象而已。 

 真正的开发教学,明天才是正常开始…… 

 等到教学结束,刘存涛呷了一口温热的茶水,看着这些同事们的难受模样,心中却有不少感慨。 

 他当时看到那些资料的时候,也没有好到哪里去……