# US 10,120,654 B2 · Domain specific language design

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

- Number: US 10,120,654 B2
- Document ID: US10120654B2
- Status: Granted
- Kind: B2
- Application number: 13/430,217
- Filed: 2012-03-26
- Published: 2013-01-31
- Granted: 2018-11-06
- Earliest claimed: 2011-07-26
- Assignees: International Business Machines Corporation
- Applicants: Jean Michel Bernelas; Sylvain Dehors; Cyril Mathey; Stephane Mery
- Inventors: Jean Michel Bernelas; Sylvain Dehors; Cyril Mathey; Stephane Mery
- Web page: https://patentgrep.com/patent/US10120654B2

## CPC

- G06F 8/31: {Programming languages or programming paradigms}
- G06F 8/427: {Parsing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for domain specific language design includes, with a physical computing system, receiving from a user, a number of annotations for at least one of a set of statements within a problem domain, the annotations identifying a set of elements within the statement. The method further includes forming a set of grammar rules for the problem domain based on the annotations, and parsing the set of statements using the set of grammar rules.

## Claims

### Claim 1

A method for use with a textual data set representing text, the method comprising:
iteratively receiving user selection data sets, with each user selection data set including:
(i) an identification of a portion of text included in the textual data set, and
(ii) an annotation assigned to the respectively associated portion of text, with each annotation including at least one of the following types of annotation value: value, identifier, block;
wherein the block annotation comprises an optional block annotation that indicates that a particular portion of text to be used to form a specific grammar rule indicates that the associated portion of text will not be included in an instance within the textual data set and will be included in an instance within the textual data set, wherein said annotation comprises a block to denote a sub-portion of said at least one statement for a particular purpose and wherein said block comprises a multiple block where said block can occur multiple times within said statement;
identifying, in the text represented by the textuai data set, a plurality of common elements of text;
responsive to the iterative receipt of the user selection data sets, building a target language based, at least in part upon the plurality of common elements of text;
responsive to receipt of each given user selection data set, computing a grammar using the portion of text and the annotations provided by the given user selection data set; and
wherein the user selection data sets are used for:
parsing the statement using the grammar;
creating a table with the columns, using the information extracted from the parsing the statement wherein each entry of the table corresponds to the statement.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
defining a grammar of a textual Domain Specific Language, based on the target language.

### Claim 3 (depends on 2)

The method of claim 2 further comprising: linking the target language to a dataset.

### Claim 4 (depends on 2)

The method of claim 2 further comprising:
responsive to the definition of the grammar, highlighting, in the text corresponding to a first user selection data set of the user selection data sets, instance(s) that do not comply with the grammar.
