US2004226004A1PendingUtilityA1

Adaptive interface for a software development environment

Priority: May 1, 2000Filed: Jun 2, 2004Published: Nov 11, 2004
Est. expiryMay 1, 2020(expired)· nominal 20-yr term from priority
G06F 8/36
35
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A software development environment that permits early detection of problems that arise in porting a program to a number of different platforms. In the environment, the source code for the program to be ported is compiled together with a set of header files or other database that describes the different platforms. The compiler emits a list of porting problems that the program source code has with respect to the platforms. Also included in the environment are run-time binary code that detects porting problems for the different platforms at run time and a library of run-time routines that deal with particular porting problems. The header files, the run-time binary code for the platform, and the run-time routines are generated by a meta-compiler from a description of the differences between the platforms written in the AdI language. Also generated is platform proof source code which tests whether the description of a platform in the AdI language is correct.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A metacompiler that makes a database which describes differences in the usage of program constructs between a plurality of platforms, the metacompiler comprising: 
 a reading component that reads a description of the differences written in a language interpretable by the metacompiler and produces an internal tree structure therefrom;    an analysis component that organizes the tree structure for simpler access to information therein: and    a code generation component that generates the database from the tree structure as organized by the analysis component.    
     
     
         2 . The metacompiler set forth in  claim 1  wherein: 
 the language describes the differences using structures including 
 selector names that are associated with the platforms; and  
 selectors that use the selector names to specify bindings of the program constructs for the platforms with which the selector names are associated.  
 
 
     
     
         3 . The metacompiler set forth in  claim 2  wherein: 
 a selector is represented in the internal tree structure by a tree selector that is associated with a definition in the internal tree structure of the construct for which the selector specifies the bindings, the tree selector specifying a set of bindings that produce unambiguous readings of the definition of the construct and the code generating component generating code as required for each of the unambiguous readings.  
 
     
     
         4 . The metacompiler set forth in  claim 3  wherein: 
 the definition of the construct is included in a tree which includes at least a definition of a further construct, the further construct having at least a further selector associated therewith; and  
 a tree selector associated with the tree specifies a set of bindings that produce unambiguous readings of the definition of the construct and the definition of the further construct and the code generating component generating code from the tree as required for each of the unambiguous readings.  
 
     
     
         5 . The metacompiler set forth in  claim 4  wherein: 
 there is a plurality of the further constructs; and  
 the analysis component carries information from a tree selector contained in the tree into the tree selector associated with the tree.  
 
     
     
         6 . The metacompiler set forth in  claim 4  wherein: 
 the code generation component includes a function which iterates through the bindings specified in the tree selector and produces a version of the tree for each of the bindings, the code being generated from each version of the tree.  
 
     
     
         7 . An improved tree structure used in a compiler to represent the object being compiled, the improvement comprising: 
 a tree selector at a root of the tree structure or of a subtree thereof, the tree selector specifying a set of bindings for constructs in the tree that produce unambiguous readings of the constructs.

Join the waitlist — get patent alerts

Track US2004226004A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.