Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33467
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor陳俊良(Chuen-Liang Chen)
dc.contributor.authorMing-Che Hoen
dc.contributor.author何銘哲zh_TW
dc.date.accessioned2021-06-13T04:42:09Z-
dc.date.available2007-08-01
dc.date.copyright2006-08-01
dc.date.issued2006
dc.date.submitted2006-07-18
dc.identifier.citation[1] A. Kennedy and D. Syme. Design and implementation of generics for the .NET Common Language Runtime. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 1-12. June 2001.
[2] A. Myers, J. Bank, and B. Liskov. Parameterized types for Java. In 24th Annual ACM Symposium on Principles of Programming Languages, pages 132–145, January 1997.
[3] B. Stroustrup. The C++ Programming Language, pages 256-292.
[4] Bracha, G., and the Expert Group. Java Specification Request 14: Add Generic Types to the JavaTM Programming Language: Participant Draft Specification. April 27, 2001.
[5] C. Cartwright and G. Steele. Compatible Genericity with Run-Time Types for the Java Programming Language. In Conference on Object-Oriented Programming, System, Languages, Appliation (OOPSLA), pages 201-215. ACM, Oct 1998.
[6] G. Bracha, M. Odersky, D. Stoutamire, and P. Wadler. Making the future safe for the past: Adding genericity to the Java programming language. In Object-Oriented Programming: Systems, Languages, Applications (OOPSLA). ACM, October 1998.
[7] Microsoft Corporation. .NET Compact Framework 2.0 downloads. See website at http://msdn.microsoft.com/netframework/programming/netcf/downloads/default.aspx
[8] Microsoft Corporation. C# Programming Guide, MSDN
[9] Microsoft Corporation. C# Language Specification 2.0, March 2005 Draft, See website at http://msdn.microsoft.com/vcsharp/programming/language/
[10] Microsoft Corporation, .NET Framework 2.0 SDK. See website at http://msdn.microsoft.com/netframework/downloads/updates/#.NET%20Framework%202.0%20Beta%20SDK%20and%20Redistributable
[11] Microsoft Corporation. ECMA C# and Common Language Infrastructure Standards. See website at http://msdn.microsoft.com/netframework/ecma/
[12] Microsoft Corporation. The Microsoft Shared Source Common Language Infrastructure (Rotor). See website at http://msdn.microsoft.com/net/sscli.
[13] Microsoft Research, Cambridge. Gyro: Generics for the SSCLI. See website at http://research.microsoft.com/projects/clrgen.
[14] M. Odersky, P.Wadler, G. Bracha, and D. Stoutamire. Pizza into Java: Translating theory into practice. In ACM Symposium on Principles of Programming Languages, pages 146–159. ACM, 1997.
[15] M. Odersky, E. Runne, and P. Wadler. Two Ways to Bake Your Pizza – Translating Parameterised Types into Java. Technical Report CIS-97-016, University of South Australia, 1997.
[16] M. Viroli and A. Natali. Parametric polymorphism in Java: an approach to translation based on reflective features. In Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, October 2000.
[17] M. Viroli and A. Natali. Parametric polymorphism in Java through the homogeneous translation LM: Gathering type descriptors at loadtime. Technical Report DEIS-LIA-00-001, Universit`a degli Studi di Bologna, April 2000.
[18] O. Agesen, S. Freund, and J. C. Mitchell. Adding parameterized types to the Java Language. In Object-Oriented Programming: Systems, Languages, Applications (OOPSLA), pages 215-230. ACM, 1997.
[19] R. Cartwright and G. L. Steele. Compatible genericity with run-time types for the Java programming language. In Object-Oriented Programming: Systems, Languages, Applications (OOPSLA), Vancouver, October 1998. ACM.
[20] Sun Microsystems. Java 2 Platform Standard Edition 5.0. See website at http://java.sun.com/j2se/1.5.0/download.jsp
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33467-
dc.description.abstractGeneric programming recently has been commercially implemented into several popular programming languages, such as Java and C#, because of its productivity improvement to the software developers. We design and implement a deploy-time binary file translator for .NET executable files, also called “Assembly” files in .NET glossary, which translates the generic code. The binary file translator makes the generic code executable in the previous version of the runtime framework that did not support generics. Our whole implementation is based on the shared source runtime implementation of Microsoft’s .NET Framework. Our research first elaborates all of the translation techniques for parametric polymorphism and compares the different translations. Then, we implement the binary file translator to translate the generic code in a .NET application file into a non-generic application file that provides exactly the same functionality. This binary translator is especially useful when the users are not able to upgrade the .NET runtime version in a deployment environment, but they would still like to leverage the power of new generics feature in the programming language while developing the application. In this case, the user can develop the application with generics and build the executable assembly file then use the translator to transform the application into the non-generic form with the same functionality. On the other hand, the translator can also help to reduce resources, such as space, when some users deploy the application with generic code to those limited-resource embedded devices with .NET Compact Framework.en
dc.description.provenanceMade available in DSpace on 2021-06-13T04:42:09Z (GMT). No. of bitstreams: 1
ntu-95-P92922004-1.pdf: 376715 bytes, checksum: 8c8a9e298c77cff2dcb55b125e43a037 (MD5)
Previous issue date: 2006
en
dc.description.tableofcontentsAbstract i
Table of Contents ii
1 Introduction 1
1.1 Parametric Polymorphism (Generics) 3
1.2 .NET Common Language Runtime and Shared Source CLI 3
1.3 Summary of Design 5
2 Generic Programming in .NET 7
2.1 C# Generics Language Features 7
2.2 Generics Support in .NET CLR 10
2.2.1 Generics Support in Intermediate Language (IL) 11
2.2.2 Instantiation of Generic Types 14
2.2.3 Generics in Base Class Library 15
3 Translation of Generics 16
3.1 Generalized Translation 16
3.2 Generalized Translation with Type Management 18
3.2.1 Runtime Type Management 19
3.2.2 Load-time Type Management 21
3.3 Specialized Translation 21
3.4 Specialized Translation with Runtime Support 22
3.5 Comparison of Translation 25
4 Strategy and Implementation 26
4.1 Strategy 26
4.2 Process of Translation 28
4.3 Specialized Translation 31
4.4 Generalized Translation 35
4.5 Insert Type Casting Instructions 36
4.6 Inheritance and Interface Implementation 41
4.7 Inline Invocation 45
5 Experimental Result 49
5.1 Test Environment and Benchmarks 49
5.2 Testing Result 50
5.3 Tests Analysis 51
6 Conclusion 52
6.1 Conclusion 52
6.2 Future Works 53
7 References 55
dc.language.isozh-TW
dc.subject泛型zh_TW
dc.subjectParametric Polymorphismen
dc.subjectGenericen
dc.title.NET 泛型移植到舊有系統之二進位碼轉換zh_TW
dc.titleBinary Translator of .NET Generics for Legacy Runtime Environmenten
dc.typeThesis
dc.date.schoolyear94-2
dc.description.degree碩士
dc.contributor.oralexamcommittee李秀惠(Hsiu-Hui Lee),甘宗左(Tsung-Tso Kan)
dc.subject.keyword泛型,zh_TW
dc.subject.keywordGeneric,Parametric Polymorphism,en
dc.relation.page57
dc.rights.note有償授權
dc.date.accepted2006-07-18
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-95-1.pdf
  未授權公開取用
367.89 kBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved