# US 8,543,379 B1 · System and method for parsing a text buffer using a graphical user interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,379 B1
- Document ID: US8543379B1
- Status: Granted
- Kind: B1
- Application number: 11/328,421
- Filed: 2006-01-09
- Granted: 2013-09-24
- Earliest claimed: 2005-01-07
- Assignees: Interactive TKO, Inc.
- Applicants: John J. Michelsen
- Inventors: John J. Michelsen
- Web page: https://patentgrep.com/patent/US8543379B1

## CPC

- G06F 40/205: Parsing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, apparatus and software can provide a graphical user interface for parsing text to create expressions. The expressions can be used to validate other text and/or to filter text. The user interface can display the subject text, and if appropriate, render a graphical view of the text based on the text, e.g., render a web page.

## Claims

### Claim 1

A method comprising:
loading first text data into a text buffer, the first text data comprising a plurality of text characters;
presenting the first text data in a graphical user interface;
receiving a first user selection of a first set of characters in the first text data selected via the graphical user interface;
receiving a first user request to define the selected first set of characters in the first text data as a must token, wherein the first user request includes user selection of a must type from a plurality of token types via the graphical user interface;
receiving a second user selection of a second set of characters in the first text data selected via the graphical user interface;
receiving a second user request to define the selected second set of characters in the first text data as a property token, wherein the second user request includes user selection of a property from the plurality of token types via the graphical user interface and designation of a property name corresponding to the selected second set of characters; and
defining an expression including the defined must token and defined property token, wherein the must type identifies that the first selected set of characters in the first text data must be included within other text data evaluated against the expression and the property type identifies that other text portions corresponding to the second selected set of characters in other text data evaluated against the expression correspond to a value in a property name/value pair.

### Claim 2 (depends on 1)

The method of claim 1 wherein the first text data further comprises at least one of: ASCII text, Unicode text, mark-up language text, scripting language text, or computer language text.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
rendering a graphical representation of the first text data; and
displaying both the graphical representation of the first text data and the unrendered first text data.

### Claim 4 (depends on 1)

The method of claim 1 wherein the must type is selected from the plurality of token types using a first graphical user interface element and the property type is selected from the plurality of token types using a second graphical user interface element and at least one of the first graphical user interface element and the second graphical user interface element further comprises at least one of: a window, a panel, a button, a toolbar, a pull down menu, a slide-bar, a text field, an icon, pointer icon, a file selection tool, a tree representations, or a shaded selection region.

### Claim 5 (depends on 1)

The method of claim 1 wherein the plurality of token types further comprises:
an any type, wherein content compared against text included in an any type token can be exactly what is selected for the any type token, nothing at all, or any other text;
the must type, wherein content compared against a must type token must be exactly as selected for the must type token; or
the property type, wherein a property type token is associated with one or more name/value pairs, and wherein content compared against the property type token during a validation mode must equal a value stored in one of the one or more name/value pairs.

### Claim 6 (depends on 1)

The method of claim 1 wherein the expression includes a plurality of tokens including the must token and property token, and wherein the expression indicates that a first one of the plurality of tokens is ordered before a second one of the plurality of tokens.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
evaluating the expression against particular text to determine whether the particular text satisfies the expression.

### Claim 8 (depends on 1)

The method of claim 1 further comprising:
evaluating the expression against particular text to identify a particular portion of the particular text as a value in the property name/value pair.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
presenting a first graphical effect to the first set of characters in the presented first text data in response to the first user request to define the selected first set of characters as a must token; and
presenting a second, different graphical effect to the second set of characters in the presented first text data in response to the second user request to define the selected first set of characters as a property token.

### Claim 10 (depends on 9)

The method of claim 9, wherein the first and second graphical effects include highlighting of the first and second sets of characters respectively, wherein the first set of characters is highlighted in a first color and the second set of characters is highlighted in a second color.

### Claim 11 (depends on 1)

The method of claim 1, wherein the second set of characters in the first text data overlaps and includes at least one text character in the first set of characters.

### Claim 12

A non-transitory computer readable medium comprising program instructions executable on a processor to perform operations comprising:
displaying first text data stored in a text buffer using a graphical user interface, the first text data comprising a plurality of text characters;
receiving a first user selection of a first set of characters in the first text data selected via the graphical user interface;
receiving a first user request to define the selected first set of characters in the first text data as a must token, wherein the first user request includes user selection of a must type from a plurality of token types via graphical user interface; and
receiving a second user selection of a second set of characters in the first text data selected via the graphical user interface;
receiving a second user request to define the selected second set of characters in the first text data as a property token, wherein the second user request includes user selection of a property from the plurality of token types via the graphical user interface and designation of a property name corresponding to the selected second set of characters; and
defining an expression including the defined must token and defined property token, wherein the must type identifies that the first selected set of characters in the first text data must be included within other text data evaluated against the expression and the property type identifies that other text portions corresponding to the second selected set of characters in other text data evaluated against the expression correspond to a value in a property name/value pair.

### Claim 13 (depends on 12)

The computer readable medium of claim 12 wherein the first text data further comprises at least one of: ASCII text, Unicode text, mark-up language text, scripting language text, or computer language text.

### Claim 14 (depends on 12)

The computer readable medium of claim 12 further comprising instructions for:
rendering a graphical representation of the first text data; and
displaying both the graphical representation of the first text data and the unrendered first text data.

### Claim 15 (depends on 12)

The computer readable medium of claim 12 wherein the must type is selected from the plurality of token types using a first graphical user interface element and the property type is selected from the plurality of token types using a second graphical user interface element.

### Claim 16 (depends on 12)

The computer readable medium of claim 12 wherein the plurality of token types further comprises:
an any type, wherein content compared against text included in an any type token can be exactly what is selected for the any type token, nothing at all, or any other text;
the must type, wherein content compared against a must type token must be exactly as selected for the must type token; or
the property type, wherein a property type token is associated with one or more name/value pairs, and wherein content compared against the property type token during a validation mode must equal a value stored in one of the one or more name/value pairs.

### Claim 17 (depends on 12)

The computer readable medium of claim 12 wherein the expression includes a plurality of tokens including the must token and property token, and wherein the expression indicates that a first one of the plurality of tokens is ordered before a second one of the plurality of tokens.

### Claim 18 (depends on 12)

The computer readable medium of claim 12 further comprising instructions for:
evaluating the expression against particular text to determine whether the particular text satisfies the expression.

### Claim 19 (depends on 12)

The computer readable medium of claim 12 further comprising instructions for:
evaluating the expression against particular text to identify a particular portion of the particular text as a value in the property name/value pair.

### Claim 20

A system comprising:
at least one processor;
at least one computer-readable memory device storing data including text data; and
a text parsing tool coupled to retrieve text data from the at least one computer-readable memory device, wherein the text parsing tool is configured to:
load first text data into a text buffer, the first text data comprising a plurality of text characters;
present the first text data in a graphical user interface;
receive a first user selection of a first set of characters in the first text data selected via the graphical user interface;
receive a first user request to define the selected first set of characters in the first text data as a must token, wherein the first user request includes user selection of a must type from a plurality of token types via the graphical user interface;
receive a second user selection of a second set of characters in the first text data selected via the graphical user interface;
receive a second user request to define the selected second set of characters in the first text data as a property token, wherein the second user request includes user selection of a property from the plurality of token types via the graphical user interface and designation of a property name corresponding to the selected second set of characters; and
define an expression including the defined must token and defined property token, wherein the must type identifies that the first selected set of characters in the first text data must be included within other text data evaluated against the expression and the property type identifies that other text portions corresponding to the second selected set of characters in other text data evaluated against the expression correspond to a value in a property name/value pair.

### Claim 21 (depends on 20)

The system of claim 20 wherein the first text data further comprises at least one of: ASCII text, Unicode text, mark-up language text, scripting language text, or computer language text.

### Claim 22 (depends on 20)

The system of claim 20 wherein the text parsing tool is further configured to:
render a graphical representation of the first text data; and
display both the graphical representation of the first text data and the unrendered first text data.

### Claim 23 (depends on 20)

The system of claim 20 wherein the plurality of token types further comprises:
an any type, wherein content compared against text included in an any type token can be exactly what is selected for the any type token, nothing at all, or any other text;
the must type, wherein content compared against a must type token must be exactly as selected for the must type token; or
the property type, wherein a property type token is associated with one or more name/value pairs, and wherein content compared against the property type token during a validation mode must equal a value stored in one of the one or more name/value pairs.

### Claim 24 (depends on 20)

The system of claim 20 further comprising:
a persistent storage device, wherein the persistent storage device stores the expression, and wherein the expression includes a plurality of tokens including the must token and property token, and wherein the expression indicates that a first one of the plurality of tokens is ordered before a second one of the plurality of tokens.

### Claim 25 (depends on 20)

The system of claim 20 further comprising:
a difference engine, wherein the difference engine is configured to evaluate the expression against particular text to determine whether the particular text satisfies the expression.

### Claim 26 (depends on 20)

The system of claim 20 wherein the text parsing tool is further configured to:
evaluate the expression against particular text to identify a particular portion of the particular text as a value in the property name/value pair.

### Claim 27

A method comprising:
loading first text data into a text buffer;
presenting the first text data in a graphical user interface;
receiving a first user selection of a first portion of the first text data selected via the graphical user interface;
receiving a first user request to define the selected first portion of the first text data as a must token, wherein the first user request includes user selection of a must type from a plurality of token types via the graphical user interface;
receiving a second user selection of a second portion of the first text data selected via the graphical user interface;
receiving a second user request to define the selected second portion of the first text data as a property token, wherein the second user request includes user selection of a property from the plurality of token types via the graphical user interface and designation of a property name corresponding to the selected second portion;
defining an expression including the defined must token and defined property token, wherein the must type identifies that the first selected portion of the first text data must be included within other text data evaluated against the expression and the property type identifies that other text portions corresponding to the second selected portion in other text data evaluated against the expression correspond to a value in a property name/value pair;
presenting a first graphical effect to the first portion of the presented first text data in response to the first user request, the first graphical effect identifying the first portion as having been selectively defined as a must token; and
presenting a second, different graphical effect to the second portion of the presented first text data in response to the second user request, the second graphical effect identifying the second portion as having been selectively defined as a property token.
