1977:从恢复高考到大国工匠 第227节

可眼前这个比他还小十几岁的年轻人,似乎压根就不觉得栈是唯一的路。

彭远征忽然想起自己在无线电厂那十年,那本油印编译原理教材时,书里有一页专门讲了“递归下降法”。

但那一页印得太模糊了,油墨糊成一团,只能勉强辨认出几个标题。当时他没在意,翻过去了。

现在想来,他可能错过了一扇门。

“递归下降解析法,是这几年国外在嵌入式编译器里应用得比较多的一种方法。”陆怀民说:

“它比栈更灵活,能处理更复杂的语法结构,而且代码结构清晰,调试方便。如果我们课题组要做后处理编译器,这个方法可能用得上。”

彭远征点点头,心里翻涌着说不清的滋味。

“陆……”他抬起头,一时竟不知该怎么称呼,“陆师弟,我能问一个问题吗?”

“请讲。”

“在递归下降的基础上,如果要处理更复杂的语义——比如说,数控代码里的循环、跳转、宏定义这些指令,你准备怎么设计语法规则?”

陆怀民笑了笑,反问:“彭师兄觉得呢?”

彭远征陷入了沉思。

陆怀民问的这个问题,他感受到的不是考较,而是一种邀请。

邀请他一起来思考。

“我觉得……”他思考了一会儿,斟酌着字句:

“可以在词法分析阶段,先预定义一个关键字表。解析器读到循环指令L的时候,递归下降把循环体里面的所有G代码指令打包成一个中间表示子结构……”

他顿了顿,忽然觉得这个思路很顺,继续说:

“最后,把中间表示统一展开成目标机床的G代码。这样一来,如果目标机床换了G代码方言,只需要改最后展开那一步,前面的解析逻辑完全不用动……”

说完,他自己都被这个想法的清晰度惊了一下。

“对。这其实就是分层编译的思想。”陆怀民点点头:

“把编译过程拆成前端和后端。前端解析语法,生成中间表示;后端把中间表示翻译成目标代码。这样一来,前端不变,后端可以适配任意一种数控系统的G代码方言。

彭远征看着陆怀民,心里忽然有些复杂。

他在编译这个行当里埋头啃了十年书,一直以为自己是懂编译的。

可刚才陆怀民提到的那些东西,比如递归下降、分层编译、中间表示,这些东西也不是什么复杂前沿的东西。

但从来没有人告诉他,这些零散的知识可以这样串起来,可以用在一个实实在在的工程项目里。

就好像学拳的人练了十年基本功,却从来没打过一场真正的拳。

现在,对练的对手站在他面前。比他年轻,比他资历浅,但一伸手他就知道,这人的功夫是真的。

确实厉害。

彭远征忽然笑了笑,笑容里有敬佩,也有服气。

陆怀民继续说道:

“彭师兄刚才提到,其实对应的是中间表示层的设计。但一个真正能用的后处理编译器,最复杂的往往不是语法,而是语义。比如,五轴联动的非线性误差补偿,在中间表示层怎么建模?”

彭远征的呼吸微微一滞。

五轴联动。非线性误差。

这是数控机床领域真正的工程难题。

“我……”彭远征斟酌着字句,“数控机床的运动学模型,我没有深入研究过。但如果只是从编译器设计的角度来看,误差补偿可以抽象成一种后端优化pass,在生成目标代码之前,对刀位轨迹做一次坐标变换……”

他说到一半,自己停住了。

因为他忽然意识到,他说的“坐标变换”,其实暗含了一个前提。

编译器必须能精确理解机床的机械结构。而传统的编译原理,从来不教这个。

陆怀民点了点头,说:

“彭师兄说得对,那确实是一个优化pass。但这个pass的有效性,取决于你的中间表示能不能承载机床的运动学模型。”

他顿了顿:

“这恰恰是我们这个课题组要解决的核心挑战之一。传统的编译不涉及数控机床的运动学,而传统精密制造的教材又不会讲编译器怎么设计。我们这个课题,要把这两件看起来不相干的事,真正捏在一起。”

“彭师兄刚才提的中层表示结构,如果能把运动学信息也建模进去,那这套编译器就不止是一个翻译工具,而是一个能理解物理规律的工程平台。”

他顿了顿,合上了面前的笔记本,主动朝彭远征伸出手。

“今天就聊到这里吧。彭师兄,感谢你来参加面试。”

彭远征站起身,和陆怀民握了握手,又朝钱振华和沈一鸣的方向各鞠了一躬。

他转身往外走时,脑子里翻涌得厉害。

刚才那十分钟,确实让他有一种醍醐灌顶的感觉。

他不确定自己能不能通过面试顺利加入课题组,但他确定一件事:今天的面试,来对了。

如果错过这个课题组,他会后悔。

走廊里的气氛有些微妙。

彭远征走出来的时候没说话,脸上也看不出什么表情。

朱明成第一个凑上去。

“彭老大,怎么样?”

“邪门。”彭远征想了想,吐出一个词。

朱明成一愣:“怎么你也是邪门?题目太难?还是故意出偏题为难你?”

“题目不难。”彭远征靠在墙上,想了想,补充道:

“只能说他做出那么多成果,真不是凭空来的。确实厉害,盛名之下无虚士。”

走廊里安静了一瞬。

朱明成看着彭远征,忽然觉得这个平时什么场面都见过的老大哥,这会儿说这两个字时眼神里带着一种少有的服气。

“面试来对了。”彭远征把帆布包往肩上一挎,“大家加油。这个课题组,值得进。”

第178章 好风凭借力,送我上青云

面试结束后,钱振华的办公室。

白天面试了三十来号人,这会儿桌上摊着一堆简历。

钱振华、沈一鸣和陆怀民三个人围着桌子坐着,开始讨论课题组的人选。

钱振华率先开口:

“怀民,怎么样,有心仪的人选吗?”

“编译方向,我倾向于彭远征。”陆怀民抽出彭远征的简历,放在桌子正中间,说:

“清华电机系毕业,首都无线电厂十年技术员,独立开发过三套控制系统。下午跟他聊的时候,他的思路很清晰,对整个编译的流程理解得很深。”

沈一鸣接过简历翻了翻,点点头:

“这履历硬。电机系出来的搞编译,底子扎实。”

“那就定他?”钱振华拿起笔。

“定。”陆怀民没犹豫。

钱振华在笔记本上记了几笔,又问:“计算几何那边呢?”

“七九级研究生郑国光吧。”陆怀民又抽出一份简历:

“南大数学系科班出身,数学功底是今天所有人里最好的。今天他推导B样条曲面的节点插入公式,思路很清晰。计算几何这块,数学底子决定上限,他是最合适的人选。”

钱振华接过郑国光的简历看了看,抬头问沈一鸣:“老沈,你的意见呢?”

“南大数学系是老牌强系,何旭初先生带出来的那批人,至今仍是国内计算数学的前沿阵地。”沈一鸣赞同道,“没问题。”

“行,就他了。”钱振华在笔记本上又记了一笔。

陆怀民接着补充:

“另外,沈老师这边的两位研究生也得加入进来。李雪梅师姐和周伟师兄,他们的研究方向都跟精密加工工艺有关,正好能补上工艺参数数据库这块的缺口。”

沈一鸣放下杯子,往前坐了坐,说:

“周伟的情况我补充一下。他和雪梅都是七七级的研究生,七八年春入的学,正常是明年七月毕业。但周伟被七机部八院800所特招了,那边报到时间卡得死,所以他会提前到今年十二月毕业,只能在课题组的初期阶段帮忙,等十二月一毕业,人就得走。”

七机部八院 800所。

陆怀民听到这个代号,心里微微动了一下。

800所是七机部直属的绝密军工单位,专门搞航天精密机械与火箭结构制造,涉密级别极高。

周伟被七机部八院 800所特别招录,而且还提前半年毕业,确实是实力过硬。

“七机部800所……”钱振华咂摸了一下这个代号,“航天口的?老沈,是你给他推荐的?”

“对。”沈一鸣点点头,“我按他本人的意愿,向那边作了推荐。对方急着要人,接收意愿非常高,所以我就特批了他提前半年毕业。”

顿了顿,沈一鸣又补充道:

“不过雪梅正常是明年毕业,可以全程参与。”

“好,那就这么定了。”钱振华合上笔记本,目光扫过茶几上那摊简历,又看了看面前的两人,感慨道:

“搭台子的活儿算是开了个头,剩下的戏,得唱出来才算数。”

说着,钱振华又想起一件事来。

他看向陆怀民,说道:

“对了,怀民,你之前答应让少年班那个陈青穗跟着你做项目。银河项目去首都攻关她没赶上,你在首都这段时间,那小姑娘来系里找你好几回了。这回这个课题,要不要把她也叫上?”

陆怀民这才想起陈青穗的事来,他想了想,道:

“叫上吧。她一直很想做些项目,对精密机械也很有兴趣,上次银河项目她没帮上忙,这次是个好机会,我找个时间跟她说说。”

课题组的事,就这么定了下来。

第二天上午,陆怀民去了一趟少年班班主任潘越峰的办公室。

潘越峰见陆怀民来了,连忙搁下笔,站起身来:“怀民,你怎么来了?”

“潘老师,我来找陈青穗。”陆怀民把课题组的资料递过去:

“我那边的CAM课题组正式成立了,之前答应让她跟着做项目,银河的项目没能兑现承诺,这个项目我来问问她的想法。”

潘越峰接过文件翻了翻,笑着道:

“这事她盼了有小半年了。从今年元旦开始,她加入银河项目组后就干劲十足,后来银河项目你去BJ攻关,她没赶上,那阵子她嘴上不说,心里可失落了好久。”

首节 上一节 227/396下一节 尾节 目录