Parsing with Perl 6 Regexes and Grammars: A Recursive Descent into Parsing

  • 2h 14m
  • Moritz Lenz
  • Apress
  • 2017

Write good regexes and parsers with the Perl 6 programming language. You’ll see how regexes are used for searching, parsing, and validation: in particular the grammar extension makes them uniquely suitable for parsing, the main focus of this book. Written by Perl 6 expert Moritz Lenz, a core contributor of Rakudo, Parsing with Perl 6 Regexes and Grammars starts from the very basics of regular expressions, and then explores how they integrate with regular Perl 6 code. Then follows a deeper exploration of how regexes work under the hood and a discussion of common techniques for constructing regexes and exploring the data under scrutiny. Later material goes beyond relatively simple formats to reusable named regexes and grammars, which permit code reuse in grammars, and shows how to write parsers for more involved data formats. Error reporting and case studies wrap up the topic.

While regexes allow you to search for patterns in text and validate input, Perl 6 regexes advance that concept: you’ll see how they are easier to read, yet much more powerful, than the traditional "Perl-compatible regular expression". With improved reusability and backtracking control, you will be able to write complete parsers with the help of this book.

What You'll Learn

  • Discover the building blocks of Perl 6 regexes
  • Handle regex mechanics and master useful regex techniques
  • Extract data and work with patterns among these use cases
  • Reuse named regexes and other grammars as components or templates
  • Write full parsers, including advanced error reporting and data extraction
  • Learn how to parse nested scopes and indention-based formats

Who This Book Is For

Those with at least some prior experience with Perl programming, but who may be new to Perl 6 as well as searching and parsing.

About the Author

Moritz Lenz is a software engineer and architect. In the Perl community, he is well known for his contributions to the Perl 6 programming language, the Rakudo Perl 6 compiler, related test suite, infrastructure and tools. At his employer, noris network AG, he introduced continuous delivery for many in-house developed applications, and now wants to share his experience with the wider world.

In this Book

  • What are Regexes and Grammars?
  • Getting Started with Perl 6
  • The Building Blocks of Regexes
  • Regexes and Perl 6 Code
  • Extracting Data from Regex Matches
  • Regex Mechanics
  • Regex Techniques
  • Reusing and Composing Regexes
  • Parsing with Grammars
  • Extracting Data from Matches
  • Generating Good Parse Error Messages
  • Unicode and Natural Language
  • Case Studies