更新时间:2021-07-14 10:06:56
封面
版权页
Credits
Foreword
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
eBooks discount offers and more
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Preface to the second edition
Chapter 1. Implementing a DSL
Domain-Specific Languages
Implementing a DSL
IDE integration
Enter Xtext
The aim of this book
Summary
Chapter 2. Creating Your First Xtext Language
A DSL for entities
The Xtext generator
The Eclipse Modeling Framework (EMF)
Improvements to the DSL
Chapter 3. Working with the Xtend Programming Language
An introduction to Xtend
Xtend – a better Java with less "noise"
Additional operators
Chapter 4. Validation
Validation in Xtext
Quickfixes
Chapter 5. Code Generation
Introduction to code generation
Writing a code generator in Xtend
Integration with the Eclipse build mechanism
Standalone command-line compiler
Chapter 6. Customizing Xtext Components
Dependency injection
Google Guice in Xtext
Customizations of IDE concepts
Custom formatting
Other customizations
Chapter 7. Testing
Introduction to testing
JUnit 4
The ISetup interface
Implementing tests for your DSL
Test suite
Testing the UI
Testing and modularity
Clean code
Chapter 8. An Expression Language
The Expressions DSL
The grammar for the Expressions DSL
Left recursive grammars
Forward references
Typing expressions
Writing an interpreter
Optimizations and fine tuning
Chapter 9. Type Checking
SmallJava
First validation rules
Type checking
Improving the UI
Chapter 10. Scoping
Cross-reference resolution in Xtext
Custom scoping
Global scoping
Providing a library
Classes of the same package
Dealing with super
What to put in the index?
Additional automatic features
Providing a project wizard
Chapter 11. Continuous Integration
Eclipse features and p2 repositories
Release engineering
Introduction to Maven/Tycho
Using the Xtext project wizard
Continuous Integration systems
Your DSL editor on the Web
IntelliJ and Gradle
Pitfalls with Maven/Tycho
Concluding remarks
Chapter 12. Xbase