About This Title

Pages: 378
Published: December 2009
ISBN: 9781934356456
In Print

Skill Level Meter

Language Implementation Patterns

Create Your Own Domain-Specific and General Programming Languages

by Terence Parr

Learn to build configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. You don’t need a background in computer science—ANTLR creator Terence Parr demystifies language implementation by breaking it down into the most common design patterns. Pattern by pattern, you’ll learn the key skills you need to implement your own computer languages.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $27.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal


Paperback Formats:

Please support indie bookstores!
Find indie bookstores in the U.S. Find indie bookstores around the world.


Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain.

The key is understanding the common patterns found across language implementations. Language Implementation Patterns identifies and condenses the most common design patterns, providing sample implementations of each.

The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, Language Design Patterns shows you patterns you can use for all kinds of language applications.

You’ll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you’ll get hands-on experience by building a complete sample implementation. By the time you finish the book, you’ll know how to solve most common language implementation problems.

What You Need

Resources

Releases:

  • P5.0 2014/09/16
  • P3.0 2011/08/25
  • P2.0 2010/06/17
  • P1.0 2010/01/04

Contents & Extracts

Full Table of Contents

Preface

  • Getting Started with Parsing
    • Language Applications Cracked Open
    • Basic Parsing Patterns
    • Enhanced Parsing Patterns
  • Analyzing Languages
    • Building Intermediate Form Trees excerpt
    • Walking and Rewriting Trees
    • Tracking and Identifying Program Symbols
    • Managing Symbol Tables for Data Aggregates
    • Enforcing Static Typing Rules excerpt
  • Building Interpreters
    • Building High-Level Interpreters
    • Building Bytecode Interpreters
  • Translating and Generating Languages
    • Translating Computer Languages
    • Generating DSLs with Templates
    • Putting it all Together

Author

Terence Parr is a professor of computer science and graduate program director at the University of San Francisco, where he continues to work on his ANTLR parser generator (https://www.antlr.org) and template engine (https://www.stringtemplate.org). Terence has consulted for and held various technical positions at companies such as IBM, Lockheed Missiles and Space, NeXT, and Renault Automation. Terence holds a Ph.D. in computer engineering from Purdue University and was a postdoctoral fellow at the Army High-Performance Computing Research Center at the University of Minnesota, where he built parallelizing FORTRAN source-to-source translators. He is the author of The Definitive ANTLR Reference.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $27.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal


Paperback Formats:

Please support indie bookstores!
Find indie bookstores in the U.S. Find indie bookstores around the world.

Related Titles:

Skill Level Meter

About This Title

Pages: 378
Published: December 2009
ISBN: 9781934356456
Edition: 1
In Print