IP Library Granted Patent US 7,210,138
Granted Patent B2
US 7,210,138 · App. 10/678,344 · Granted Apr 24, 2007

System and method for performing error recovery in an integrated development environment

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 7,210,138
App. No.
10/678,344
Granted
Apr 24, 2007
Kind
B2
Abstract

A system and method for compiler error recovery, comprising analyzing the syntactic structure of a first program in a first programming language, wherein the first program can be represented by a first set of tokens, detecting a syntax error in the first program, remedying the syntax error by adding at least one token to the first set of tokens according to one of: 1) a prefix definition; and 2) an idiom definition, and wherein the detection of the syntax error occurs at the behest of an extensible compiler framework.

Claims (74)

1. A method for code completion compiler error recovery while creating software code in an integrated development environment, comprising:

parsing the syntactic structure of a first program in a first programming language, wherein the first program can be represented by a first set of tokens;

detecting a syntax error in the first program;

correcting the syntax error by adding at least one token to the first set of tokens according to one of: 1) a prefix, wherein a prefix is the combination of an opening delimiter with a newly created closing delimiter, and 2) an idiom, wherein an idiom is a specific insertion sequence that can be used to overcome common errors in a given programming language; and

wherein an extensible compiler framework detects the syntax error.

2. The method of claim 1 , further comprising:

correcting the syntax error by removing at least one token from the first set of tokens according to a grammar rule if the syntax error cannot be corrected by adding at least one token to the set of tokens.

3. The method of claim 2 wherein:

the grammar rule incorporates the syntax error into a grammatical definition of the first programming language.

4. The method of claim 1 wherein:

the prefix includes an opening delimiter and a closing delimiter.

5. The method of claim 1 wherein:

the prefix associates an unmatched delimiter with the at least one token.

6. The method of claim 1 wherein;

the at least one token is an operator if there is no applicable prefix.

7. The method of claim 1 wherein:

the idiom associates a syntax error with the at least one token.

8. The method of claim 1 wherein the step of remedying the syntax error includes:

adding a terminator to the first set of tokens.

9. The method of claim 1 wherein:

the extensible compiler framework can integrate and interact with compilers for different programming languages through a common interface.

10. The method of claim 1 wherein:

the first program in the first programming language can be nested within a second program in a second programming language.

11. The method of claim 1 wherein;

a second program in a second programming language is nested within the first program in the first programming language.

12. A method for code completion compiler error recovery while creating software code in an integrated development environment, comprising:

parsing the syntactic structure of a first program in a first programming language, wherein the first program can be represented by a first set of tokens;

detecting a syntax error in the first program;

correcting the syntax error by adding at least one token to the first set of tokens according to one of: 1) a prefix, wherein a prefix is the combination of an opening delimiter with a newly created dosing delimiter; and 2) an idiom definition, wherein an idiom is a specific insertion sequence that can be used to overcome common errors in a given programming language; and

wherein an extensible compiler framework detects the syntax error; and

wherein the extensible compiler framework can integrate and interact with compilers for different programming languages through a common interface.

13. The method of claim 12 , further comprising:

correcting the syntax error by removing at least one token from the first set of tokens according to a grammar rule if the syntax error cannot be remedied by adding at least one token to the set of tokens.

14. The method of claim 13 wherein:

the grammar rule incorporates the syntax error into a grammatical definition of the first programming language.

15. The method of claim 12 wherein:

the prefix includes an opening delimiter and a closing delimiter.

16. The method of claim 12 wherein:

the prefix associates an unmatched delimiter with the at least one token.

17. The method of claim 12 wherein:

the at least one token is an operator if there is no applicable prefix.

18. The method of claim 12 wherein:

the idiom associates a syntax error with the at least one token.

19. The method of claim 12 wherein the step of remedying the syntax error includes:

adding a terminator to the first set of tokens.

20. The method of claim 12 wherein:

the first program in the first programming language can be nested within a second program in a second programming language.

21. The method of claim 12 wherein:

a second program in a second programming language is nested within the first program in the first programming language.

22. A machine readable storage medium having instructions stored thereon that when executed by a processor cause a integrated development environment code completion system to:

parse the syntactic structure of a first program in a first programming language, wherein the first program can be represented by a first set of tokens;

detect a syntax error in the first program;

correct the syntax error by adding at least one token to the first set of tokens according to one of: 1) a prefix, wherein a prefix is the combination of an opening delimiter with a newly created closing delimiter; and 2) an idiom, wherein an idiom is a specific insertion sequence that can be used to overcome common errors in a given programming language; and

wherein an extensible compiler framework detects the syntax error.

23. The machine readable storage medium of claim 22 , further comprising instructions that when executed cause the system to:

correct the syntax error by removing at least one token from the first set of tokens according to a grammar rule if the syntax error cannot be remedied by adding at least one token to the set of tokens.

24. The machine readable storage medium of claim 23 wherein:

the grammar rule incorporates the syntax error into a grammatical definition of the first programming language.

25. The machine readable storage medium of claim 22 wherein:

the prefix includes an opening delimiter and a closing delimiter.

26. The machine readable storage medium of claim 22 wherein:

the prefix associates an unmatched delimiter with the at least one token.

27. The machine readable storage medium of claim 22 wherein:

the at least one token is an operator if there is no applicable prefix.

28. The machine readable storage medium of claim 22 wherein:

the idiom associates a syntax error with the at least one token.

29. The machine readable storage medium of claim 22 , further comprising instructions that when executed cause the system to:

add a terminator to the first set of tokens.

30. The machine readable storage medium of claim 22 wherein:

the extensible compiler framework can integrate and interact with compilers for different programming languages through a common interface.

31. The machine readable storage medium of claim 22 wherein:

the first program in the first programming language can be nested within a second program in a second programming language.

32. The machine readable storage medium of claim 22 wherein:

a second program in a second programming language is nested within the first program in the first programming language.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025084/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2003
From: ZATLOUKAL, KEVIN; WAGNER, TIM A.
To: BEA SYSTEMS, INC.
Reel/Frame 014583/0136 →