US 7,571,431 B2
Processing macro information and displaying via GUI in different tools
Haripriyan Hampapuram, Bellevue, Wash. (US); Muthu Arun Kumar Jagannathan, Bellevue, Wash. (US); and Eduardo Feu, Seattle, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Apr. 29, 2003, as Appl. No. 10/426,121.
Prior Publication US 2004/0221262 A1, Nov. 04, 2004
Int. Cl. G06F 9/45 (2006.01)
U.S. Cl. 717—141  [717/113; 717/143] 9 Claims
OG exemplary drawing
 
1. A method of providing macro expansions display in a software development tool, the method comprising:
parsing a set of source files of a programming project, the set of source files having at least one macro;
performing macro expansion of any macros appearing in the source files;
for each source file, collecting information descriptive of the macro expansions of the macros;
recording the collected information into separate macro files for each source file;
loading the separate macro files into a database such that the macro expansion record information is stored in at least two macro-specific tables, the at least two macro-specific tables comprising: a macro definition table and a macro expansion table;
wherein the macro definition table comprises records corresponding to macros,
a record corresponding to a given macro comprising:
a macro id uniquely identifying the given macro, and
a definition of the given macro;
wherein the macro expansion table comprises at least one record corresponding to a macro statement within the source files, the at least one record corresponding to a macro statement comprising:
a name field storing name of the source file from which the macro statement using the given macro occurred,
a line number field storing line number of the macro statement within the source file,
a column number field storing column number where the given macro was used in the macro statement,
if the macro statement is nested, macro expansion information comprising nesting order of the given macro within the macro statement,
the ID identifying the given macro record in the macro definition table, and
wherein there is a separate record in the macro expansion table for each expansion of a nested macro;
providing a graphical user interface on a display device;
retrieving information of a respective macro expansion for a macro appearing in the source files of the programming project from the database; and
within the graphical user interface, presenting a display of the retrieved information of the macro expansion in-line within the source code directly below an occurrence of the macro statement in source code corresponding to the source files.