IP Library Patent Application 12171929
Patent Application
App. No. 12/171,929

CONFLICT RESOLUTION AND ERROR RECOVERY STRATEGIES

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 None
App. No.
12/171,929
Abstract

A plethora of strategies is afforded to facilitate conflict resolution and error recovery with respect to parsing, among other things. Grammar authors can select amongst a range of strategies or options on a case-by-case basis to address conflicts, ambiguities, errors, and the like. The strategies can be either static or dynamic. In one instance, code external to a parsing system can be invoked to resolve conflicts or recover from errors, and further enable change of strategy without requiring modification of the parser. Interaction between the parsing system and the external code can also be formalized to ensure general type safety of the system.

Claims (30)

1 . A system to facilitate computer program parsing, comprising:

an interface component that acquires a grammar and one or more conflict resolution and/or error recovery strategies decoupled from the grammar, wherein at least one strategy is dynamic; and

a parser generator component that generates a parser for one or more programming languages as a function of the grammar and the conflict resolution/error recovery strategies.

2 . The system of claim 1 , one of the strategies invokes user provided code external to the parsing system to identify a conflict resolution or error recovery action.

3 . The system of claim 2 , the external code delegates at least a portion of functionality to code, a service, or a process external thereto.

4 . The system of claim 2 , the external code can be changed to effect a different strategy without alteration of the parser.

5 . The system of claim 2 , the parser generator component inserts an abstract method that can be overridden by an external code implementation.

6 . The system of claim 5 , the parser generator component inserts parser code to facilitate identification of appropriate resolution or recovery actions.

7 . The system of claim 6 , the parser generator component inserts code to afford the external code a copy or immutable version of relevant state to ensure system safety

8 . The system of claim 1 , one of the strategies directs a parser to utilize parsing mechanisms to identify and/or resolve a conflict or recover from an error via exploration of available actions.

9 . The system of claim 1 , one of the strategies invokes a different parser capable of conflict resolution or error recovery for that purpose.

10 . A method of parsing, comprising:

identifying an ambiguity or error in a grammar; and

selecting a strategy from amongst a plurality of static and dynamic strategies capable of resolving the ambiguity or recovering from the error; and

adding appropriate code to a grammar file to effect implementation of the strategy.

11 . The method of claim 10 , comprising selecting a strategy that instructs a parsing system to employ one or more parsing mechanisms to identify a proper action.

12 . The method of claim 10 , comprising selecting a strategy that invokes a second parser to determine proper action and returns control back to a first parser.

13 . The method of claim 10 , comprising selecting a strategy that calls code external to a parsing system to determine appropriate action.

14 . The method of claim 13 , comprising selecting a strategy in which the action provided by the external code is vetted to ensure it is a valid option for addressing the ambiguity or error.

15 . The method of claim 14 , further comprising ensuring the external code is unable to alter parsing system state.

16 . The method of claim 10 , further comprising selecting a second strategy for implementation where a first strategy fails.

17 . The method of claim 10 , further comprising selecting a strategy from a menu listing the plurality of strategies in accordance with their relevance with respect to a particular ambiguity or error.

18 . A method of parsing, comprising:

examining a series of tokens extracted from an input stream;

identifying at least one of a conflict or error in accordance with a grammar;

providing relevant state information to an external service;

acquiring identification of an action from the service; and

performing the action if the action is determined to be meaningful to resolve the conflict or recover from the error.

19 . The method of claim 18 , further comprising providing a copy or immutable version of the state information to the external to ensure system safety.

20 . The method of claim 19 , further comprising overriding an abstract parser method of with an external implementation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2008
From: MEIJER, HENRICUS JOHANNES MARIA; DYER, JOHN WESLEY; MESCHTER, THOMAS; NAJMABADI, CYRUS
To: MICROSOFT CORPORATION
Reel/Frame 021227/0399 →