最近在编译原理,就是传说中的龙书。发现好难哪,感觉云里雾里的。那些状态转换、LR什么的,搞不明白。有没有一些入门的教材呀?
2008/7/1 Sili <uni...@gmail.com>:
--
SpitFire
编译器构造:C语言描述
CRAFTING A COMPILER WITH C
http://www.china-pub.com/26101
比较实用点
--
SpitFire
同意pongba的说法,多读几遍,读累了,就休息一下,然后再看,是可以看懂的~~~
这门课才学得我们头大呢. (不要和说互联网互联网上面找资料, 那年头, novell
网都还没有到校园, 大一到书店买 C 的书, 只有两本, 还是介绍 unix 顺便介绍
C 的).
痛苦地啃完这门课(真是啃啊, 一行字读二十遍也不出奇), 再到大三学编译原理,
觉得真是很简单. 编译的课程实习, 做一个 pascal 解释器, 用递归下降, 觉得纯
粹就是垒代码了, piece of cake.
钙瓷 写道:
2008/7/3 图灵刘江 <liuj....@gmail.com>:
--
SpitFire
2008/7/1 STL-BOOST <wart...@gmail.com>:1. 编译原理本就不是好啃的东东。所以感到难很自然。最近在编译原理,就是传说中的龙书。发现好难哪,感觉云里雾里的。那些状态转换、LR什么的,搞不明白。有没有一些入门的教材呀?
2. 感到难是必然的,这就意味着需要更加深入的啃,如果发现问题就要细细琢磨,琢磨问题是什么,分析需要什么东西才能解决你的问题。譬如一段话看不懂,最大的可能性是里面的某个概念不理解,那么怎样才能理解这个概念,是不是理解它还需要其他铺垫的概念,反省目前你所理解了的部分,看看到底卡在什么地方,此为分析。反复阅读和揣摩又是一个办法,书读百遍其义自现这话是有道理的,因为在阅读一两遍的时候你的大脑其实只做了一个表浅的加工处理。另一个办法就是上网查找资料,做功课。按照我以往的经验,根本用不着这后一条,多读几遍,慢慢咀嚼揣摩,总会弄懂的。
一句话,啃不动,是因为你不够使劲。