首页 > 武侠修真 > 1953,旅长把我拐进哈工大 > 第237章 林言的受难日,都快走马灯了

第237章 林言的受难日,都快走马灯了(1/2)

目录

请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。

而 738 院的大佬们,听到林言要过来学习交流的消息后,一个个都翘首以盼。

等到林言刚到 738 所的门口,厂长徐欣三亲自带人出来迎接,握手时笑得眼角都堆起褶子:

“呦,今天是吹的哪门子风,咱们国家的小财神居然来咱们 738 所,真是蓬荜生辉呀!”

“小林,你过来是是有什么事需要吩咐我们吗?”

“不敢当,不敢当!”

林言连连摆手,语气真诚谦逊:“徐所长,我在计算机方面有些不成熟的想法和问题,所以专门想向您这里的成员请教一番。我是专门过来学习取经的,您要是这么客气的话,实在是折煞我了。”

林言本来肚子里就没有太多的干货,况且过来时还带着“偷师”的目的,面对大佬们时自然心虚不已,态度也格外谦逊。

经过一番寒暄,徐所长了解林言所要面对的任务和困境,又听着他虚心请教的语气,连忙热情地摆摆手:

“没事,不过是编译系统方面的问题而已,我让钟翠豪和董蕴美两位同志过来和你聊,他俩本来就是主攻这方面,而且和你年龄相仿,应该能和你聊得来。”

钟翠豪是 1934 年出生,董蕴美先生更是 1936 年出生,他们都是 20 来岁风华正茂的年纪,并且都怀揣着炽热的报国之心。所以没几分钟便和林言一拍即合,开始火热地讨论起编译方面的问题:

“我们最近确实在琢磨104 机的自动编程,因为现在用机器码写程序太慢,所以我们想搞一套类似苏联Аналитик的翻译程序。”

“我们的路是这样的:把源程序按行读入,先做词法切分,识别出操作码和地址码,再查一张静态符号表,直接生成目标指令。符号表用线性查找,存储分配全部静态做,数组下标在编译期算死。”

虽然林言不擅长编译,但是来之前也在系统空间做了功课。所以在听到钟翠豪和董蕴美的提议后,也能完全理解,并且微微摇头。

这套路子本质上还是把翻译程序当成“高级汇编器”在用,符号表线性查找,规模一大就会拖慢编译;

全部静态分配,意味着过程不能递归调用,数组大小、下界也必须在编译期写死,稍一复杂就束手无策;

按行切分、直接生成目标指令,又等于把语法分析和语义分析搅在一起,一旦语言里出现嵌套分程序、局部变量、类型检查,这套方法就很难扩展。它顶多能解眼前之急,却撑不起一门真正通用的高级语言。

林言微微斟酌了一番,随即抛出自已真实的想法投石问路:

“两位同志,我最近看到一份国外的报告,叫ALGOL 60。这个语言的设计理念比Аналитик要超前不少,你们觉得如何?”

钟萃豪和董蕴美对视一眼,眼中闪过一丝惊讶,点头后又摇头:

“ALGOL 60我们也确实听说过,不过感觉太复杂了。嵌套作用域、递归调用、名传递,这些东西对机器要求太高。咱们104 机才多大内存?连静态分配都紧巴巴的,哪来的空间跑栈式活动记录?”

“而且ALGOL 60的报告是英文的,国内能看懂的人屈指可数。就算搞出来,基层程序员也用不起来。咱们国情摆在这儿,还是先搞一套能落地的翻译程序更实在。”

但林言还是更加执着于ALGOL 60。

ALGOL 可能在后世声名不显,但 C 语言在计算机界绝对是属于声名远扬的存在。

而 C语言便是由 ALGOL演变几代而来(ALGOL 60 → CPL → BCPL → B 语言→C语言),并且在这时候已经有 if、else、f……end 等结构范式,完全是一条康庄大道。

因此林言依旧坚持:

“两位说得都对,但内存这事儿未必是死结。”

“现在104 机内存小,咱们可以先从外存倒腾,把不常用的符号表、中间代码先甩到磁鼓或纸带上,运行时再按需调入;而且等以后的内存量变大,例如美苏弄的晶体管计算机,据说存储容量翻了好几番,那栈式活动记录就不是问题了。”

“语言这东西,底子打正了,硬件跟上来就能直接起飞;要是现在图省事把路子走窄了,将来硬件升级了,还得推倒重来,那才真叫浪费。”

两人瞬间理解林言的意思:“懂了,你是让我们先把框架搭好,然后硬件短板之类的咱们再想办法弥补?”

本章未完,点击下一页继续阅读。

目录
返回顶部