IP Library Granted Patent US 10,120,857
Granted Patent B2
US 10,120,857 · App. 15/284,385 · Granted Nov 6, 2018

Method and system for generating a parser and parsing complex data

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 10,120,857
App. No.
15/284,385
Granted
Nov 6, 2018
Kind
B2
Abstract

Computer-implemented systems and methods are disclosed for constructing a parser that parses complex data. In some embodiments, a method is provided for receiving a parser definition as an input to a parser generator and generating a parser at least in part from the parser definition. In some embodiments, the generated parser comprises two or more handlers forming a processing pipeline. In some embodiments, the parser receives as input a first string into the processing pipeline. In some embodiments, the parser generates a second string by a first handler and inputs the second string regeneratively into the parsing pipeline, if the first string matches an expression specified for the first handler in the parser definition.

Claims (48)

1. A system for parsing complex data, the system comprising:

a memory device configured to store a set of instructions; and

at least one processor configured to execute the set of instructions to perform the following operations:

input complex data into a parsing pipeline within a parser, the complex data associated with at least one format, and

execute, for each of one or more strings extracted from the complex data inputted into the parsing pipeline, the following operations:

generate a second string, by a first handler, based in part on a current input string to the parsing pipeline, if the current input string to the parsing pipeline matches a regular expression specified for the first handler in a parser definition; and

input the second string, regeneratively, by the first handler, to the parsing pipeline, if the current input string to the parsing pipeline matches a regular expression specified for the first handler in the parser definition;

wherein the executing, for each of one or more strings extracted from the complex data inputted into the parsing pipeline, facilitates at least one conversion from the at least one format to at least one other format;

outputting the converted complex data.

2. The system of claim 1 , wherein the at least one processor is further configured by the set of instructions to perform the following operation as part of the execution:

communicate, by the first handler, as an input string to a second handler, the input string to the parsing pipeline, if the current input string to the parsing pipeline does not match a regular expression specified for the first handler in the parser definition.

3. The system of claim 2 , wherein the at least one processor is further configured by the set of instructions to perform the following operations as part of the execution:

generate a third string, by the second handler, based in part on the input string to second handler, if the input string to second handler matches a regular expression specified for the second handler in the parser definition; and

input the third string, by the second handler, as an input to another handler, if the input string to second handler matches a regular expression specified for the second handler in the parser definition.

4. The system of claim 3 , wherein the at least one processor is further configured by the set of instructions to perform the following operation as part of the execution:

generate an output string from a third handler, by the third handler, if the current input string to the parsing pipeline does not match regular expressions specified for handlers other than the third handler in the parser definition.

5. A method for parsing complex data, the method comprising the following operations performed by one or more processors:

inputting complex data into a parsing pipeline within a parser, the complex data associated with at least one format; and

executing each of one or more strings extracted from the complex data inputted into the parsing pipeline, the executing comprising:

generating a second string, by a first handler, based in part on the current input string to the parsing pipeline, if the current input string to the parsing pipeline matches a regular expression specified for the first handler in a parser definition; and

inputting the second string, regeneratively, by the first handler, to the parsing pipeline, if the current input string to the parsing pipeline matches a regular expression specified for the first handler in the parser definition;

wherein the executing, for each of one or more strings extracted from the complex data inputted into the parsing pipeline, facilitates at least one conversion from the at least one format to at least one other format;

outputting the converted complex data.

6. The method of claim 5 , wherein executing each inputted string further comprises:

communicating, by the first handler, as an input string to a second handler, the input string to the parsing pipeline, if the current input string to the parsing pipeline does not match a regular expression specified for the first handler in the parser definition.

7. The method of claim 6 , wherein executing each inputted string further comprises:

generating a third string, by the second handler, based in part on the input string to second handler, if the input string to second handler matches a regular expression specified for the second handler in the parser definition; and

inputting the third string, by the second handler, as an input to another handler, if the input string to second handler matches a regular expression specified for the second handler in the parser definition.

8. The method of claim 7 , wherein executing each inputted string further comprises:

generating an output string from a third handler, by the third handler, if the current input string to the parsing pipeline does not match regular expressions specified for handlers other than the third handler in the parser definition.

9. The method of claim 8 , wherein executing each inputted string further comprises:

generating an output string from the parsing pipeline based at least in part on an output string generated by a last handler in the parsing pipeline.

10. A non-transitory computer readable medium that stores a set of instructions that are executable by at least one processor of an electronic device to cause the electronic device to perform a method for parsing complex data, the method comprising:

inputting complex data into a parsing pipeline within a parser, the complex data associated with at least one format; and

executing the one or more of one or more strings extracted from the complex data inputted into the parsing pipeline, wherein the set of instructions for the executing further comprises instructions executable by the electronic device to cause the electronic device to:

generate a second string, by a first handler, based in part on the current input string to the parsing pipeline, if the current input string to the parsing pipeline matches a regular expression specified for the first handler in a parser definition; and

input the second string, regeneratively, by the first handler, to the parsing pipeline, if the current input string to the parsing pipeline matches a regular expression specified for the first handler in the parser definition;

wherein the executing, for each of one or more strings extracted from the complex data inputted into the parsing pipeline, facilitates at least one conversion from the at least one format to at least one other format;

outputting the converted complex data.

11. The non-transitory computer readable medium of claim 10 , wherein the set of instructions for the executing further comprises instructions executable by the electronic device to cause the electronic device to:

communicate, by the first handler, as an input string to a second handler, the input string to the parsing pipeline, if the current input string to the parsing pipeline does not match a regular expression specified for the first handler in the parser definition.

12. The non-transitory computer readable medium of claim 11 , wherein the set of instructions for the executing further comprises instructions executable by the electronic device to cause the electronic device to:

generate a third string, by the second handler, based in part on the input string to second handler, if the input string to second handler matches a regular expression specified for the second handler in the parser definition; and

input the third string, by the second handler, as an input to another handler, if the input string to second handler matches a regular expression specified for the second handler in the parser definition.

13. The non-transitory computer readable medium of claim 12 , wherein the set of instructions for the executing further comprises instructions executable by the electronic device to cause the electronic device to:

generate an output string from a third handler, by the third handler, if the current input string to the parsing pipeline does not match regular expressions specified for handlers other than the third handler in the parser definition.

14. The non-transitory computer readable medium of claim 13 , wherein the set of instructions for the executing further comprises instructions executable by the electronic device to cause the electronic device to:

generate an output string from the parsing pipeline based at least in part on an output string generated by a last handler in the parsing pipeline.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: ELLIOT, MARK
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 039926/0220 →