Implementing Domain-Specific Languages with Xtext and Xtend - Second Edition

Nonfiction, Computers, Programming, Internet
Cover of the book Implementing Domain-Specific Languages with Xtext and Xtend - Second Edition by Lorenzo Bettini, Packt Publishing
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Lorenzo Bettini ISBN: 9781786463272
Publisher: Packt Publishing Publication: August 31, 2016
Imprint: Packt Publishing Language: English
Author: Lorenzo Bettini
ISBN: 9781786463272
Publisher: Packt Publishing
Publication: August 31, 2016
Imprint: Packt Publishing
Language: English

Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices

About This Book

  • Leverage the latest features of Xtext and Xtend to develop a domain-specific language.
  • Integrate Xtext with popular third party IDEs and get the best out of both worlds.
  • Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSL

Who This Book Is For

This book is targeted at programmers and developers who want to create a domain-specific language with Xtext. They should have a basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be helpful but is not necessary since this book will explain all the development stages of a DSL.

What You Will Learn

  • Write Xtext grammar for a DSL;
  • Use Xtend as an alternative to Java to write cleaner, easier-to-read, and more maintainable code;
  • Build your Xtext DSLs easily with Maven/Tycho and Gradle;
  • Write a code generator and an interpreter for a DSL;
  • Explore the Xtext scoping mechanism for symbol resolution;
  • Test most aspects of the DSL implementation with JUnit;
  • Understand best practices in DSL implementations with Xtext and Xtend;
  • Develop your Xtext DSLs using Continuous Integration mechanisms;
  • Use an Xtext editor in a web application

In Detail

Xtext is an open source Eclipse framework for implementing domain-specific languages together with IDE functionalities. It lets you implement languages really quickly; most of all, it covers all aspects of a complete language infrastructure, including the parser, code generator, interpreter, and more.

This book will enable you to implement Domain Specific Languages (DSL) efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with brief coverage of Xtext features involved in DSL implementation, including integration in an IDE, the book will then introduce you to Xtend as this language will be used in all the examples throughout the book. You will then explore the typical programming development workflow with Xtext when we modify the grammar of the DSL.

Further, the Xtend programming language (a fully-featured Java-like language tightly integrated with Java) will be introduced. We then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will have learned how to test a DSL implemented in Xtext with JUnit and will progress to advanced concepts such as type checking and scoping. You will then integrate the typical Continuous Integration systems built in to Xtext DSLs and familiarize yourself with Xbase. By the end of the book, you will manually maintain the EMF model for an Xtext DSL and will see how an Xtext DSL can also be used in IntelliJ.

Style and approach

A step-by step-tutorial with illustrative examples that will let you master using Xtext and implementing DSLs with its custom language, Xtend.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices

About This Book

Who This Book Is For

This book is targeted at programmers and developers who want to create a domain-specific language with Xtext. They should have a basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be helpful but is not necessary since this book will explain all the development stages of a DSL.

What You Will Learn

In Detail

Xtext is an open source Eclipse framework for implementing domain-specific languages together with IDE functionalities. It lets you implement languages really quickly; most of all, it covers all aspects of a complete language infrastructure, including the parser, code generator, interpreter, and more.

This book will enable you to implement Domain Specific Languages (DSL) efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with brief coverage of Xtext features involved in DSL implementation, including integration in an IDE, the book will then introduce you to Xtend as this language will be used in all the examples throughout the book. You will then explore the typical programming development workflow with Xtext when we modify the grammar of the DSL.

Further, the Xtend programming language (a fully-featured Java-like language tightly integrated with Java) will be introduced. We then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will have learned how to test a DSL implemented in Xtext with JUnit and will progress to advanced concepts such as type checking and scoping. You will then integrate the typical Continuous Integration systems built in to Xtext DSLs and familiarize yourself with Xbase. By the end of the book, you will manually maintain the EMF model for an Xtext DSL and will see how an Xtext DSL can also be used in IntelliJ.

Style and approach

A step-by step-tutorial with illustrative examples that will let you master using Xtext and implementing DSLs with its custom language, Xtend.

More books from Packt Publishing

Cover of the book React Material-UI Cookbook by Lorenzo Bettini
Cover of the book Machine Learning for Data Mining by Lorenzo Bettini
Cover of the book Associations and Correlations by Lorenzo Bettini
Cover of the book Microsoft Dynamics NAV 2015 Professional Reporting by Lorenzo Bettini
Cover of the book JBoss AS 7 Configuration, Deployment and Administration by Lorenzo Bettini
Cover of the book Magento PHP Developers Guide by Lorenzo Bettini
Cover of the book Instant jQuery UI Starter by Lorenzo Bettini
Cover of the book Packet Analysis with Wireshark by Lorenzo Bettini
Cover of the book JavaScript Unlocked by Lorenzo Bettini
Cover of the book Elasticsearch 5.x Cookbook - Third Edition by Lorenzo Bettini
Cover of the book Game Programming using Qt 5 Beginner's Guide by Lorenzo Bettini
Cover of the book HTML5 Graphing and Data Visualization Cookbook by Lorenzo Bettini
Cover of the book PhoneGap for Enterprise by Lorenzo Bettini
Cover of the book Learning Image Processing with OpenCV by Lorenzo Bettini
Cover of the book Java Deep Learning Projects by Lorenzo Bettini
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy