当前位置:首页 » 编程软件 » 图书编译器

图书编译器

发布时间: 2023-03-21 02:24:12

⑴ 有没有比龙书通俗易懂的编译原理书籍

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决着名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名着的相关数论。
推荐参考书
虽然编译理论发展到今天,已经有了比较成熟的部分,但是作为一个大学生来说,要自己写出一个像TurbocC,Java那样的编译器来说还是太难了。不仅写编译器困难,学习编译原理这门课程也比较困难。
第一本书的原名叫《CompilersPrinciples,Techniques,andTools》,另外一个响亮的名字就是龙书。原因是这本书的封面上有条红色的龙,也因为獗臼樵诒嘁朐?砘?嘴域确实?忻?所以很多国外的学者都直接取名为龙书。最近机械工业出版社已经出版了此书的中文版,名字就叫《编译原理》。该书出的比较早,大概是在85或86年编写完成的,作者之一还是着名的贝尔实验室的科学家。里面讲解的核心编译原理至今都没有变过,所以一直到今天,它的价值都非凡。这本书最大的特点就是一开始就通过一个实际的小例子,把编译原理的大致内容罗列出来,让很多编译原理的初学者很快心里有了个底,也知道为什么会有这些理论,怎么运用这些理论。而这一点是我感觉国内的教材缺乏的东西,所以国内的教材都不是写给愿意自学的读者,总之让人看了半天,却不知道里面的东西有什么用。
第二本书的原名叫《ModernCompilerDesign》,中文名字叫做《现代编译程序设计》。该书由人民邮电出版社所出。此书比较关注的是编译原理的实践,书中给出了不少的实际程序代码,还有很多实际的编译技术问题等等。此书另外一个特点就是其现代而字。在传统的编译原理教材中,你是不可能看到如同Java中的垃圾回收等算法的。因为Java这样的解释执行语言是在近几年才流行起来的东西。如果你想深入学习编译原理的理论知识,那么你肯定得看前面那本龙书,如果你想自己动手做一个先进的编译器,那么你得看这本《现代编译程序设计》。
第三本书就是很多国内的编译原理学者都推荐的那本《编译原理及实践》。或许是这本书引入国内比较早吧,我记得我是在高中就买了这本书,不过也是在前段时间才把整本书看完。此书作为入门教程也的确是个不错的选择。书中给出的编译原理讲解也相当细致,虽然不如前面的龙书那么深入,但是很多地方都是点到为止,作为大学本科教学已经是十分深入了。该书的特点就是注重实践,不过感觉还不如前面那本《现代编译程序设计》的实践味道更重。此书的重点还是在原理上的实践,而非前面那本那样的技术实践。《编译原理及实践》在讲解编译原理的各个部分的同时,也在逐步实践一个现代的编译器TinyC.等你把整本书看完,差不多自己也可以写一个TinyC了。作者还对Lex和Yacc这两个常用的编译相关的工具进行了很详细的说明,这一点也是很难在国内的教材中看到的。
推荐了这三本教材,都有英文版和中文版的。很多英文好的同学只喜欢看原版的书,不我的感觉是这三本书的翻译都很不错,没有必要特别去买英文版的。理解理论的实质比理解表面的文字更为重要。
编译原理的实质
几乎每本编译原理的教材都是分成词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化这些部分。其实现在很多编译原理的教材都是按照85,86出版的那本龙书来安排教学内容的,所以那本龙书的内容格式几乎成了现在编译原理教材的定式,包括国内的教材也是如此。一般来说,大学里面的本科教学是不可能把上面的所有部分都认真讲完的,而是比较偏重于前面几个部分。像代码优化那部分东西,就像个无底洞一样,如果要认真讲,就是单独开一个学期的课也不可能讲得清楚。所以,一般对于本科生,对词法分析和语法分析掌握要求就相对要高一点了。
词法分析相对来说比较简单。可能是词法分析程序本身实现起来很简单吧,很多没有学过编译原理的人也同样可以写出各种各样的词法分析程序。不过编译原理在讲解词法分析的时候,重点把正则表达式和自动机原理加了进来,然后以一种十分标准的方式来讲解词法分析程序的产生。这样的做法道理很明显,就是要让词法分析从程序上升到理论的地步。
语法分析部分就比较麻烦一点了。现在一般有两种语法分析算法,LL自顶向下算法和LR自底向上算法。LL算法还好说,到了LR算法的时候,困难就来了。很多自学编译原理的都是遇到LR算法的理解成问题后就放弃了自学。其实这些东西都是只要大家理解就可以了,又不是像词法分析那样非得自己写出来才算真正的会。像LR算法的语法分析器,一般都是用工具Yacc来生成,实践中完全没有比较自己来实现。对于LL算法中特殊的递归下降算法,因为其实践十分简单,那么就应该要求每个学生都能自己写。当然,现在也有不少好的LL算法的语法分析器,不过要是换在非C平台,比如Java,Delphi,你不能运用YACC工具了,那么你就只有自己来写语法分析器。
等学到词法分析和语法分析时候,你可能会出现这样的疑问:词法分析和语法分析到底有什么?就从编译器的角度来讲,编译器需要把程序员写的源程序转换成一种方便处理的数据结构(抽象语法树或语法树),那么这个转换的过程就是通过词法分析和语法分析的。其实词法分析并非一开始就被列入编译器的必备部分,只是我们为了简化语法分析的过程,就把词法分析这种繁琐的工作单独提取出来,就成了现在的词法分析部分。除了编译器部分,在其它地方,词法分析和语法分析也是有用的。比如我们在DOS,Unix,Linux下输入命令的时候,程序如何分析你输入的命令形式,这也是简单的应用。总之,这两部分的工作就是把不规则的文本信息转换成一种比较好分析好处理的数据结构。那么为什么编译原理的教程都最终把要分析的源分析转换成树这种数据结构呢?数据结构中有Stack,Line,List这么多数据结构,各自都有各自的特点。但是Tree这种结构有很强的递归性,也就是说我们可以把Tree的任何结点Node提取出来后,它依旧是一颗完整的Tree。这一点符合我们现在编译原理分析的形式语言,比如我们在函数里面使用函树,循环中使用循环,条件中使用条件等等,那么就可以很直观地表示在Tree这种数据结构上。同样,我们在执行形式语言的程序的时候也是如此的递归性。在编译原理后面的代码生成的部分,就会介绍一种堆栈式的中间代码,我们可以根据分析出来的抽象语法树,很容易,很机械地运用递归遍历抽象语法树就可以生成这种指令代码。而这种代码其实也被广泛运用在其它的解释型语言中。像现在流行的Java,.NET,其底层的字节码bytecode,可以说就是这中基于堆栈的指令代码的。
关于语义分析,语法制导翻译,类型检查等等部分,其实都是一种完善前面得到的抽象语法树的过程。比如说,我们写C语言程序的时候,都知道,如果把一个浮点数直接赋值给一个整数,就会出现类型不匹配,那么C语言的编译器是怎么知道的呢?就是通过这一步的类型检查。像C++语言这中支持多态函数的语言,这部分要处理的问题就更多更复杂了。大部编译原理的教材在这部分都是讲解一些比较好的处理策略而已。因为新的问题总是在发生,旧的办法不见得足够解决。
本来说,作为一个编译器,起作用的部分就是用户输入的源程序到最终的代码生成。但是在讲解最终代码生成的时候,又不得不讲解机器运行环境等内容。因为如果你不知道机器是怎么执行最终代码的,那么你当然无法知道如何生成合适的最终代码。这部分内容我自我感觉其意义甚至超过了编译原理本身。因为它会把一个计算机的程序的运行过程都通通排在你面前,你将来可能不会从事编译器的开发工作,但是只要是和计算机软件开发相关的领域,都会涉及到程序的执行过程。运行时环境的讲解会让你更清楚一个计算机程序是怎么存储,怎么装载,怎么执行的。关于部分的内容,我强烈建议大家看看龙书上的讲解,作者从最基本的存储组织,存储分配策略,非局部名字的访问,参数传递,符号表到动态存储分配(malloc,new)都作了十分详细的说明。这些东西都是我们编写平常程序的时候经常要做的事情,但是我们却少去探求其内部是如何完成。
关于中间代码生成,代码生成,代码优化部分的内容就实在不好说了。国内很多教材到了这部分都会很简单地走马观花讲过去,学生听了也只是作为了解,不知道如何运用。不过这部分内容的东西如果要认真讲,单独开一学期的课程都讲不完。在《编译原理及实践》的书上,对于这部分的讲解就恰到好处。作者主要讲解的还是一种以堆栈为基础的指令代码,十分通俗易懂,让人看了后,很容易模仿,自己下来后就可以写自己的代码生成。当然,对于其它代码生成技术,代码优化技术的讲解就十分简单了。如果要仔细研究代码生成技术,其实另外还有本叫做《》,那本书现在由机械工业出版社引进的,十分厚重,而且是英文原版。不过这本书我没有把它列为推荐书给大家,毕竟能把龙书的内容搞清楚,在中国已经就算很不错的高手了,到那个时候再看这本《》也不迟。代码优化部分在大学本科教学中还是一个不太重要的部分,就是算是实践过程中,相信大家也不太运用得到。毕竟,自己做的编译器能正确生成执行代码已经很不错了,还谈什么优化呢?
编译原理的课程毕竟还只是讲解原理的课程,不是专门的编译技术课程。这两门课程是有很大的区别的。编译技术更关注实际的编写编译器过程中运用到的技术,而原理的课

⑵ chm电子书问题!

软件名称: CHM电子书制作软件
软件语言: 简体中文
界面预览:
软件类型: 国产软件 / 1
运行环境: 2003, XP, 2000, NT, Win9X/ME
授权方式: 免费软件
软件大小: 32.7 MB
软件等级:
整理时间: 2005-2-5 20:27:07
联 系 人:
开 发 商:
演示地址: 无
下载次数: 本日:11 本 周:33 本月:113 总计:113
软件简介: CHM文件简介

CHM 文件是微软 1998 年推出的基于 html 文件特性的帮助文件系统,以替代早先的 WinHelp 帮助系统,在 windows98 中把 CHM 类型文件称作“已编译的 HTML 帮助文件”。被Internet Explorer 支持的 JavaScript、VBScript、ActiveX、Java Applet、Flash、html 图像文件(GIF、JPEG、PNG)、音频视频文件(AU、MIDI、WAV、AVI)等等,CHM 同样支持,并可以通过 URL 地址与因特网联系在一起。
在 windows98 及以后的 windows 版本中,CHM 文件的运行程序(hh.exe,27K)已是操作系统的一部分,它控制支持ActiveX 组件的网页浏览器(如微软的 Internet Explorer 3.0 以上版本)来解释并运行 CHM 文件中的元素,这样的好处就是能跨平台运行 CHM 文件,只要有不同平台上的运行器和浏览器,CHM 文件就不再需要重新进行编译而直接使用,在不同语言的操作系统下,CHM 文件也会自动显示堆汲Φ牟说ァ?br />

集锦包内软件介绍:

“Visual CHM” 是一个非常便利的制作CHM文件的工具,完全的可视化操作。多种编译属性,可以使制作出的CHM文件具有非常的专业感。喜欢做电子书,喜欢收集网络文章的朋友,非常值得下载试用。

“QuickCHM”是一个多语版CHM制作软件,支持大部分CHM的功能设置,而且外置语言包,可以很容易支持更多语言。是真正的所见即所得(WYSIWYG)CHM文件制作软件,内置简单易用的所见即所得网页编辑器,使你可以不必在两个软件之间切换,只使用一个软件就可以完成CHM文件的制作。软件采用hhp格式保存和读取,使软件通用性增强。增强反编译功能,反编译后直接可以用QuickCHM读取,使工作更轻松。

“Easy CHM”是国华软件推出的一款强大的CHM电子书或CHM帮助文件的快速制作工具。使用EasyCHM只需要三个步骤就可以完成CHM的制作:1、用户指定一个目录,EasyCHM会自动导入全部目录及文件;2、设置CHM编译选项;3、开始制作。EasyCHM非常适合个人和单位制作高压缩比的带有全文检索及高亮显示搜索结果的网页集锦、CHM帮助文件、专业的产品说明、公司介绍、CHM电子书等等。
主要产品功能:
全自动的目录及文件导入(可以包括子目录);
支持导入任意的文件类型;
自动生成CHM的目录列表并自动生成所有目录项;
为CHM的目录列表自动添加多级编号;
批量更换CHM目录各项的图标;
支持批量查找替换多级目录各项的标题文字内容;
允许用户指定从文本文件的第N行自动截取标题;
易用的目录编辑器;
丰富实用的CHM制作选项帮助用户制作更加个性化的专业CHM电子书或CHM帮助文件。
内嵌CHM反编译工具。
自动生成输出Alias和Map头文件。

“CHM电子书批量反编译器”(ChmDecompiler)是一款专门用来反编译CHM电子书源文件的工具软件,可以迅速地释放包括在CHM电子书里面的全部源文件(包括网页、文本、图片、CHM、ZIP、EXE等全部源文件),并且完美地恢复源文件的全部目录结构及文件名,以便帮助用户得到源文件进行资料恢复或二次编辑。提供多种反编译方式供用户选择:可以只释放CHM电子书里面的任意一个文件、任意一个目录;也可以释放CHM里面的全部文件,另外,“CHM电子书批量反编译器”(ChmDecompiler)的注册版本支持批量操作。同时,“CHM电子书批量反编译器”(ChmDecompiler)也可以作为CHM电子书的阅读器,这也是本软件的特色之一:用户可以在浏览阅读CHM电子书的同时选择释放出自己需要的文件。运行“CHM电子书批量反编译器”(ChmDecompiler)一次后,用户在资源管理器里右键单击任意一个CHM电子书,并在弹出菜单里选择“Open with ChmDecompiler”,程序会马上运行并打开用户选中的CHM电子书,非常方便快捷。

“ABC Amber CHM Converter” 是一个强大的文档处理工具,程序可以帮助你批量的将CHM电子文档转换为PDF,RTF,HTML,DOC,TXT,MCW等29种电子文档格式,并内置了对近50种语言的支持,包括对简体中文/繁体中文的支持,另外程序还支持直接对转换后的PDF电子文档进行40/128 bits加密的功能!

“unEbookWorkshop”是专门用来反编译 ebook Workshop( e书工场 )制作的EXE电子书源文件的工具软件(E书反编译工具),可以迅速地反编译包括在EXE电子书里面的全部源文件,并且完美地恢复源文件的全部目录结构及文件名,以便帮助用户得到源文件进行资料恢复或二次编辑。unEbookWorkshop支持批量操作,您只需指定一个包括EXE电子书的目录,unEbookWorkshop会自动把指定目录下符合条件的文件一次性反编译。

“酷书制造”非常方便的将图片、HTM文件、TXT文件、MHT文件批量封装成一个EXE文件,成为一部图文并茂的电子书籍。生成的电子书籍自动按照目录生成关键字查询,阅读时可灵活加入书签。
为了方便用户,软件还特别提供了将图片、HTM文件、TXT文件、MHT文件进行批量转换的功能。

“CHM 制作精灵”是一款将Html文档(网页文件)转化为 Html Help文档(CHM格式文档)的软件;是集 HTML Help Workshop工程创建,目录、索引编写及工程编译等多种功能于一身的 CHM电子图书制作软件。与HTML Help Workshop配合使用制作出来的 Html Help 文档会更见出色。欢迎使用 “CHM 制作精灵”来制作更多 CHM电子图书!!!注:安装是在VB6运行库(MSVBVM60.DLL)的支持下才能进行.

“友益文书软件”是一款操作简单、功能实用的电子图书制作利器、资料管理助手、帮助文件制作的好工具、简易实用的多煤体课件制作软件...支持批量导入网页htm、word、excel、幻灯片、pdf、chm、exe、txt、rtf等格式的文件。该软件是一款绿色软件,不需安装可直接使用。用该软件制作的电子文书可直接生成可执行文件在任何机计算机上阅读。该软件采用视窗风格,目录树结构管理,所见即所得的设计理念,不需要复杂的转换、编译;使用,操作方便,可以自由地添加、删除目录树,可以随心所欲地编辑文档内容,改变字体大小和颜色。该软件不断吸收了同类软件的优点,同时在功能及设计上又具有独特的创新性,采用混合索引算法,数据存储采用自带的压缩格式,独特具有多重文本超链接功能,对导入的网页仍可编辑,支持Word文档、网页、文本等多种格式文档之间的转换。采用了多级分布式加密算法,界面支持皮肤等个性化的设计。生成可执行文件后文书仍可修改。

“书人之友2005”是一款用于资料收集、文档管理,电子书及电子书应用程序制作、浏览、在线阅读、语音朗读、数字版权保护、光盘出版物保护等的综合工具。是一个从前期资料收集、中期制作到后期发布的一体化电子文档处理平台。所支持的书人之友多用途资料夹文件制作简单容易,不仅能生成为电子书文件及电子书应用程序,还可以作为收藏夹、日记簿、笔记本、素材库甚至影集、画册等来使用;所生成的高效便捷章节型电子书文件即含有流媒体特性可以边下载边阅读,又有完善的数字版权保护方面的功能支持。因此软件能适合于不同用户的需要。功能简介如下:
★主要的制作编辑功能★
- 支持多种文本文件、多种图像文件、HTML/SHTML文件等作为章节内容,并针对不同章节类型都提供了较为完善的、“所见即所得”的内容编辑功能;
- 悬浮拖曳窗:支持多种图像、文本文件和网页文件和含有文本或图像信息的数据的拖曳,一拖即录入当前文件。此外还可用于打开文件和在线阅读打开;
- 监视剪贴板:可以侦测剪贴板数据变化,后台获取文本图像信息并录入文件。
- CHM支持:可以直接将不能直接编辑的CHM文件转换为可以随心修改的书人之友多用途资料夹文件。
- 文本语音朗读功能可以用作语音校对。
- 制作的电子书和电子书应用程序可以包含作者的旗帜(Logo)、背景音乐等等个性化信息。
- 提供外接接口可以外挂更多外接程序(增益程式)来完善软件的功能。
★主要阅读功能★
- 电子书文件被分段压缩,因此具有流媒体特性的电子书文件,支持在线阅读(一边下载一边就能打开和查阅已经下载的内容);
- 文件可生成初具个性化的Exe应用程序;
- 插图页章节有多种图像显示模式,并且支持缩放。
- 文本语音朗读功能:使您不仅能用眼看书,还能用耳听书!!!另外还能将文本输出为音频文件。
- 提供了智能型、会自动隐藏/显示目录的阅读模式。
★主要保护功能★
- 数字版权保护功能:使您的电子信息可以为您带来利益,使不同作者制作的不同的电子书,在不同的读者的计算机中需要一个唯一对应的图书卡文件才能阅读,并且同一作者自己制作的一批电子书可以只需一个图书卡文件就能都被同一读者阅读,以便于按季度、年度给读者发放电子图书卡。
- 光盘出版物防翻刻保护功能:对小批量生产的电子出版物进行有效的保护,使他人所翻刻的盗版光盘中的文件无法被打开和阅读。
- 资料夹文件可以添加打开密码,保护您的隐私。
下载页面:http://down.zt169.com/SoftView/SoftView_2022.html
***************************************************************************************************

以上为转载!!
另外
52ebook.com
的论坛里
那里有好多的牛人
你可以去看看!

热点内容
phpcookie设置时间 发布:2025-05-11 07:36:15 浏览:109
固态硬盘需要缓存吗 发布:2025-05-11 07:29:09 浏览:605
松江换门密码锁哪里有 发布:2025-05-11 07:23:21 浏览:326
自动配置代理什么意思 发布:2025-05-11 07:16:51 浏览:993
notepad编写php 发布:2025-05-11 07:10:50 浏览:864
茄子快传的文件夹 发布:2025-05-11 07:04:30 浏览:734
手机指纹密码如何更换 发布:2025-05-11 07:02:22 浏览:123
java存储数据库 发布:2025-05-11 07:01:33 浏览:177
办理ca的初始密码是多少 发布:2025-05-11 06:54:55 浏览:425
忘记服务器地址 发布:2025-05-11 06:54:51 浏览:243