Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Xtext/Galileo"
(Formatting) |
(→Feature Map (updated 2009/02/18)) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= TMF Xtext 0.7.0 = | = TMF Xtext 0.7.0 = | ||
− | Xtext is a framework used to develop textual, EMF-based domain-specific languages (DSL). TMF | + | ''Xtext'' is a framework used to develop textual, EMF-based domain-specific languages (DSL). ''TMF |
− | Xtext is a complete rewrite of the currently released version known from openArchitectureWare | + | Xtext'' is a complete rewrite of the currently released version known from openArchitectureWare |
− | (oAW Xtext). | + | (''oAW Xtext''). ''TMT Xtext'' is not 100% compatible with ''oAW Xtext''. However, many concepts are very |
− | similar. At | + | similar and we'll provide a guide to help you with migration. At its heart, ''Xtext'' itself provides a DSL (the grammar language) used to describe the |
concrete and abstract syntax of a DSL. | concrete and abstract syntax of a DSL. | ||
Line 11: | Line 11: | ||
top. | top. | ||
− | Based on a grammar Xtext offers language-specific functionality such a parsers, printers, editors | + | Based on a grammar, ''Xtext'' offers language-specific functionality such a parsers, printers, editors |
− | and other tooling stuff. Xtext comes with simple but reasonable default implementations of common | + | and other tooling stuff. ''Xtext'' comes with simple but reasonable default implementations of common |
language aspects (such as scoping and linking), but also provides the necessary hooks to change | language aspects (such as scoping and linking), but also provides the necessary hooks to change | ||
the behavior of all kinds of things if needed. | the behavior of all kinds of things if needed. | ||
− | == Feature Map (2009/ | + | == Feature Map (updated 2009/03/30) == |
{| border=1 cellspacing=4 cellpadding=4 | {| border=1 cellspacing=4 cellpadding=4 | ||
Line 29: | Line 29: | ||
| Enum Rules | | Enum Rules | ||
| align="center" | x | | align="center" | x | ||
− | | align="center" | | + | | align="center" | x |
| align="center" | x | | align="center" | x | ||
|- | |- | ||
Line 37: | Line 37: | ||
| align="center" | o<br/>(String only) | | align="center" | o<br/>(String only) | ||
|- | |- | ||
− | | Grammar | + | | Grammar Inheritance |
− | | align="center" | x | + | | align="center" | x<br/>(single inheritance) |
− | | align="center" | x | + | | align="center" | x<br/>(single inheritance) |
| align="center" | - | | align="center" | - | ||
|- | |- | ||
Line 48: | Line 48: | ||
|- | |- | ||
| Fragments | | Fragments | ||
− | | align="center" | | + | | align="center" | - |
| align="center" | - | | align="center" | - | ||
| align="center" | - | | align="center" | - | ||
Line 82: | Line 82: | ||
| Integration of EMF generator | | Integration of EMF generator | ||
| align="center" | x | | align="center" | x | ||
− | | align="center" | | + | | align="center" | x |
| align="center" | - | | align="center" | - | ||
|- | |- | ||
Line 123: | Line 123: | ||
| Xtend API for linking and scoping | | Xtend API for linking and scoping | ||
| align="center" | x | | align="center" | x | ||
− | | align="center" | | + | | align="center" | x |
− | | align="center" | | + | | align="center" | x<br/>(mandatory) |
|- | |- | ||
! rowspan="11" valign="top" | Editor | ! rowspan="11" valign="top" | Editor | ||
Line 159: | Line 159: | ||
| Go To Declaration | | Go To Declaration | ||
| align="center" | x | | align="center" | x | ||
− | | align="center" | | + | | align="center" | x |
| align="center" | x | | align="center" | x | ||
|- | |- | ||
| Hyperlinking | | Hyperlinking | ||
| align="center" | x | | align="center" | x | ||
− | | align="center" | | + | | align="center" | x |
| align="center" | x | | align="center" | x | ||
|- | |- | ||
Line 184: | Line 184: | ||
| align="center" rowspan="4" valign="top" | IDE | | align="center" rowspan="4" valign="top" | IDE | ||
| [http://www.eclipse.org/proposals/emf-index/ Model Index] | | [http://www.eclipse.org/proposals/emf-index/ Model Index] | ||
− | | align="center" | | + | | align="center" | x |
| align="center" | - | | align="center" | - | ||
| align="center" | - | | align="center" | - | ||
Line 199: | Line 199: | ||
|- | |- | ||
| Find References | | Find References | ||
− | | align="center" | | + | | align="center" | x |
| align="center" | - | | align="center" | - | ||
| align="center" | o<br/>(only local) | | align="center" | o<br/>(only local) |
Latest revision as of 11:10, 30 March 2009
TMF Xtext 0.7.0
Xtext is a framework used to develop textual, EMF-based domain-specific languages (DSL). TMF Xtext is a complete rewrite of the currently released version known from openArchitectureWare (oAW Xtext). TMT Xtext is not 100% compatible with oAW Xtext. However, many concepts are very similar and we'll provide a guide to help you with migration. At its heart, Xtext itself provides a DSL (the grammar language) used to describe the concrete and abstract syntax of a DSL.
The main focus of the rewrite is to improve overall performance and scalability. It is also a major goal to have stable and simple Java API, and provide different convenient APIs and DSLs on top.
Based on a grammar, Xtext offers language-specific functionality such a parsers, printers, editors and other tooling stuff. Xtext comes with simple but reasonable default implementations of common language aspects (such as scoping and linking), but also provides the necessary hooks to change the behavior of all kinds of things if needed.
Feature Map (updated 2009/03/30)
Planned | Done | oAW Xtext | ||
---|---|---|---|---|
Grammar | Actions | x | x | - |
Enum Rules | x | x | x | |
Data type rules | x | x | o (String only) | |
Grammar Inheritance | x (single inheritance) |
x (single inheritance) |
- | |
Terminal rules | x | x | o (black box) | |
Fragments | - | - | - | |
Parsing | Construction of parse tree | x | x | x |
Construction of model | x | x | x | |
Serializing | Basic serialization | x | x | - |
API for pretty-printing | x | x | - | |
EMF integration | Generates ecore | x | x | x |
Integration of EMF generator | x | x | - | |
Generates multiple ecore | x | x | - | |
Imports/reuses existing ecore | x | x | o (experimental) | |
Generate and import in same Grammar | x | x | - | |
EMF Resource implementation | x | x | o (read-only) | |
EMF Validation support | x | x | x | |
Xpand/Xtend-API | Checks for Validation | x | x | x |
Xtend API for Code Completion | x | x | o (mandatory) | |
Xtend API for linking and scoping | x | x | x (mandatory) | |
Editor | Lexical Syntax Coloring | x | x | x |
Semantic Syntax Coloring | - | - | - | |
Code Completion | x | x | x | |
Template proposals | x | x | - | |
Autoedit | - | - | - | |
Folding | - | - | x | |
Go To Declaration | x | x | x | |
Hyperlinking | x | x | x | |
Formatting | x | - | - | |
Outline View | x | x | x | |
Viewpoints for Outline View | - | - | x | |
IDE | Model Index | x | - | - |
Rename Refactoring | - | - | - | |
Open Model Element | - | - | - | |
Find References | x | - | o (only local) |
- | = not implemented |
o | = incomplete |
x | = complete |