IP Library › Granted Patent US 9,361,075
Granted Patent B2
US 9,361,075 · App. 14/538,959 · Granted Jun 7, 2016

Contraction aware parsing system for domain-specific languages

Inventors: Jean-Michel G. B. Bernelas (Nice, FR); Ulrich M. Junker (Biot, FR); Stephane Mery (Lexington, MA)
Assignee: International Business Machines Corporation
G06F8/427
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 9,361,075
App. No.
14/538,959
Filed
Nov 12, 2014
Granted
Jun 7, 2016
Kind
B2
Examiner
DAS, CHAMELI
Art Unit
2197
USPC
717/143
Abstract

Aspects of the present invention disclose a method, computer program product, and system for parsing a domain-specific language (DSL) statement. The method includes one or more processors accessing a DSL statement that includes contracted phrases. The method further includes one or more processors identifying one or more contracted phrases in the DSL statement utilizing an annotated domain vocabulary for a DSL associated with the DSL statement and grammar rules for the DSL. The method further includes one or more processors determining expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules. The method further includes one or more processors creating an expanded abstract syntax tree (AST) that is representative of the DSL statement with the determined expanded phrases replacing the identified one or more contracted phrases.

Claims (39)

1. A computer program product for parsing a domain-specific language (DSL) statement, the computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to access a DSL statement that includes contracted phrases;

program instructions to identify one or more contracted phrases in the DSL statement utilizing an annotated domain vocabulary for a DSL associated with the DSL statement and grammar rules for the DSL;

program instructions to determine expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules;

program instructions to create an expanded abstract syntax tree (AST) that is representative of the DSL statement with the determined expanded phrases replacing the identified one or more contracted phrases;

determine whether the expanded AST includes any contracted phrases; and

responsive to determining that the expanded AST does include contracted phrases, identify one or more contracted phrases in the expanded AST utilizing the annotated domain vocabulary for the DSL and the grammar rules for the DSL.

2. The computer program product of claim 1 , wherein the program instructions to identify one or more contracted phrases in the DSL statement utilizing the annotated domain vocabulary for the DSL associated with the DSL statement and grammar rules for the DSL comprise program instructions to:

create an AST that is representative of the DSL statement that includes contracted phrases; and

identify one or more contracted phrases in the created AST utilizing the annotated domain vocabulary for the DSL and the grammar rules for the DSL.

3. The computer program product of claim 2 , wherein the created AST includes semantic annotations that correspond to nodes in the created AST that include a contracted phrase.

4. The computer program product of claim 1 , wherein the program instructions to determine expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules, further comprise program instructions to:

expand the one or more identified contracted phrases according to the domain vocabulary for the DSL.

5. The computer program product of claim 1 , further comprising program instructions, stored on the one or more computer readable storage media, to:

identify operators in the DSL statement that are associated with annotations in the annotated domain vocabulary; and

determine extensions to add to the annotated domain vocabulary based on the identified operators.

6. The computer program product of claim 5 , further comprising program instructions, stored on the one or more computer readable storage media, to:

determine one or more rules to add to the grammar rules for the DSL based on the determined extensions to add to the annotated domain vocabulary.

7. A computer system parsing a domain-specific language (DSL) statement, the computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to access a DSL statement that includes contracted phrases;

program instructions to identify one or more contracted phrases in the DSL statement utilizing an annotated domain vocabulary for a DSL associated with the DSL statement and grammar rules for the DSL;

program instructions to determine expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules;

program instructions to create an expanded abstract syntax tree (AST) that is representative of the DSL statement with the determined expanded phrases replacing the identified one or more contracted phrases;

determine whether the expanded AST includes any contracted phrases; and

responsive to determining that the expanded AST does include contracted phrases, identify one or more contracted phrases in the expanded AST utilizing the annotated domain vocabulary for the DSL and the grammar rules for the DSL.

8. The computer system of claim 7 , wherein the program instructions to identify one or more contracted phrases in the DSL statement utilizing the annotated domain vocabulary for the DSL associated with the DSL statement and grammar rules for the DSL comprise program instructions to:

create an AST that is representative of the DSL statement that includes contracted phrases; and

identify one or more contracted phrases in the created AST utilizing the annotated domain vocabulary for the DSL and the grammar rules for the DSL.

9. The computer system of claim 7 , wherein the program instructions to determine expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules, further comprise program instructions to:

expand the one or more identified contracted phrases according to the domain vocabulary for the DSL.

10. The computer system of claim 7 , further comprising program instructions, stored on the computer readable storage media for execution by at least one of the one or more processors, to:

identify operators in the DSL statement that are associated with annotations in the annotated domain vocabulary; and

determine extensions to add to the annotated domain vocabulary based on the identified operators.

11. The computer system of claim 10 , further comprising program instructions, stored on the computer readable storage media for execution by at least one of the one or more processors, to:

determine one or more rules to add to the grammar rules for the DSL based on the determined extensions to add to the annotated domain vocabulary.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2014
From: BERNELAS, JEAN-MICHEL G.B.; JUNKER, ULRICH M.; MERY, STEPHANE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034206/0082 →
Continuity (1)
Related Publication 20160132304A1 · May 12, 2016