Typed intermediate language support for languages with...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S108000, C717S116000

Reexamination Certificate

active

07627863

ABSTRACT:
A typed intermediate representation of source code written in a language that supports multiple inheritance is presented. The typed intermediate representation uses paths to represent objects embedded in other objects. For each class, an exact record type represents layout of complete objects of that class. An approximated record type describes layout of inner objects when the runtime types of the objects are statically unknown. Address arithmetic is represented by special instructions and type-checked to ensure proper pointer adjustment. Types are also given to “this” pointers of methods within classes. These “this” pointer types refer to the paths associated with the object.

REFERENCES:
patent: 4667290 (1987-05-01), Goss et al.
patent: 5301327 (1994-04-01), McKeeman et al.
patent: 5659573 (1997-08-01), Bruckert et al.
patent: 5765039 (1998-06-01), Johnson
patent: 5836014 (1998-11-01), Faiman, Jr.
patent: 5953524 (1999-09-01), Meng et al.
patent: 5966702 (1999-10-01), Fresko et al.
patent: 5987256 (1999-11-01), Wu et al.
patent: 6271864 (2001-08-01), Graham
patent: 6560774 (2003-05-01), Gordon et al.
patent: 6581063 (2003-06-01), Kirkman
patent: 6738967 (2004-05-01), Radigan
patent: 6874140 (2005-03-01), Shupak
patent: 6993751 (2006-01-01), Bhansali et al.
patent: 7120898 (2006-10-01), Grover et al.
patent: 7152229 (2006-12-01), Chong et al.
patent: 7171655 (2007-01-01), Gordon et al.
patent: 7308680 (2007-12-01), Grover et al.
patent: 7383552 (2008-06-01), Hudis et al.
patent: 7430670 (2008-09-01), Horning et al.
patent: 7565647 (2009-07-01), Davidov et al.
patent: 2007/0169040 (2007-07-01), Chen
Rupakheti et al, “An empirical study of the design and implementation of object equality in Java”, ACM CASCON, pp. 1-15, 2008.
Naeem et al, “Inheritance and subtyping methods, modifications and analytical quantification”, IEEE, pp. 737-742, 2004.
Bierhoff et al, “Modular typestate checking of aliased objects”, ACM OOPSLA, pp. 301-319, 2007.
Ruby et al, “Safely creating correct subclasses without seeing superclass code”, ACM OOPSLA, pp. 208-228, 2000.
Chen, Chiyan, Shi, Rui and Xi, Hongwei, “A Typed Approach to Object-Oriented Programming with Multiple Inheritance,” Boston University, Computer Sciences Department, pp. 23-38, 2004.
Chen, Juan and Tarditi, David, “A Simple Typed Intermediate Language for Object-Oriented Languages,” Microsoft Research, Microsoft Corporation, 12 pages, POPL'05, Jan. 12-14, 2005.
Colby, Christopher; Lee, Peter; Necula, George C.; Blau, Fred; Plesko, Mark; Cline, Kenneth, “A Certifying Compiler for Java,” pp. 95-107, PLDI 2000, 2000.
Compagnoni, Adriana B. and Pierce, Benjamin C., “Higher-Order Intersection Types and Multiple Inheritance,” Computer Laboratory, University of Cambridge, Mathematical Structures in Computer Science, (1995), vol. 11, pp. 1-34.
“Common Language Infrastructure(CLI),Part. I: Concepts and Architecture,” final draft, Oct. 2002, Produced by ECMA TC39/TG3, 2002.
“Common Language Infrastructure(CLI),Part. II: Metadata Definition and Semantics,” final draft, Oct. 2002, Produced by ECMA TC39/TG3, 2002.
“Common Language Infrastructure(CLI),Part. III: CIL Instruction Set,” final draft, Oct. 2002, Produced by ECMA TC39/TG3, 2002.
“Common Language Infrastructure(CLI),Part. IV: Profiles and Libraries,” final draft, Oct. 2002, Produced by ECMA TC39/TG3, 2002.
Gray, Jan, “C++: Under the Hood,” Mar. 1994. http://msdn.microsoft.com/archive/defaultasp?url=/archive/en-us/dnarvc/html/jangrayhood.asp.
Morrisett, Greg; Walker, David; Crary, Karl; and Glew, Neal, “From System F to Typed Assembly Language,” ACM Trans. on Programming Languages and Systems, 21(3):527-568, May 1999.
Remy, Didier, “Programming Objects with ML-ART, an extension to ML with Abstract and Record Types,” International Conference on Theoretical Aspects of Computer Software, pp. 321-346, Springer-Verlag, 1994.
Shao, Zhong, “An Overview of the FLINT/ML Compiler,” in ACM SIGPLAN Workshop on Types in Compilation, pp. 1-101, Jun. 1997.
Stroustrup, Bjarne, “Multiple Inheritance for C++,” Proceedings of the Spring 1987 European Unix Users Group Conference, Helsinki, 1987.
Tarditi, D.; Morrisett, G.; Cheng, P.; Stone, C.; Harper, R.; and Lee, P., “TIL: A Type-Directed Optimizing Compiler for ML,” in ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 181-192, 1996.
Wright, Andrew K. and Felleisen, Matthias, “A Syntactic Approach to Type Soundness,” Information and Computation, 115(1):38-94, 1992.
Chen et al., “A Simple Typed Intermediate Language for Object-Oriented Languages,” Microsoft Research, Microsoft Corporation, POPL'05, Jan. 12-14, 2005, 12 pages.
Chen et al., “A Typeful Approach to Object-Oriented Programming with Multiple Inheritance,” Boston University, Computer Sciences Department, (2004) pp. 23-38.
Chen, “A Typed Intermediate Language for Compiling Multiple Inheritance,” POPL '07, Jan. 17-19, 2007, 6 pages.
Colby et al., “A Certifying Compiler for Java,” PLDI 2000, pp. 95-107 (2000).
Compagnoni et al., “Higher-Order Intersection Types and Multiple Inheritance,” Computer Laboratory, University of Cambridge, Mathematical Structures in Computer Science, vol. 11 (1995), pp. 1-34.
“C++ Tutorial—this pointer,” CoderSource.net, May 1, 2004, 2 pages.
“Common Language Infrastructure (CLI), Part II: Concepts and Architecture,” final draft, Produced by ECMA TC39/TG3, Oct. 2002, 105 pages.
“Common Language Infrastructure (CLI), Part II: Metadata Definition and Semantics,” final draft, Produced by ECMA TC39/TG3, Oct. 2002, 174 pages.
“Common Language Infrastructure (CLI), Part III: CIL Instruction Set,” final draft, Produced by ECMA TC39/TG3, Oct. 2002, 131 pages.
“Common Language Infrastructure (CLI), Part IV: Profiles and Libraries,” final draft, Produced by ECMA TC39/TG3, Oct. 2002, 20 pages.
Gray et al., “C++: Under the Hood,” Mar. 1994, 25 pages http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarvc/html/jangrayhood.asp.
Morrisett et al., “From System F to Typed Assembly Language,” ACM Trans. On Programming Languages and Systems, vol. 21, No. 3, May 1999, pp. 527-568.
Polymorphism (computer science), Wikipedia, visited Dec. 27, 2005, 6 pages.
Remy et al., “Programming Objects with ML-ART, an extension to ML with Abstract and Record Types,” International Conference on Theoretical Aspects of Computer Software, Springer-Verlag, 1994, pp. 321-346.
Shao et al., “An Overview of the FLINT/ML Compiler,” in ACM SIGPLAN Workshop on Types in Compilation, Jun. 1997, pp. 1-10.
Stroustrup et al., “Multiple Inheritance for C++,” Proceedings of the Spring 1987 European Unix Users Group Conference, Helsinki, 1987, 17 pages.
Tarditi et al., “TIL: A Type-Directed Optimizing Compiler for ML,” In ACM SIGPLAN Conference on Programming Language Design and Implementation, (1996) pp. 181-192.
Wright et al., “A Syntactic Approach to Type Soundness,” Information and Computation, vol. 115, No. 1 (1992) 49 pages.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Typed intermediate language support for languages with... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Typed intermediate language support for languages with..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Typed intermediate language support for languages with... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-4067734

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.