Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Xtext/Galileo"

(completed)
(Formatting)
Line 23: Line 23:
 
| align="center" rowspan="6" valign="top" | Grammar
 
| align="center" rowspan="6" valign="top" | Grammar
 
| Actions  
 
| Actions  
| align="center" | x || x || -
+
| align="center" | x
 +
| align="center" | x
 +
| align="center" | -
 
|-
 
|-
 
| Enum Rules
 
| Enum Rules
| align="center" | x || - || x
+
| align="center" | x
 +
| align="center" | -
 +
| align="center" | x
 
|-
 
|-
 
| [http://wiki.eclipse.org/Xtext/Documentation%#Value_Converters Data type rules]
 
| [http://wiki.eclipse.org/Xtext/Documentation%#Value_Converters Data type rules]
| align="center" | x || x || o<br/>(String only)
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | o<br/>(String only)
 
|-
 
|-
 
| Grammar Modularization
 
| Grammar Modularization
| align="center" | x || x || -
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | -
 
|-
 
|-
 
| Terminal rules
 
| Terminal rules
| align="center" | x || x || o<br/>(black box)
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | o<br/>(black box)
 
|-
 
|-
 
| Fragments
 
| Fragments
| align="center" | x || - || -
+
| align="center" | x  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| align="center" rowspan="2" valign="top" | Parsing
 
| align="center" rowspan="2" valign="top" | Parsing
 
| Construction of parse tree
 
| Construction of parse tree
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| Construction of model
 
| Construction of model
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| align="center" rowspan="2" valign="top" | Serializing
 
| align="center" rowspan="2" valign="top" | Serializing
 
| Basic serialization
 
| Basic serialization
| align="center" | x || x || -
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | -
 
|-
 
|-
 
| API for pretty-printing
 
| API for pretty-printing
| align="center" | x || x || -
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | -
 
|-
 
|-
 
| align="center" rowspan="7" valign="top" | EMF integration
 
| align="center" rowspan="7" valign="top" | EMF integration
 
| [http://wiki.eclipse.org/Xtext/Documentation%23Value_Converters#Value_Converters Generates ecore]
 
| [http://wiki.eclipse.org/Xtext/Documentation%23Value_Converters#Value_Converters Generates ecore]
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| Integration of EMF generator
 
| Integration of EMF generator
| align="center" | x || o || -
+
| align="center" | x  
 +
| align="center" | o  
 +
| align="center" | -
 
|-
 
|-
 
| [http://wiki.eclipse.org/Xtext/Documentation#Meta_Model_Inference Generates multiple ecore]
 
| [http://wiki.eclipse.org/Xtext/Documentation#Meta_Model_Inference Generates multiple ecore]
| align="center" | x || x || -
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | -
 
|-
 
|-
 
| [http://wiki.eclipse.org/Xtext/Documentation#Importing_existing_Meta_Models Imports/reuses existing ecore]
 
| [http://wiki.eclipse.org/Xtext/Documentation#Importing_existing_Meta_Models Imports/reuses existing ecore]
| align="center" | x || x || o<br/>(experimental)
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | o<br/>(experimental)
 
|-
 
|-
 
| Generate and import in same Grammar
 
| Generate and import in same Grammar
| align="center" | x || x || -
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | -
 
|-
 
|-
 
| EMF Resource implementation
 
| EMF Resource implementation
| align="center" | x || x || o<br/>(read-only)
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | o<br/>(read-only)
 
|--
 
|--
 
| EMF Validation support
 
| EMF Validation support
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| align="center" rowspan="3" valign="top" | Xpand/Xtend-API
 
| align="center" rowspan="3" valign="top" | Xpand/Xtend-API
 
| Checks for Validation
 
| Checks for Validation
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| Xtend API for Code Completion  
 
| Xtend API for Code Completion  
| align="center" | x || x || o<br/>(mandatory)
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | o<br/>(mandatory)
 
|-  
 
|-  
 
| Xtend API for linking and scoping
 
| Xtend API for linking and scoping
| align="center" | x || - || o<br/>(mandatory)
+
| align="center" | x  
 +
| align="center" | -  
 +
| align="center" | o<br/>(mandatory)
 
|-
 
|-
 
! rowspan="11" valign="top" | Editor
 
! rowspan="11" valign="top" | Editor
 
| Lexical Syntax Coloring
 
| Lexical Syntax Coloring
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| Semantic Syntax Coloring
 
| Semantic Syntax Coloring
| align="center" | - || - || -
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| Code Completion
 
| Code Completion
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| Template proposals
 
| Template proposals
| align="center" | x || x || -
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | -
 
|-
 
|-
 
| Autoedit
 
| Autoedit
| align="center" | - || - || -
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| Folding
 
| Folding
| align="center" | - || - || x
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | x
 
|-
 
|-
 
| Go To Declaration
 
| Go To Declaration
| align="center" | x || - || x
+
| align="center" | x  
 +
| align="center" | -  
 +
| align="center" | x
 
|-
 
|-
 
| Hyperlinking
 
| Hyperlinking
| align="center" | x || - || x
+
| align="center" | x  
 +
| align="center" | -  
 +
| align="center" | x
 
|-
 
|-
 
| Formatting
 
| Formatting
| align="center" | x || - || -
+
| align="center" | x  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| Outline View
 
| Outline View
| align="center" | x || x || x
+
| align="center" | x  
 +
| align="center" | x  
 +
| align="center" | x
 
|-
 
|-
 
| Viewpoints for Outline View
 
| Viewpoints for Outline View
| align="center" | - || - || x
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | x
 
|-
 
|-
 
| 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" | -  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| Rename Refactoring
 
| Rename Refactoring
| align="center" | - || - || -
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| Open Model Element
 
| Open Model Element
| align="center" | - || - || -
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | -
 
|-
 
|-
 
| Find References
 
| Find References
| align="center" | - || - || o<br/>(only local)
+
| align="center" | -  
 +
| align="center" | -  
 +
| align="center" | o<br/>(only local)
 
|}
 
|}
  

Revision as of 12:50, 14 February 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). Itʼs not compatible with oAW Xtext. However, many concepts are obviously very similar. At itʼs 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 (2009/01/26)

  Planned Done oAW Xtext
Grammar Actions x x -
Enum Rules x - x
Data type rules x x o
(String only)
Grammar Modularization x x -
Terminal rules x x o
(black box)
Fragments x - -
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 o -
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 - o
(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
Hyperlinking x - x
Formatting x - -
Outline View x x x
Viewpoints for Outline View - - x
IDE Model Index - - -
Rename Refactoring - - -
Open Model Element - - -
Find References - - o
(only local)
- = not implemented
o = incomplete
x = complete

Back to the top