Book description
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
- List of Patterns
- Title Page
- Copyright
- Dedication
- Contents
- Preface
-
Part I. Narratives
- Chapter 1. An Introductory Example
- Chapter 2. Using Domain-Specific Languages
- Chapter 3. Implementing DSLs
- Chapter 4. Implementing an Internal DSL
- Chapter 5. Implementing an External DSL
- Chapter 6. Choosing between Internal and External DSLs
- Chapter 7. Alternative Computational Models
- Chapter 8. Code Generation
- Chapter 9. Language Workbenches
- Part II. Common Topics
-
Part III. External DSL Topics
- Chapter 17. Delimiter-Directed Translation
- Chapter 18. Syntax-Directed Translation
- Chapter 19. BNF
- Chapter 20. Regex Table Lexer (by Rebecca Parsons)
- Chapter 21. Recursive Descent Parser (by Rebecca Parsons)
- Chapter 22. Parser Combinator (by Rebecca Parsons)
- Chapter 23. Parser Generator
- Chapter 24. Tree Construction
- Chapter 25. Embedded Translation
- Chapter 26. Embedded Interpretation
- Chapter 27. Foreign Code
- Chapter 28. Alternative Tokenization
- Chapter 29. Nested Operator Expression
- Chapter 30. Newline Separators
- Chapter 31. External DSL Miscellany
-
Part IV. Internal DSL Topics
- Chapter 32. Expression Builder
- Chapter 33. Function Sequence
- Chapter 34. Nested Function
- Chapter 35. Method Chaining
- Chapter 36. Object Scoping
- Chapter 37. Closure
- Chapter 38. Nested Closure
- Chapter 39. Literal List
- Chapter 40. Literal Map
- Chapter 41. Dynamic Reception
- Chapter 42. Annotation
- Chapter 43. Parse Tree Manipulation
- Chapter 44. Class Symbol Table
- Chapter 45. Textual Polishing
- Chapter 46. Literal Extension
- Part V. Alternative Computational Models
- Part VI. Code Generation
- Bibliography
- Index
- A Cheat Sheet
Product information
- Title: Domain Specific Languages
- Author(s):
- Release date: September 2010
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780132107549
You might also like
book
Fluent Python, 2nd Edition
Don't waste time bending Python to fit patterns you've learned in other languages. Python's simplicity lets …
book
Developing Apps with GPT-4 and ChatGPT
This minibook is a comprehensive guide for Python developers who want to learn how to build …
book
Hands-On Large Language Models
AI has acquired startling new language capabilities in just the past few years. Driven by rapid …
book
Learning Go, 2nd Edition
Go has rapidly become the preferred language for building web services. Plenty of tutorials are available …