perl到jvm的移植硕士论文

上传人:小** 文档编号:47492977 上传时间:2018-07-02 格式:PDF 页数:62 大小:1.93MB
返回 下载 相关 举报
perl到jvm的移植硕士论文_第1页
第1页 / 共62页
perl到jvm的移植硕士论文_第2页
第2页 / 共62页
perl到jvm的移植硕士论文_第3页
第3页 / 共62页
perl到jvm的移植硕士论文_第4页
第4页 / 共62页
perl到jvm的移植硕士论文_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《perl到jvm的移植硕士论文》由会员分享,可在线阅读,更多相关《perl到jvm的移植硕士论文(62页珍藏版)》请在金锄头文库上搜索。

1、中国科学技术大学硕士学位论文Perl到JVM的移植姓名:徐丽申请学位级别:硕士专业:计算机软件与理论指导教师:陈意云;张昱20040501中国科学技术人学硕卜学位论文摘要摘要当今围绕着J V M 的研究和开发日益增多。在各种J V M 发展的同时。也带来另一种需求如何提供运行在J V M 上的各种软件,如何将现有系统移植到J V M 上运行? 单纯地利用J a v a 编程,一方面会限制开发人员对编程语言的选择,另一方面会使得大最现有系统不得不J E ;fJ a v a 重写以适应在。J V M 上的运行的需求。为此许多研究开发组织着手进行菲J a v a语言到J V M 移植的工作,并提供了

2、许多可用的工具。在众多非J a v a 语言中,P e r l 语言是由L a r r yW a l l 设计的一种实用的、解释执行的脚本语言。它支持许多高级语言的特征如垃圾收集、强大的正则式处理、面向对象程序设计等等。由于P e r l 中间表示( I R ) 中的操作码种类众多,内建的函数和数据类型多而綮杂,因此目前尚没有可用的在,v M 上运行的p e r l 版本。我们采用的移植方法是用J a v a 重写一个P e r l 解释器,它经编译后可以在J V M 上运行,提供对P e r l 程序的即时编译和解释执行。全文共分六章,第一章介绍了研究背景,非J a v a 语言到J V M

3、 移植常采用的方法,以及P e r l 语言的移植现状:第二章详细介绍了P e r l 解释器的内部工作机制:第三章给出了P e r l 到J V M 移植的总体方案:第四章介绍了P e r l 前端的J a v a 实现,包括诃法分析器的设计,并讨论了用C U P 实现P e r l 语法分析器时出现的问题以及解决方法:第五章主要介耋料了P e r l 后端的实现,包括数据类型、中间表示、栈P PC o d e 、1 0 和线程的实现:第六章总结了论文的主要内容,讨论今后可以进一步开展的研究内容。关键宇:P e r l J a v a 虚拟机,移植中国科学技术大学预卜学位论文摘要A b s

4、t r a c tT o d a ym a n yr e s e a r c h e r sa r cs t u d y i n gt h eJ a v aV i r t u a lM a c h i n e ( J V M ) W i t ht h ed e v e l o p m e n to f a l lk i n d so f h a r d w a r ea n ds o f t w a r eJ V M ,t h e r ee m e r g e sa n o t h e rd e m a n d - - h o wt op r o v i d et h es o f t w a

5、 r e sw h i c hc a nr u n o nJ V M ;h o wt op o r te x i s t i n gs y s t e m st oJ V M ? I fp r o g r a m m i n gi nJ a v as i m p l y , 0 nt h eo n eh a n d ,i tw i l ll i m i tt h ed e v e l o p e r st oc h o o s et h ep r o g r a m m i n gl a n g u a g e ,o nt h eo t h e rh a n d ,m a n ye x i s

6、 t i n gs y s t e m sh a v et ob e e nr e w r i t t e ni nJ a v at om e e tt h er e q u i r e m e n to fr u n n i n go nJ V M T h u s ,s o m er e s e a r c h e r sa n do r g a n i z a t i o n sh a v ee n g a g e di nt h ew o r ko fp o r t i n gn o n ,J a v al a n g u a g et oJ V Ma n dp r o v i d e

7、daf e wu s e f u lt o o l s P e r li sas c r i p tl a n g u a g ed e s i g n e db yL a r r yW a l l hs u p p o r t sm a n yf e a t u r e so fa d v a n c e dl a n g u a g e s ,s u c ha sg a r b a g ec o l l e c t i o n ,p o w e r f u lf u n c t i o n st oh a n d l et h er e g u l a re x p r e s s i o

8、 n s ,o b j e c t - o r i e n t e dc h a r a c t e r i s t i ca n ds oo n 1B e c a u s eo fP e r l sI R ( I n t e r m e d i a t eR e p r e s e n t a t i o n ) a n di n t e r n a lv a r i a b l e sa l ev e r yc o m p l e x ,t h e r ea r en op r a c t i c a lp e r lv e r s i o n st h a tc a nr u no nJ

9、 V Mn o w ,T h em e t h o dw eu s ei st oi m p l e m e n tt h ep e r li n t e r p r e t e ri nJ a v a A f t e rc o m p i l e d ,i tc a l lr u no nJ V Ma n di n t e r p r e t eP e r ls o u r c e s T h i sd i s s e r t a t i o nc o n s i s t so fs i xc h a p t e r s C h a p t e r1b r i e f l yi n t r

10、o d u c e st h eb a c k g r o u n do fr e s e a r c hp r o j c o ta n dp o r t i n gs t a t u so fP e r l C h a p t e r2i n t r o d u c e st h ep e r li n t e r n a l C h a p t e r3i n t r o d u c e st h eb l u ep r i n to fp o r t i n gP e r lt oJ V M C h a p t e r4d i s c u s s e sh o wt op o r tp

11、 e r l sf r o n te n dt oJ V M ,i n c l u d i n gl e x i c a lp a r s e ra n ds y n t a c t i cp a r s e r C h a p t e r5d e s c r i b e st h ei m p l e m e n t a t i o no fp e r l sb a c ke n di nJ a v a , s u c ha sP e r l sI R ,I Os y s t e m ,t h r e a dm o d e la n ds oo n T h el a s tc h a p t

12、 e rc o n c l u d e st h ed i s s e r t a t i o na n dp o i n t so u tt h ef u l u r ew o r k K e y w o r d s :P e r l ,J a v aV i r t u a lM a c b i n e ( J V M ) ,p o r t中国科学技术大学顾卜学位论文第一章绪论1 1 研究背景第一章绪论随着计算机技术的发展,J a v a 技术逐步成为众人关注的焦点而J a v a 虚拟机( J V M )是J a v a 程序设计语言的基石,它是J a v a 技术的重要组成部分。J V

13、M 是可运行J a v a 代码的假想计算机,它的设计目标是提供一个基丁抽象规格描述的计算机模型,为解释程序开发人员提供很好的灵活性,同时也确保J a v a 代码可在符合该规范的任何系统上运行。J V M 对其实现的某些方面给出了具体的定义。特别是对J a v a 可执行代码即字节码( B y t e c o d e ) 的格式给出了明确的规格。这一规格包括操作码和操作数的语法和数值,标识符的数值表示方式,以及J a v a 类文件中的J a v a 对象、常量缓冲池在J V M的存储映象。这些定义为J V M 解释器开发人员提供了所需的信息和开发环境。J a v a 的设计者希望给开发人员

14、以随心所欲使用J a v a 的自由。当今围绕着J V M 的研究和开发日益增多,与此同时,这也带来了另外一种需求:将非J a v a 语言移植到J V M 中。为什么要将非J a v a 语言移植到J V M 中呢? 综其原因,主要有以下四点:硬件删的发展传统的J V M 是用软件实现的。然而,用硬件设备实现J V M 环境己成为研究的焦点和物理事实。许多研究者研究用硬件实现J V M 2 ,3 1 并取得了有希望的结果。用硬件直接支持J V M是必然的。并将相当普遍。有的研究者甚至建立了J V M 的硬件实现的原型【4 】。同时商业上,S U N 已经将p i c o J a v a 5

15、( J V M 微处理器的中央部件核心) 的许可授予几家公司( 如I B M 、N E C 、R O C K W E L L ) ,根据S U N 所说 5 ,这些公司计划将这种硬件技术加入到未来的产品中。因此,具有本地J V M 实现的硬件设备在不久的几年将会普及。当为这些硬件设备写软件时,开发者不应局限于J a v a 编程语言。将非J a v a 语言移植到J V M将提供给这些开发者更多的选择,这样他们可以选择最好的语言工作。这种选择将消除由工程师或需要特定硬件设备的市场需求所强加的公共限制。嵌入式软件J V M在考虑未来的硬件J V M 的时候,嵌入式软f ,l - J V M 已经

16、普及了。从J a v a 环境产生初期,各种W e b 浏览器就已开始包含嵌入式的J V M 。这些嵌入式J V M 允许网站设计者开发运行在客户端的小应用程序( a p p l e t ) 。W e b 浏览器的嵌入式J V M 提供了一种简单的、跨平台应用的标准传输系统。不过为了提供一些安全性。对J V M 的a p p l e t 进行了严格的控制管理。这些限制比验证过程施加得更严格。这些附加的限制使得用尚未移植到J V M 的语言写a p p l e t 相对来说是不可能的。比如非J a v a 语言与J V M 的最简单的接口是通过J a v a 本地接I 口( J a v aN a t i v eI n t e r f a c e ,J N I ) ,它允许系统级程序( 用C 编写) 访问J V M 。可是,J N I 不允许a p p l e t s 访问。因此,即使用户为指定的非J a v a 语言安装了解释器或编译器来自网站的a p p l e t s 也不能利用之。因此,在这种情

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 宣传企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号