Xtext 2.8 and ZeroTurnaround’s Optimizer released at EclipseCon 2015
New releases have graced us with their presence at EclipseCon 2015, with Xtext 2.8 and Optimizer for Eclipse all being announced at the annual event.
At EclipseCon 2015, version 2.8 of Xtext was revealed, bringing significant improvements to the framework for development of programming and domain specific languages. Xtext is a popular means of accommodating complete language infrastructure, from parsers, over linker, compiler or interpreter to full Eclipse IDE integration.
With more than 260 bugfixes and improvements, Xtext 2.8 sees runtime performance and tool performance boosted significantly. Some notable features include:
- Support for whitespace-aware languages, e.g. using indentation to delimit code blocks in Python
- Enhancements to the grammar editor, including configurable severities and improved content assist
- New options for language code generation, namely class annotations and file headers in Java
The Xbase compiler has also seen a number of changes, which now allows users to configure the Java version of the generated code. As the release notes state, the default is to use the same version as set for the source compatibility of the Java compiler (Java → Compiler → Source compatibility), which is usually set to the same version as the compiler compliance level.
Users can also choose to generate Java code with a different version than is set for the Java compiler, meaning different changes are generated for each version.
A new formatting API is also at hand, which gives users the option to implement formatting based not only on the static structure of the grammar, but also on the model structure. This is said to be a step up from the limitations of the previous API, which shipped with the first version of Xtext.
One highlighted change by the team comes in the form of a new requirement for the execution environment:
All Xtext plug-ins now require JavaSE-1.6 as execution environment. Furthermore, the Java code generated by Xtext uses
@Overrideannotations for methods overriding or implementing other declared methods, so the plug-ins into which this code is generated must use at least JavaSE-1.6 as execution environment.
Further changes and updates can be accessed via the release notes here.
Optimizer for Eclipse
ZeroTurnaround, the creators of the JRebel Java plugin, have also announced a new release at EclipseCon 2015: Optimizer for Eclipse. The Optimizer is a self-guided user interface for adjusting JVM settings to improve performance.
SEE ALSO: Solair joins the Eclipse Foundation
The tool looks to solve issues such as low memory allocation, slow class verification, slow JDK and lengthy build and redeploy concerns. When users choose to install the booster from Eclipse Marketplace, a set of questions aims to help the see if users need to adjust memory settings or other performance flags into the JVM startup arguments, which in turn helps the application load faster.
A video demonstrating the Optimizer in action is available here.