Contribution:
xtext
Headline
IDE Creation with an XText- and Eclipse-based DSL editor
Motivation
Based on an Xtext grammar, model code and a corresponding DSL editor is generated, with which companies can be edited and operations for totaling and cutting salaries can be invoked. Textual syntax is described by the EBNF dialect of Xtext. Technology:Ecore is used for the representation of models where the Technology:Ecore model is derived from the EBNF. The generated parser maps textual syntax to EObjects. Hence, this can be seen as a Text to Model transformation. The parser is ANTLR-based. The implementation hence also relates to Technology:EMF-based implementations such as Contribution:emf as well as ANTLR-based implementations such as Contribution:antlrParser.
Architecture
- Feature:Hierarchical_company: implemented by the generated EMF classes.
- Feature:Total: manually implemented as verification in IOIJavaValidator.java
- Feature:Cut: manually implemented as verification and corresponding editor quickfix in IOIJavaValidator.java and IOIQuickfixProvider.java.
- Feature:Parsing TODO
Usage
A Eclipse version with an installed xtext plugin is needed to execute the transformations (e.g. the the EMF version with the installed xtext Framework).
Steps:
- The contribution should be imported into Eclipse (it will contain 3 Eclipse plugins)
- io.iocompanies.lang.ioi will provide a file called GenerateIOI.mwe2, which is under src/org.ioicompanies.lang
- Executing this file (by right clicking and then selecting "Run As" -> "MWE2 workflow") will result in the generation of a metamodel and the the editor
- Then the runtime workbench can be started by right clicking on "org.ioicompanies.lang.ioi" and selecting "Run As" -> "Eclipse Application".
Comments:
- You might need to refresh the Project Explorer in Eclipse (right click and then select "Refresh")
Issues
- Usage information missing
- Architecture information somewhat sparse
- The information markers indicating the total salary per department are not correctly updated when updating salaries manually.
Backlinks
There are no revisions for this page.
User contributions
User edits
Syntax for editing wiki
For you are available next options:will make text bold.
will make text italic.
will make text underlined.
will make text striked.
will allow you to paste code headline into the page.
will allow you to link into the page.
will allow you to paste code with syntax highlight into the page. You will need to define used programming language.
will allow you to paste image into the page.
is list with bullets.
is list with numbers.
will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.
will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.
will allow your to insert code snippets from @worker.
Syntax for editing wiki
For you are available next options:will make text bold.
will make text italic.
will make text underlined.
will make text striked.
will allow you to paste code headline into the page.
will allow you to link into the page.
will allow you to paste code with syntax highlight into the page. You will need to define used programming language.
will allow you to paste image into the page.
is list with bullets.
is list with numbers.
will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.
will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.
will allow your to insert code snippets from @worker.