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.
Lorenzo Bettini
Lorenzo Bettini is an associate professor in computer science at the Dipartimento di Statistica, Informatica, Applicazioni "Giuseppe Parenti," Universita di Firenze, Italy. Previously, he was a researcher in computer science at Dipartimento di Informatica, Universita di Torino, Italy. He also was a Postdoc and a contractual researcher at Dipartimento di Sistemi e Informatica, Universita di Firenze, Italy. He has a masters degree summa cum laude in computer science and a PhD in "Logics and Theoretical Computer Science." His research interests cover design, theory, and the implementation of programming languages (in particular, object-oriented languages and network-aware languages). He has been using Xtext since version 0.7. He has used Xtext and Xtend for implementing many domain-specific languages and Java-like programming languages. He also contributed to Xtext, and he recently became an Xtext committer. He is the author of the first edition of the book "Implementing Domain-Specific Languages with Xtext and Xtend", published by Packt Publishing (August 21, 2013). He is also the author of about 80 papers published in international conferences and international journals. You can contact him at http://www.lorenzobettini.it.
Les informations fournies dans la section « A propos du livre » peuvent faire référence à une autre édition de ce titre.
Gratuit expédition vers Etats-Unis
Destinations, frais et délaisGratuit expédition vers Etats-Unis
Destinations, frais et délaisVendeur : SecondSale, Montgomery, IL, Etats-Unis
Etat : Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. N° de réf. du vendeur 00070315417
Quantité disponible : 1 disponible(s)
Vendeur : ThriftBooks-Dallas, Dallas, TX, Etats-Unis
Paperback. Etat : Fair. No Jacket. Readable copy. Pages may have considerable notes/highlighting. ~ ThriftBooks: Read More, Spend Less 1.6. N° de réf. du vendeur G1786464969I5N00
Quantité disponible : 1 disponible(s)
Vendeur : medimops, Berlin, Allemagne
Etat : very good. Gut/Very good: Buch bzw. Schutzumschlag mit wenigen Gebrauchsspuren an Einband, Schutzumschlag oder Seiten. / Describes a book or dust jacket that does show some signs of wear on either the binding, dust jacket or pages. N° de réf. du vendeur M01786464969-V
Quantité disponible : 1 disponible(s)
Vendeur : HPB-Red, Dallas, TX, Etats-Unis
paperback. Etat : Good. Connecting readers with great books since 1972! Used textbooks may not include companion materials such as access codes, etc. May have some wear or writing/highlighting. We ship orders daily and Customer Service is our top priority! N° de réf. du vendeur S_421753287
Quantité disponible : 1 disponible(s)
Vendeur : PBShop.store US, Wood Dale, IL, Etats-Unis
PAP. Etat : New. New Book. Shipped from UK. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. N° de réf. du vendeur L0-9781786464965
Quantité disponible : Plus de 20 disponibles
Vendeur : PBShop.store UK, Fairford, GLOS, Royaume-Uni
PAP. Etat : New. New Book. Delivered from our UK warehouse in 4 to 14 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. N° de réf. du vendeur L0-9781786464965
Quantité disponible : Plus de 20 disponibles
Vendeur : Chiron Media, Wallingford, Royaume-Uni
PF. Etat : New. N° de réf. du vendeur 6666-IUK-9781786464965
Quantité disponible : 10 disponible(s)
Vendeur : Ria Christie Collections, Uxbridge, Royaume-Uni
Etat : New. In. N° de réf. du vendeur ria9781786464965_new
Quantité disponible : Plus de 20 disponibles
Vendeur : THE SAINT BOOKSTORE, Southport, Royaume-Uni
Paperback / softback. Etat : New. This item is printed on demand. New copy - Usually dispatched within 5-9 working days 941. N° de réf. du vendeur C9781786464965
Quantité disponible : Plus de 20 disponibles
Vendeur : AHA-BUCH GmbH, Einbeck, Allemagne
Taschenbuch. Etat : Neu. nach der Bestellung gedruckt Neuware - Printed after ordering. N° de réf. du vendeur 9781786464965
Quantité disponible : 1 disponible(s)