Implementing Domain-Specific Languages with Xtext and Xtend. (2013)
- Record Type:
- Book
- Title:
- Implementing Domain-Specific Languages with Xtext and Xtend. (2013)
- Main Title:
- Implementing Domain-Specific Languages with Xtext and Xtend.
- Other Names:
- Bettini, Lorenzo
- Contents:
- Cover; Copyright; Credits; About the Author; Acknowledgement; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Implementing a DSL; Domain Specific Languages; So, why should you create a new language?; Implementing a DSL; Parsing; The Abstract Syntax Tree (AST); IDE integration; Syntax highlighting; Background parsing; Error markers; Content Assist; Hyperlinking; Quickfixes; Outline; Automatic build; Summarizing DSL implementation; Enter Xtext; Installing Xtext; Let's try Xtext; The aim of this book; Summary; Chapter 2: Creating Your First Xtext Language. A DSL for entitiesCreating the project; Xtext projects; Modifying the grammar; Let's try the Editor; The Xtext generator; The Eclipse Modeling Framework (EMF); Improvements to the DSL; Dealing with types; Summary; Chapter 3: The Xtend Programming Language; An introduction to Xtend; Using Xtend in your projects; Xtend -- a better Java with less ""noise""; Extension methods; The implicit variable -- it; Lambda expressions; Multi-line template expressions; Additional operators; Polymorphic method invocation; Enhanced switch expressions; Debugging Xtend code; Summary; Chapter 4: Validation. Validation in XtextDefault validators; Custom validators; Quickfixes; Textual modification; Model modification; Quickfixes for default validators; Summary; Chapter 5: Code Generation; Introduction to code generation; Writing a code generator in Xtend; Integration with the Eclipse build mechanism; StandaloneCover; Copyright; Credits; About the Author; Acknowledgement; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Implementing a DSL; Domain Specific Languages; So, why should you create a new language?; Implementing a DSL; Parsing; The Abstract Syntax Tree (AST); IDE integration; Syntax highlighting; Background parsing; Error markers; Content Assist; Hyperlinking; Quickfixes; Outline; Automatic build; Summarizing DSL implementation; Enter Xtext; Installing Xtext; Let's try Xtext; The aim of this book; Summary; Chapter 2: Creating Your First Xtext Language. A DSL for entitiesCreating the project; Xtext projects; Modifying the grammar; Let's try the Editor; The Xtext generator; The Eclipse Modeling Framework (EMF); Improvements to the DSL; Dealing with types; Summary; Chapter 3: The Xtend Programming Language; An introduction to Xtend; Using Xtend in your projects; Xtend -- a better Java with less ""noise""; Extension methods; The implicit variable -- it; Lambda expressions; Multi-line template expressions; Additional operators; Polymorphic method invocation; Enhanced switch expressions; Debugging Xtend code; Summary; Chapter 4: Validation. Validation in XtextDefault validators; Custom validators; Quickfixes; Textual modification; Model modification; Quickfixes for default validators; Summary; Chapter 5: Code Generation; Introduction to code generation; Writing a code generator in Xtend; Integration with the Eclipse build mechanism; Standalone command-line compiler; Summary; Chapter 6: Customizations; Dependency injection; Google Guice in Xtext; Customizations of IDE concepts; Labels; The Outline view; Customizing other aspects; Custom formatting; Other customizations; Summary; Chapter 7: Testing; Introduction to testing. Junit 4The ISetup interface; Implementing tests for your DSL; Testing the parser; Testing the validator; Testing the formatter; Testing code generation; Test suite; Testing the UI; Testing the content assist; Testing workbench integration; Testing the editor; Other UI testing frameworks; Testing and modularity; Clean code; Summary; Chapter 8: An Expression Language; The Expressions DSL; Creating the project; Digression on Xtext grammar rules; The grammar for the Expressions DSL; Left recursive grammars; Associativity; Precedence; The complete grammar; Forward references; Typing expressions. Type providerValidator; Writing an interpreter; Using the interpreter; Summary; Chapter 9: Type Checking; SmallJava; Creating the project; SmallJava grammar; Rules for declarations; Rules for statements and syntactic predicates; Rules for expressions; The complete grammar; Utility methods; Testing the grammar; First validation rules; Checking cycles in class hierarchies; Checking member selections; Checking return statements; Checking for duplicates; Type checking; Type provider for SmallJava; Type conformance (subtyping); Expected types; Checking type conformance; Checking method overriding. … (more)
- Publisher Details:
- Place of publication not identified : Packt Publishing
- Publication Date:
- 2013
- Extent:
- 1 online resource
- Subjects:
- 005.13
COMPUTERS -- Programming Languages -- General
Software engineering
Domain-specific programming languages
Domain-specific programming languages
Software engineering
COMPUTERS -- Programming -- General
Electronic books - Languages:
- English
- ISBNs:
- 9781299809437
9781782160311
1782160310
9781782160304
1782160302 - Related ISBNs:
- 129980943X
- Notes:
- Note: Includes bibliographical references and index.
Note: Print version record. - Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.86542
- Ingest File:
- 01_120.xml