Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- Методи програмування
- Implementing Domain-Specific Languages with Xtext and Xtend. If you know Eclipse then learning how to implement a DSL using Xtext is a natural progression. And this guide makes it easy to get started through a step-by-step approach accompanied with simple examples
Деталі електронної книги
Увійти, Якщо вас цікавить зміст видання.
Implementing Domain-Specific Languages with Xtext and Xtend. If you know Eclipse then learning how to implement a DSL using Xtext is a natural progression. And this guide makes it easy to get started through a step-by-step approach accompanied with simple examples
Eлектронна книга
Xtext is an open source Eclipse framework for implementing domain-specific languages together with its IDE functionalities. It lets you implement languages really quickly, and, most of all, it covers all aspects of a complete language infrastructure, starting from the parser, code generator, interpreter, and more. Implementing Domain-Specific Languages with Xtext and Xtend will teach you how to develop a DSL with Xtext, an Eclipse framework for implementing domain-specific languages. The chapters are like tutorials that describe the main concepts of Xtext such as grammar definition, validation, code generation, customizations, and many more, through uncomplicated and easy-to-understand examples. Starting with briefly covering the features of Xtext that are involved in a 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. We then proceed by explaining the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. By the end of the book, you will have learned how to test a DSL implemented in Xtext with Junit, in order to follow a test-driven development strategy that will help the developer implement maintainable code that is much faster and cleaner. A test-driven approach is used throughout the book when presenting advanced concepts such as type checking and scoping. The book also shows you how to build and release a DSL so that it can be installed in Eclipse, and gives you hints on how to build the DSL headlessly in a continuous integration server. Implementing Domain-Specific Languages with Xtext and Xtend aims to complement the official Xtext documentation to explain the main concepts through simplified examples and to teach the best practices for a DSL implementation in Xtext. It is a Beginner's Guide which should set you up for professional development DSL and its Eclipse IDE tooling.
- Implementing Domain-Specific Languages with Xtext and Xtend
- Table of Contents
- Implementing Domain-Specific Languages with Xtext and Xtend
- Credits
- About the Author
- Acknowledgement
- About the Reviewers
- www.PacktPub.com
- Support files, eBooks, discount offers, and more
- Why Subscribe?
- Free Access for Packt account holders
- Support files, 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
- Downloading the example code
- Errata
- Piracy
- Questions
- 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
- Lets try Xtext
- The aim of this book
- Summary
- Domain Specific Languages
- 2. Creating Your First Xtext Language
- A DSL for entities
- Creating 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
- A DSL for entities
- 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
- An introduction to Xtend
- 4. Validation
- Validation in Xtext
- Default validators
- Custom validators
- Quickfixes
- Textual modification
- Model modification
- Quickfixes for default validators
- Summary
- Validation in Xtext
- 5. Code Generation
- Introduction to code generation
- Writing a code generator in Xtend
- Integration with the Eclipse build mechanism
- Standalone command-line compiler
- Summary
- 6. Customizations
- Dependency injection
- Google Guice in Xtext
- Customizations of IDE concepts
- Labels
- The Outline view
- Customizing other aspects
- Custom formatting
- Other customizations
- Summary
- 7. Testing
- Introduction to testing
- Junit 4
- The 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
- 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 provider
- Validator
- Writing an interpreter
- Using the interpreter
- Summary
- The Expressions DSL
- 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
- Improving the UI
- Summary
- SmallJava
- 10. Scoping
- Cross-reference resolution in Xtext
- Containments and cross-references
- The index
- Qualified names
- Exported objects
- The linker and the scope provider
- Component interaction
- Custom scoping
- Scope for blocks
- Scope for inheritance and member visibility
- Visibility and accessibility
- Filtering unwanted objects from the scope
- Global scoping
- Packages and imports
- The index and the containers
- Checking duplicates across files
- Providing a library
- Default imports
- Using the library outside Eclipse
- Using the library in the type system and scoping
- Dealing with super
- What to put in the index?
- Additional automatic features
- Summary
- Cross-reference resolution in Xtext
- 11. Building and Releasing
- Release engineering
- Headless builds
- Target platforms
- Continuous integration
- Introduction to Buckminster
- Installing Buckminster
- Using the Xtext Buckminster wizard
- Building the p2 repository from Eclipse
- Customizations
- Defining the target platform
- Build headlessly
- Maintaining the examples of this book
- Summary
- Release engineering
- 12. Xbase
- Getting introduced with Xbase
- The Expressions DSL with Xbase
- Creating the project
- The IJvmModelInferrer interface
- Code generation
- Debugging
- The Entities DSL with Xbase
- Creating the project
- Defining attributes
- Defining operations
- Imports
- Customizations
- Summary
- 13. Bibliography
- Index
- Назва: Implementing Domain-Specific Languages with Xtext and Xtend. If you know Eclipse then learning how to implement a DSL using Xtext is a natural progression. And this guide makes it easy to get started through a step-by-step approach accompanied with simple examples
- Автор: Lorenzo Bettini
- Оригінальна назва: Implementing Domain-Specific Languages with Xtext and Xtend. If you know Eclipse then learning how to implement a DSL using Xtext is a natural progression. And this guide makes it easy to get started through a step-by-step approach accompanied with simple examples.
- ISBN: 9781782160311, 9781782160311
- Дата видання: 2013-08-21
- Формат: Eлектронна книга
- Ідентифікатор видання: e_3bq5
- Видавець: Packt Publishing