Войти
  • 33476Просмотров
  • 1 десятилетие назадОпубликованоOnSoftware

Domain-Specific Languages with Martin Fowler

Martin Fowler discusses his book, Domain Specific Languages: The book provides developers with the knowledge they need to make important decisions about DSLs—and, where appropriate, gain the significant technical and business benefits they offer. When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book's techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs—and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: • How DSLs compare to frameworks and libraries, and when those alternatives are sufficient • Using parsers and parser generators, and parsing external DSLs • Understanding, comparing, and choosing DSL language constructs • Determining whether to use code generation, and comparing code generation strategies • Previewing new language workbench tools for creating DSLs Table of Contents Preface xix Part I: Narratives 1 Chapter 1: An Introductory Example 3 Gothic Security 3 The State Machine Model 5 Programming Miss Grant's Controller 9 Languages and Semantic Model 16 Using Code Generation 19 Using Language Workbenches 22 Visualization 24 Chapter 2: Using Domain-Specific Languages 27 Defining Domain-Specific Languages 27 Why Use a DSL? 33 Problems with DSLs 36 Wider Language Processing 39 DSL Lifecycle 40 What Makes a Good DSL Design? 42 Chapter 3: Implementing DSLs 43 Architecture of DSL Processing 43 The Workings of a Parser 47 Grammars, Syntax, and Semantics 49 Parsing Data 50 Macros 52 Click here for a complete TOC: