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

07627862

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/0169029 (2007-07-01), Chen
Naeem et al, “Inheritance and subtyping methods, modifications and analytical quantification”, IEEE, pp. 737-742, 2004.
Rupakheti et al, “An empirical study of the design and implementation of object equality in Java”, ACM CASCON, pp. 1-15, 2008.
Bierhoff et al, “Modular typestate checking of aliased objects”, ACM OOPLSA, 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/default.asp?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, “A Typed Intermediate Language for Compiling Multiple Inheritance,” POPL '07, Jan. 17-19, 2007, 6 pages.
“C++ Tutorial—this pointer,” CoderSource.net, May 1, 2004, 2 pages.
Polymorphism (computer science), Wikipedia, visited Dec. 27, 2005, 6 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-4144165

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