Embedding support for expressions into Xtext based languages has become easy when Xbase is chosen as base language. However, deriving a language from Xbase implies the usage of a Java based type system with dependencies on JDT. For language implementations that need to be independent from Java or that should have a different type system it is required to embed an own expression language.
This session will explain the typical pattern for grammars with expression support. Attendees will gain some insight in the related topics of AST rewriting, left factoring, rule precedence and associativity, the usage of syntactic predicates and type system implementation.
The talk is a revised version of the talk given at Xtext Summit 2017 in Toulouse.