本书由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介绍了什么是DSL,DSL的用途,如何实现外部DS和内部DSL,如何生成代码,语言工作台的使用方法;第二部分介绍了各种DSL,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;第三部分分别揭示分隔符指导翻译、语法指导翻译、BNF、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
2024-01-10 09:47:03 6.19MB 领域特定语言 Martin Fowler
1
Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices About This Book Leverage the latest features of Xtext and Xtend to develop a domain-specific language. Integrate Xtext with popular third party IDEs and get the best out of both worlds. Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSL 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 Write Xtext grammar for a DSL; Use Xtend as an alternative to Java to write cleaner, easier-to-read, and more maintainable code; Build your Xtext DSLs easily with Maven/Tycho and Gradle; Write a code generator and an interpreter for a DSL; Explore the Xtext scoping mechanism for symbol resolution; Test most aspects of the DSL implementation with JUnit; Understand best practices in DSL implementations with Xtext and Xtend; Develop your Xtext DSLs using Continuous Integration mechanisms; Use an Xtext editor in a web application 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. Table of Contents Chapter 1: Implementing a DSL Chapter 2: Creating Your First Xtext Language Chapter 3: Working with the Xtend Programming Language Chapter 4: Validation Chapter 5: Code Generation Chapter 6: Customizing Xtext Components Chapter 7: Testing Chapter 8: An Expression Language Chapter 9: Type Checking Chapter 10: Scoping Chapter 11: Continuous Integration Chapter 12: Xbase Chapter 13: Advanced Topics Chapter 14: Conclusions
2023-03-31 10:19:01 6.17MB Domain Specific Languages Xtext
1
Eclipse Modeling Project A Domain-Specific Language (DSL) Toolkit
2022-07-21 10:35:07 13.51MB Eclipse Modeling Domain-Specific Language
1
Discover ways to implement a DSL with Xtext and Xtend utilizing easy-to-understand examples and finest practices Xtext is an open supply Eclipse framework for implementing domain-specific languages along with IDE functionalities. It permits you to implement languages actually rapidly; most of all, it covers all facets of an entire language infrastructure, together with the parser, code generator, interpreter, and extra.This ebook will allow you to implement Area Particular Languages (DSL) effectively, along with their IDE tooling, with Xtext and Xtend. Opening with temporary protection of Xtext options concerned in DSL implementation, together with integration in an IDE, the ebook will then introduce you to Xtend as this language can be utilized in all of the examples all through the ebook. You'll then discover the standard programming growth workflow with Xtext once we modify the grammar of the DSL.Additional, the Xtend programming language (a fully-featured Java-like language tightly built-in with Java) can be launched. We then clarify the principle ideas of Xtext, corresponding to validation, code era, and customizations of runtime and UI facets. You should have realized the best way to take a look at a DSL applied in Xtext with JUnit and can progress to superior ideas corresponding to sort checking and scoping. You'll then combine the standard Steady Integration techniques in-built to Xtext DSLs and familiarize your self with Xbase. By the tip of the ebook, you'll manually keep the EMF mannequin for an Xtext DSL and can see how an Xtext DSL may also be utilized in IntelliJ.What You Will Be taught,解压密码 share.weimo.info
2021-10-29 10:46:54 4.94MB 英文
1
The Definitive ANTLR Reference--Building Domain Specific Languages.
2021-09-18 22:30:00 2.44MB The Definitive ANTLR Reference--Building
1
本书是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介绍了什么是DSL,DSL的用途,如何实现外部DS和内部DSL,如何生成代码,语言工作台的使用方法;第二部分介绍了各种DSL,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;第三部分分别揭示分隔符指导翻译、语法指导翻译、BNF、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
2021-07-16 15:12:31 89.28MB 领域特定语言
1
Language Implementation Patterns Create Your Own Domain-Specific and General Programming Languages 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
2021-05-28 12:06:15 9.51MB Language Implementati Patterns Create
1
Implementing Domain Specific Languages with Xtext and Xtend(2nd) 英文无水印pdf 第2版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
2021-05-18 10:05:18 31.99MB Implementing Domain Specific Languages
1
As a Model-Driven Development methodology (MDD) for the specific domain, Domain-Specific Modeling (DSM) has been widely and successfully used in system design and analysis of specific areas. In spite of its general important, due to informal definition of Domain-Specific Modeling Language (DSMLs), t
1
Domain-Specific Modeling Language (DSML) defined by informal way cannot precisely represent its structural semantics, so properties of models such as consistency cannot be systematically analyzed and verified. In response, the paper proposes an approach for automatical-ly reasoning consistency of DS
2021-02-21 19:09:49 3MB Domain-Specific Modeling Language (DSML);
1