IP Library Granted Patent US 8,578,323
Granted Patent B2
US 8,578,323 · App. 13/108,926 · Granted Nov 5, 2013

Hierarchical program source management

Inventors: Johnson Y. S. Chiang (Taipei, TW); Jeffrey C. H. Liu (Taipei, TW); Joey H. Y. Tseng (Taipei, TW); Jim C. L. Yu (Taipei, TW)
Assignee: International Business Machines Corporation
View Patent ↗
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 8,578,323
App. No.
13/108,926
Granted
Nov 5, 2013
Kind
B2
Abstract

A method, a system and a computer program product for hierarchical program source management retrieve a main program from a memory and initiate a layer representing a portion of the main program for editing on the display. Program code is edited within the layer in response to detected user programming inputs. A layer abstract syntax tree corresponding to the edited program code is generated. The layer abstract syntax tree is compared with a main program abstract syntax tree and a layer file is generated including the differences between the layer abstract syntax tree and the main program abstract syntax tree.

Claims (75)

1. A method for hierarchical program source management, comprising:

retrieving a main program from a memory;

initiating a layer representing a portion of the main program for editing on a display;

editing program code within the layer in response to detected user programming inputs;

generating a layer abstract syntax tree corresponding to the edited program code;

comparing the layer abstract syntax tree with a main program abstract syntax tree; and

generating a layer file comprising differences between the layer abstract syntax tree and the main program abstract syntax tree.

2. The method of claim 1 , where retrieving the main program from the memory comprises:

retrieving at least one layer file associated with the main program from the memory;

displaying program code corresponding to the at least one layer file and the main program; and

further comprising:

determining whether to hide the program code corresponding to at least one of the at least one layer file in response to a detected user input from a user; and

where initiating the layer representing the portion of the main program for editing on the display comprises initiating the layer based upon the determination of whether to hide the program code corresponding to the at least one of the at least one layer file.

3. The method of claim 2 , further comprising:

detecting a selection of at least two layer files by the user; and

merging the at least two layer files to generate a new layer file comprising a new abstract syntax tree corresponding to the at least two layer files.

4. The method of claim 2 , where displaying the program code corresponding to the at least one layer file and the main program comprises:

differentiating between the program code corresponding to the at least one layer file and the program code corresponding to the main program using a recognition marker, where the recognition marker comprises at least one of a background color, a text color, a frame line, a font, and a transparency.

5. The method of claim 2 , where displaying the program code corresponding to the at least one layer file and the main program comprises:

displaying the program code corresponding to the at least one layer file and the main program in a program code displaying region; and

displaying descriptive information corresponding to the at least one layer file in a layer management region.

6. The method of claim 2 , further comprising:

detecting a selection of at least one layer file by the user; and

flattening the at least one layer file and the main program to generate a new main program using the layer abstract syntax tree corresponding to the at least one layer file.

7. A computer program product comprising a computer readable storage medium including computer readable program code, where the computer readable program code when executed on a computer causes the computer to:

retrieve a main program from a memory;

initiate a layer representing a portion of the main program for editing on a display;

edit program code within the layer in response to detected user programming inputs;

generate a layer abstract syntax tree corresponding to the edited program code;

compare the layer abstract syntax tree with a main program abstract syntax tree; and

generate a layer file comprising differences between the layer abstract syntax tree and the main program abstract syntax tree.

8. The computer program product of claim 7 , where in causing the computer to retrieve the main program from the memory, the computer readable program code when executed on the computer causes the computer to:

retrieve at least one layer file associated with the main program from the memory;

display program code corresponding to the at least one layer file and the main program; and

where the computer readable program code when executed on the computer further causes the computer to:

determine whether to hide the program code corresponding to at least one of the at least one layer file in response to a detected user input from a user; and

where in causing the computer to initiate the layer representing the portion of the main program for editing on the display, the computer readable program code when executed on the computer causes the computer to initiate the layer based upon the determination of whether to hide the program code corresponding to the at least one of the at least one layer file.

9. The computer program product of claim 8 , where the computer readable program code when executed on the computer further causes the computer to:

detect a selection of at least two layer files by the user; and

merge the at least two layer files to generate a new layer file comprising a new abstract syntax tree corresponding to the at least two layer files.

10. The computer program product of claim 8 , where in causing the computer to display the program code corresponding to the at least one layer file and the main program, the computer readable program code when executed on the computer causes the computer to:

differentiate between the program code corresponding to the at least one layer file and the program code corresponding to the main program using a recognition marker, where the recognition marker comprises at least one of a background color, a text color, a frame line, a font, and a transparency.

11. The computer program product of claim 8 , where in causing the computer to display the program code corresponding to the at least one layer file and the main program, the computer readable program code when executed on the computer causes the computer to:

display the program code corresponding to the at least one layer file and the main program in a program code displaying region; and

display descriptive information corresponding to the at least one layer file in a layer management region.

12. The computer program product of claim 7 , where the computer readable program code when executed on the computer further causes the computer to:

detect a selection of at least one layer file by the user; and

flatten the at least one layer file and the main program to generate a new main program using the layer abstract syntax tree corresponding to the at least one layer file.

13. A system for hierarchical program source management, comprising:

a display;

a memory for storing a main program; and

a processor programmed to provide a program development interface via the display and to:

retrieve the main program from the memory;

initiate a layer representing a portion of the main program for editing on the display;

edit program code within the layer in response to detected user programming inputs;

generate a layer abstract syntax tree corresponding to the edited program code;

compare the layer abstract syntax tree with a main program abstract syntax tree; and

generate a layer file comprising differences between the layer abstract syntax tree and the main program abstract syntax tree.

14. The system of claim 13 , where, in being programmed to retrieve the main program from the memory, the processor is programmed to:

retrieve at least one layer file associated with the main program from the memory;

display program code corresponding to the at least one layer file and the main program on the display; and

where the processor is further programmed to:

determine whether to hide the program code corresponding to at least one of the at least one layer file in response to a detected user input from a user; and

where in being programmed to initiate the layer representing the portion of the main program for editing on the display, the processor is programmed to initiate the layer based upon the determination of whether to hide the program code corresponding to the at least one of the at least one layer file.

15. The system of claim 14 , wherein the processor is further programmed to:

detect a selection via the program development interface of at least two layer files by the user; and

merge the at least two layer files to generate a new layer file comprising a new abstract syntax tree corresponding to the at least two layer files.

16. The system of claim 14 , where, in being programmed to display the program code corresponding to the at least one layer file and the main program, the processor is programmed to:

differentiate between the program code corresponding to the at least one layer file and the program code corresponding to the main program using a recognition marker, where the recognition marker comprises at least one of a background color, a text color, a frame line, a font, and a transparency.

17. The system of claim 14 , where, in being programmed to display the program code corresponding to the at least one layer file and the main program, the processor is programmed to:

display the program code corresponding to the at least one layer file and the main program in a program code displaying region on the display; and

display descriptive information corresponding to the at least one layer file in a layer management region on the display.

18. The system of claim 13 , where the processor is further programmed to:

detect a selection of at least one layer file by the user; and

flatten the at least one layer file and the main program to generate a new main program using the layer abstract syntax tree corresponding to the at least one layer file.

Assignments (2)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Jan 11, 2018
From: INTERNATIONAL BUSINESS MACHINES
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045047/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2011
From: CHIANG, JOHNSON Y. S.; LIU, JEFFREY C. H.; TSENG, JOEY H. Y.; YU, JIM C. L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026287/0667 →
Priority Claims (1)
TW 99117403 A · May 31, 2010 · national
Continuity (1)
Related Publication 20110296378A1 · Dec 1, 2011