2022年2022年经验分享:学习编译原理的几点建议 .pdf
《2022年2022年经验分享:学习编译原理的几点建议 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年经验分享:学习编译原理的几点建议 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、经验分享:学习编译原理的几点建议编译原理一般认为是较难的一门课。从网上的评论来看,有人说学了一年半软件理论,就一门编译看不懂 ; 有人甚至说它是大本软件课程里最难的一门; 有人抱怨国内的编译教材没有一本容易懂的从笔者学习实践来看,第一次学了一个多月,理论部分一知半解,第二次学了一星期, 基本看懂词法分析的理论部分,语法分析就一知半解了,第三次学了一星期,才基本看懂词法分析和语法分析。由此看来,这门课确实有难度。网上有的帖子,把编译器的编写搞得高深莫测一般,似乎难度极大,非常人能及编译原理究竟难在哪里?笔者的体会,主要在这几点: 1、错误认识 : 很多人以为编译原理只能应用在写程序语言的编译器上
2、,觉得用处不大,学习兴趣不高。而且可能觉得写编译器就必须完全手工来写。2、自动机理论 : 象 NFA ,DFA之类,比较抽象,要费些脑子,特别如果学离散数学时没有学自动机理论的话,更是需要多花点时间。3、集合论的推演: 主要是一些闭包运算之类,数学基础不好的话,学起来也会感到吃力。4、LR文法 : 主要是又引入了自动机不管哪本编译教材,即使是绝对经典龙书 也不例外, 都要涉及到这几个难点。由于这些内容本身不好懂,作者有再大的本事,也很难把书写得象小说那么流畅好懂。明确了难点,接着想对策。大致有这么几种: 1、端正认识 : 编译原理在静态文本处理上有广泛的应用,举个简单的例子,把HTML文件转化
3、为纯文本,利用编译原理来实现非常 简单。理解了编译原理的实用性,大概可以提高学习兴趣。2、反复看书 : 这个办法看起来最笨,却是基本的方法。忘了是哪位名人说过,书只要多看,总能看得懂的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 3、结合源码来看: 这是经典教材Compiler Design in C的作者 Allen Hollub建议的方法。这本教材的特色就是包含了大段yacc ,lex 的代码。这也是个好方法,而且,只有
4、看懂了代码, 才能说在根本上理解了理论。当然,要完全看懂yacc 的代码,工作量是很大的,而且同样要先理解理论。4、删繁就简,避重就轻。网上流传较广的一篇编译原理学习导论( 作者四川大学唐良) 就基本是这种思路,对于词法分析,作者避免了自动机理论和集合论推演的介绍,直接搬出源码来,大大降低了理解难度,对于语法分析,作者介绍了递归下降和LL 文法及相应的源码,而对LR文法,只说 理解理论就可以了 。虽然这种方法回避了对于难点的学习,但是用这种方法学习,可以在较短时间内编写出一个能够运行的词法分析器和语法分析器,可以大大提高学习积极性。笔者的思路大体上类似第4种方法,但也稍有不同。由于一个偶然的原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年经验分享:学习编译原理的几点建议 2022 经验 分享 学习 编译 原理 建议
限制150内