The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jun. 08, 1999
Filed:
Jun. 14, 1993
Liane Elizabeth Acker, Round Rock, TX (US);
Michael Haden Conner, Austin, TX (US);
Andrew Richard Martin, Austin, TX (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
An emitter framework including several classes of support objects and a generic emitter class that can be subclassed to produce a new emitter for a compiler. The input to the framework is a first intermediate data structure called an abstract syntax graph which is produced by a parser within the compiler from an interface definition file. The new emitter converts the first intermediate data structure to the desired output file. The first intermediate data structure and a set of entry classes which correspond to elements in the interface definition file are input to an object graph builder. The object graph builder translates the first intermediate data structure to a second intermediate data structure called the object graph by creating instances from the set of entry classes. Typically, a new instance of a user-defined subclass of the emitter class is created by subclassing, the new emitter object instance translates the second intermediate data structure to the desired output file. Additionally, the emitter can be changed by creating a new subclass of at least one of the entry classes by subclassing so that the second intermediate data structure created by the object graph builder is altered. Template objects allow the developer to specify a new format of a section of the desired output file than would be normally output by the emitter. The template objects include a template definition which describes the content and the new format for the section and a template facility which formats the output of the new emitter object instance according to the template definition.