GitHub有个叫legacy-cc的项目,竟藏着上世纪70年代最早版本的C编译器源码,而且是由C语言之父Dennis Ritchie(dmr)老爷子亲手写的!
这个项目堪称程序语言“考古现场”,如果你对一门语言如何从零起步演化感兴趣,或者想理解C语言为何能成为编程界的大师级存在,绝对值得膜拜一下。
有人一边感慨“爷青回”,一边指出这套代码像是某种C语言的原始形态:没有类型检查、变量默认都是int、甚至还能在函数体里写extern……这些今天看起来有些离谱的写法,在当年却是主流操作。
而这段代码的价值不仅仅在于“老”,它记录了C编译器最原始的逻辑和结构——比如如何处理语法树、内存分配、语义分析等。
你甚至能看到最初的代码优化雏形,比如简单却精妙的“表达式折叠”——这些机制,正是今天LLVM或GCC背后技术的雏形。
再说点细节:项目中包含了两个主要目录prestruct和last1120c,分别对应早期和稍后的两个阶段。
顺便一提,这代码的也算是开源界的“数字文物”,Caldera当真敢开放。
可以看到,Caldera International在2002年,就大方授权了源码开放,授权明确说明:可免费使用、修改、分发,甚至允许基于源码进行二创,唯一限制是不能涉及UNIX System III / V及之后的版本。
就像有网友说的:“这不只是代码,而是Dennis Ritchie留给后人的一份手稿。”
最后,链接奉上:https://github.com/mortdeus/legacy-cc