Archive for the '未分类' Category

Jun 11 2008

终于回来了

Published by shinjikun under 未分类

毕业设计就要结束了,剩下的就是一些文书的工作,现在似乎已经没有那么忙了。先是准备考研初试和复试,然后闷头学习数据库和Php,再后来一直在搞毕设。六七个月可谓是与世隔绝。托大家的福,我也考上研了,现在终于是解放了。

PS:前两天看到了方舟子了,他在我们学校做有关学术规范的讲座,可惜不是批判伪科学的。为了防止闲杂人等混入(难道是说旁边中医学院的孩子们?),他没做任何宣传,只在我们学校的网站上贴了一个小通知。


    本站推荐使用Firefox浏览器 ( 为什么?)

目前有7条评论

Dec 01 2007

两本《编译原理》何其相似!

Published by shinjikun under 未分类

中科院研究生入学考试所指定的编译原理课程参考书是1989年12月第一版的,中国科技大学出版社出版的《编译原理》一书,作者为陈意云。在第一版的前言中说,“本书是根据国外的一些专著和论文编写的,它不仅包含了最经典、最广泛应用的基本编译技术,还反映了直至80年代的一些重要的新成果,这是本书区别于其他有关这方面的著作的显著特点。”

但是其所谓“根据国外的一些专著和论文编写的”,其实是整章照抄编译原理学科的最著名著作,被称为“龙书”的Compiler: Principles, Techniques and Tools(编译器:原理、技巧和工具)。该书出版于1986年,作者Alfred V. Aho、Jeffery D. Ullman和Ravi Sethi。

该书无论是书中的几乎所有的示例、图表甚至几乎所有的文字都是翻译自此书。该书除原书第二章被删节掉外,几乎所有都是原书的直接抄袭或者节选。陈书第10章和第11章并非参照龙书,所写的是龙书所未涉及的内容。

下面把第二章摘抄一小部分,请各位了解我所谓“整章照抄”是什么意思:

第二章 词法分析

开篇:

陈书:构造词法分析器的一种简单方法是建立描述源语言记号结构的图。然后手工翻译这种图成为识别记号的程序。这种方法可以产生高效的词法分析器。
实现词法分析器的技术也可以用于其他方面,如查询语言和情报检索系统……(以下所有内容为抄袭)

龙书:This chapter deals with techniques for specifying and implementing lexical analyzers.  A simple way to build a lexical analyzer is to construct a diagram that illustrates the structure of the tokens of the source language, and then to hand-translate the structure of the diagram into a program for finding tokens. Efficient lexical analyzers can be produced in this manner.(本章讨论特定实现词法分析器的实现技巧,构造词法分析器的一种简单方法是构建描述源语言记号结构的图表。然后将此图表的结构手工翻译成用以识别记号的程序。这种方法可以产生高效的词法分析器。)
The techniques used to implement lexical analyzers can also be applied to other areas such as query languages and information retrieval system. …(实现词法分析器的技术也可以应用于其他领域,例如查询语言中和信息(陈书把information 翻译成“情报”)检索系统)

紧接着:

陈书:词法分析是编译的第一阶段,它主要任务是读输入字符流,产生于语法分析的记号序列。概括于图2.1(图表为抄袭)中的相互作用一般是通过把词法分析其作为语法分析器的一个子程序来实现的。(以下此节所有内容为抄袭)

龙书:The lexical analyzer is the first phase of a compiler. It’s main task is to read the input characters and produce as output a sequence of tokens that the parser uses for syntax analysis.This interaction, summarized schematically in Fig 3.1, is commonly implemented by making the lexical analyzer be a subroutine or a coroutine of the parser.(词法分析器是编译器的第一个部分,它主要任务是读输入字符并产生于语法分析器的记号序列。这个交互作用,示意性地概括为图3.1。通常用构造一个作为子例程或协例程的词法分析器的方法来实现。)

紧接着:2.1.1分离词法分析器的理由,龙书为Issues in Lexical Analysis(词法分析要解决的问题),然而内容却一摸一样。之后所有节、示例均来自龙书。

另外,陈书还有翻译的问题。由于其对原书进行了删节,因此常常因为思维不连贯而影响理解。例如第四章第三节 L属性定义,第一句:“当在分析过程中进行翻译时,属性的计算次序受分析方法所限定的分析树节点建立次序的约束”这句话何其奇妙!本人读了三遍终于读懂:当在分析过程中进行翻译时,属性的计算次序(((受分析方法所限定)的分析树)(的)节点)(的)建立次序)的约束。原书中是这样描述的:When translation takes place during parsing, the order of evaluation of attributes is linked to the order in which nodes of a parse tree are “created” by the parsing method.可以翻译为:在分析的翻译过程发生时,属性的产生次序与节点的次序相关(linked不是“约束”),而节点的次序决定于分析过程(这个词有“方法”的意思,但是此处指的是之前的建立语法树的“过程”,而非建立语法树的方法。虽然“过程”一词在牵扯到对象时可以叫做“方法”,但此处显然不妥)“创建”的分析树。

陈书抄袭的数章,这里不能穷尽。请各位亲身体会两本书的异同。

 

附:陈意云个人主页:http://staff2.ustc.edu.cn/~yiyun/

其中称该书为“安徽省图书一等奖”


    本站推荐使用Firefox浏览器 ( 为什么?)

目前有19条评论