請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33467完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 陳俊良(Chuen-Liang Chen) | |
| dc.contributor.author | Ming-Che Ho | en |
| dc.contributor.author | 何銘哲 | zh_TW |
| dc.date.accessioned | 2021-06-13T04:42:09Z | - |
| dc.date.available | 2007-08-01 | |
| dc.date.copyright | 2006-08-01 | |
| dc.date.issued | 2006 | |
| dc.date.submitted | 2006-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.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/33467 | - |
| dc.description.abstract | Generic 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.provenance | Made 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.tableofcontents | Abstract 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.iso | zh-TW | |
| dc.subject | 泛型 | zh_TW |
| dc.subject | Parametric Polymorphism | en |
| dc.subject | Generic | en |
| dc.title | .NET 泛型移植到舊有系統之二進位碼轉換 | zh_TW |
| dc.title | Binary Translator of .NET Generics for Legacy Runtime Environment | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 94-2 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 李秀惠(Hsiu-Hui Lee),甘宗左(Tsung-Tso Kan) | |
| dc.subject.keyword | 泛型, | zh_TW |
| dc.subject.keyword | Generic,Parametric Polymorphism, | en |
| dc.relation.page | 57 | |
| dc.rights.note | 有償授權 | |
| dc.date.accepted | 2006-07-18 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-95-1.pdf 未授權公開取用 | 367.89 kB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
