文摘
英文文摘
第一章绪论
1.1研究背景
1.2 Parrot简介[20,21]
1.3 Perl语言、PASM和PBC文件
1.3.1 Perl语言
1.3.2 PASM代码[20,21]
1.3.3 PBC文件[20]
1.4论文的组织
第二章Parrot概述
2.1 Parrot的整体结构[20,21]
2.2本地数据类型
2.2.1字符串
2.2.2 PMC
2.3运行时数据结构[26]
2.2.1寄存器
2.2.2栈
2.4内存管理
2.4.1无用单元收集技术简介[27,28]
2.4.2 Parrot的内存管理
2.5基本指令集
2.6动态编译
2.7 Parrot与JVM的异同
第三章本地数据类型的移植
3.1 CParrot的本地数据类型
3.1.1四种基本类型
3.1.2 Perl类型的内部表示
3.2本地数据类型的Java实现
3.2.1基本类型
3.2.2支持Perl类型的核心PMC和相关结构的实现
3.3本章小结
第四章运行时数据结构的移植
4.1 CParrot的运行时数据结构
4.1.1 PBC文件的内部存储
4.1.2寄存器
4.1.3栈
4.1.4全局变量哈希表
4.1.5iglobals
4.2 JParrot运行时数据的处理
4.2.1 PBC文件的装载及内部存储的Java实现
4.2.2解释器私有的运行时数据
4.2.3解释器共有的运行时数据
4.3本章小结
第五章内存管理的移植
5.1 CParrot内存管理实现
5.1.1定长对象的管理
5.1.2变长对象的管理
5.2 JParrot内存管理实现
5.2.1 JParrot内存管理类实现
5.2.2定长对象管理
5.2.3变长对象管理
5.3本章小结
第六章基本指令集的移植
6.1 CParrot的基本指令集
6.2基本指令集的Java实现
6.3本章小结
第七章动态编译到JVM的移植
7.1 CParrot中动态编译的实现
7.1.1编译器的获得和保存
7.1.2编译器注册
7.1.3编译器的运行
7.2实现动态编译所需的Java技术
7.2.1用户自定义类装载器[29,31]
7.2.2反射技术[30,32]
7.3动态编译的Java实现
7.3.1编译器的获得和保存
7.3.2编译器注册
7.3.3编译器的运行
7.4应用举例与测试分析
第八章结束语
参考文献
致 谢
附录
附录A japh.c
附录B japh.java
攻读硕士期间发表和录用的论文