Implementing Domain-Specific Languages with Xtext and Xtend

Permalink: http://skupni.nsk.hr/Record/fer.KOHA-OAI-FER:47243/TOC
Glavni autor: Bettini, Lorenzo (-)
Vrsta građe: Knjiga
Jezik: eng
Impresum: [Place of publication not identified] : Packt Publishing, 2016.
Izdanje: 2. izd
Predmet:
Sadržaj:
  • 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; 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.