IP Library Patent Application 12192398
Patent Application
App. No. 12/192,398

OPTIMIZATION OF IMPERATIVE IMPLEMENTATION OF COMPOSITIONAL CONTENT

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/192,398
Abstract

Compositional program content is compiled to statements of an imperative application interface in manners that optimize execution and/or resource utilization, among other things. In one instance, a constructor is employed in a manner that obviates a need for extensive memory allocation and parameter copying. Names and namespaces are also cached to avoid expensive table lookup, and redundant namespace declarations are removed and/or moved statically and/or dynamically.

Claims (28)

1 . A compiler system, comprising:

a component that receives compositionally specified input; and

a transform component that maps the input to an imperative application-programming interface to effect the specified function in a manner that avoids unnecessary memory allocation and parameter copying in construction of the input.

2 . The system of claim 1 , the input is a language-integrated expression literal.

3 . The system of claim 2 , the expression is specified in a markup language

4 . The system of claim 3 , a markup element is mapped to a constructor that takes a name of the element as an argument, and child elements or attributes are injected with a series of add method calls.

5 . The system of claim 3 , further comprising a component that caches element names and/or namespaces to avoid a table lookup and/or string comparison during construction.

6 . The system of claim 5 , the element names and/or namespaces are hoisted to variables and reused.

7 . The system of claim 3 , further comprising a namespace component that removes redundant namespaces associated with markup elements.

8 . The system of claim 7 , the namespace component moves a namespace declaration to a parent element.

9 . The system of claim 7 , the namespace component operates at compile time and runtime.

10 . The system of claim 7 , information collected at compile time is available at runtime.

11 . A method of compiling expressions, comprising:

acquiring compositional expressions integrated within a host program language;

transforming the expressions into statements of an imperative application programming interface to effect host language implementation; and

removing redundant namespace declarations at compile time and/or runtime.

12 . The method of claim 11 , further comprising moving a namespace declaration to a parent or ancestor expression element.

13 . The method of claim 12 , moving solely global namespaces that are declared using an imports statement and local declarations that match global declarations.

14 . The method of claim 12 , further comprising determining statically that a namespace declaration can be moved, and moving the namespace declaration at compile time.

15 . The method of claim 11 , further comprising generating a call to a runtime helper function to determine at runtime when assembling expressions whether a declaration can be moved and/or removed where the determination is unable to be made statically at compile time.

16 . The method of claim 11 , further comprising removing a local namespace declaration with a different prefix than another prefix associated with the same namespace declaration in scope.

17 . The method of claim 11 , further comprising passing information assembled during compilation to runtime to facilitate removal of namespaces at runtime.

18 . A method of compilation, comprising:

acquiring a markup language input literal;

mapping the literal to one or more statements in accordance with an imperative application programming interface; and

caching one or more literal names and/or namespaces to avoid table lookup when constructing the literal.

19 . The method of claim 18 , further comprising constructing a unique object for each name and/or namespace string associated with a literal element.

20 . The method of claim 19 , further comprising specifying name lookup on a namespace object to produce a name object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2008
From: AHARONI, AVNER; MEIJER, HENRICUS JOHANNES MARIA; SCHACH, DAVID N.; KIMBALL, ANDREW; NAMBOODIRIPAD, GHANASHYAM
To: MICROSOFT CORPORATION
Reel/Frame 021405/0755 →