Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presented by: Elena C. Ciobanu - 4187873 Mihai V. Ciobanu - 4559971 Kuntal Ghosh - 6492501.

Similar presentations


Presentation on theme: "Presented by: Elena C. Ciobanu - 4187873 Mihai V. Ciobanu - 4559971 Kuntal Ghosh - 6492501."— Presentation transcript:

1 Presented by: Elena C. Ciobanu - 4187873 Mihai V. Ciobanu - 4559971 Kuntal Ghosh - 6492501

2  Goals of DSL  Scope of tool support for the DSL  DSL definition overview  DSL creation technology selected  Editor design and sample usage  Foreseen impact of language evolution  Potential for analysis and/or code generation  Conclusions

3  A programming language with minimal features and functionality for a particular area of interest or domain.  Our DSL ◦ Generate and create data charts (pie, bar etc.) ◦ Very easy to use ◦ No prior programming knowledge needed ◦ Easy to learn and remember

4  DSLs can be implemented either by ◦ Interpretation or code generation ◦ A specific parser to process it  We have taken the first approach

5  Internal DSLs ◦ Active Record Query Interface in Ruby on Rails ◦ Example  client = Client.find(10)  External DSLs. ◦ CSS

6  Xtext ◦ Grammar definition using regular expressions  Xtend ◦ Mapping from Xtext to Java  Eclipse ◦ Running environment

7 KeywordsOptional chartNo typeNo dataNo sizeNo legendYes rowkeyYes columnkeyYes axislabelsYes colorYes

8  Regular Expressions ◦ “In computing, a regular expression provides a concise and flexible means to "match" (specify and recognize) strings of text, such as particular characters, words, or patterns of characters.” (Wikipedia)  Syntax Examples ◦ * (zero to many): a* “” “aaa” “aaaaaa” “ab” ◦ ? (zero or one): b?“bb”“b”“ab” “” ◦ + (one to many): a+ “” “aaa” “aaaaaa” “ab”

9  Xtend ◦ Mapping from DSL grammar to Java code  Mapping ◦ Template based ◦ Java code entered in template is not parsed ◦ Xtend code maps Xtext to Java

10  JFreeCharts ◦ Swing ◦ Awt  Jcommon  Advantages ◦ Extensible ◦ Pre-built libraries

11  Java code evolution ◦ Xtend template adjustments  Grammar evolution ◦ Xtext file adjustments

12

13 Chart DSL  easy to use  extendable  Eclipse IDE advantages  Auto-completion

14


Download ppt "Presented by: Elena C. Ciobanu - 4187873 Mihai V. Ciobanu - 4559971 Kuntal Ghosh - 6492501."

Similar presentations


Ads by Google