Domain specific language design

US9733901B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9733901-B2
Application numberUS-201113284715-A
CountryUS
Kind codeB2
Filing dateOct 28, 2011
Priority dateJul 26, 2011
Publication dateAug 15, 2017
Grant dateAug 15, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing system includes a processor; and a memory communicatively coupled to the processor. The processor is configured to: receive 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; form a set of grammar rules for the problem domain based on the annotations; and parse the set of statements using the set of grammar rules.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system comprising: a processor; and a memory communicatively coupled to said processor; in which said processor is configured to: receive from a user, a number of annotations for at least one statement of a set of statements within a problem domain, said annotations identifying at least one element within said at least one statement using identifiers describing a value associated with the at least one element, wherein the problem domain is defined using domain specific language; form a set of grammar rules for said problem domain based on said annotations; parse said set of statements using said set of grammar rules; present said user with an error message notifying said user of an error in response to detecting said error when parsing said set of statements; receive at least one additional annotation from said user in response to said error message; update said set of grammar rules according to said at least one additional annotation received from the user; and use said updated set of grammar rules to re-parse said set of statements; in which said annotations comprise an optional block annotation to indicate that a particular portion of a statement to be used to form a specific grammar rule indicates that the particular portion of the statement will not be included in at least one statement within the problem domain and will be included in at least one statement within the problem domain; and in which at least a sub-portion of the optional block annotation comprises a value annotation that denote a specific type of element is variable, that the specific type of variable element occurs a plurality of times within the set of statements, and that the value annotation includes the variable element selected from a discrete pre-defined list of related elements. 2. The system of claim 1 , wherein said annotation comprises a block to denote a sub-portion of said at least one statement for a particular purpose. 3. The system of claim 2 , wherein said block comprises an optional block that can be omitted in some statements of said set of statements. 4. The system of claim 2 , wherein said block comprises a multiple block where said block can occur multiple times within said statement. 5. A computer program product for domain specific language design, said computer program product comprising: a non-transitory computer readable storage device having computer readable code embodied therewith, said computer readable program code comprising: computer readable program code configured to receive from a user, a number of annotations for at least one statement of a set of statements within a problem domain, said annotations identifying at least one element within said at least one statement using identifiers describing a value associated with the at least one element, wherein the problem domain is defined using domain specific language; computer readable program code configured to form a set of grammar rules for said problem domain based on said annotations; computer readable program code configured to parse said set of statements within said problem domain using said set of grammar rules; computer readable program code configured to present said user with an error message notifying said user of an error in response to detecting said error when parsing said set of statements; computer readable program code configured to receive at least one additional annotation from said user in response to receiving said error message; computer readable program code configured to update said set of grammar rules according to said at least one additional annotation; and computer readable program code configured to use said updated set of grammar rules to re-parse said set of statements; in which said annotations comprise block annotations that further comprise a plurality of different sub-types of annotations with at least one sub-type of annotation comprising an optional block annotation, to indicate that a particular portion of a statement to be used to form a specific grammar rule, that indicates that the at least one statement of a set of statements within a problem domain will not include the particular portion of the statement and will include the particular portion of the statement in at least one statement within the problem domain; and wherein the optional block annotation comprises a value annotation and wherein the value annotation indicates a value that is selected from a discrete pre-defined list of values. 6. The computer program product of claim 5 , in which said block comprises a multiple block where said block can occur multiple times within said statement. 7. A system for designing domain specific languages comprising: a memory; and a processor that: presents to a user, via a user interface, a statement from among a number of statements, the statement being an example statement for a particular domain, wherein the particular domain is defined using domain specific language; receives from the user, a number of annotations for the statement among the number of statements, said annotations identifying at least one element within the statement using, via a block annotation, identifiers describing a value associated with the at least one element; parses the example statement using a set of grammar rules stored in a memory communicatively coupled to the processor and derived from the number of annotations; presents to the user an error message notifying the user of an error in response to detecting said error when parsing said statements; receives, from a user, additional annotations indicative of a number of identifiable elements within the number of statements in response to the user receiving said error message; updates the set of grammar rules based on the additional annotations; and reparses the number of statements based on the updated grammar rules; in which said annotations include a value annotation denoting that a specific type of element is variable; and in which annotations comprise block annotations that further comprise a plurality of different sub-types of annotations with at least one sub-type of annotation comprising an optional block annotation, to indicate that a particular portion of a statement to be used to form a specific grammar rule, that indicates that the at least one statement of a set of statements within a problem domain will not include the particular portion of the statement and will include the particular portion of the statement in at least one statement within the problem domain; in which the optional block annotation comprises the value annotation that further indicates a value that is selected from a discrete pre-defined list of values; in which said block comprises a multiple block where said block can occur multiple times within said statement. 8. A computer program product (CPP) for use with a textual data set representing text, the CPP comprising: a computer readable storage device; computer code including machine readable data and instructions stored on the storage device, with the machine readable data and instructions being executable by at least one processor set to cause the at least one processor set to perform at least the following operations: 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; identifying, in the text represented by the textual data set, a plurality of common elements of text; responsive to the iterative receipt of the us

Assignees

Inventors

Classifications

  • Parsing · CPC title

  • G06F8/31Primary

    Programming languages or programming paradigms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9733901B2 cover?
A computing system includes a processor; and a memory communicatively coupled to the processor. The processor is configured to: receive 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; form a set of grammar rules for the problem domain based on the annotations; and parse the …
Who is the assignee on this patent?
Bernelas Jean Michel, Dehors Sylvain, Mathey Cyril, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F8/31. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).