| 000 | 00000cam u2200205 a 4500 | |
| 001 | 000045989216 | |
| 005 | 20190709150225 | |
| 006 | m d | |
| 007 | cr | |
| 008 | 190708s2017 caua o 001 0 eng d | |
| 020 | ▼a 9781484232279 | |
| 020 | ▼a 9781484232286 (eBook) | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 050 | 4 | ▼a QA76.7-76.73 |
| 082 | 0 4 | ▼a 005.13 ▼2 23 |
| 084 | ▼a 005.13 ▼2 DDCK | |
| 090 | ▼a 005.13 | |
| 100 | 1 | ▼a Lenz, Moritz. |
| 245 | 1 0 | ▼a Parsing with Perl 6 regexes and grammars ▼h [electronic resource] : ▼b a recursive descent into parsing / ▼c Moritz Lenz. |
| 260 | ▼a Berkeley, CA : ▼b Apress, ▼c c2017. | |
| 300 | ▼a 1 online resource (xiv, 201 p.) : ▼b ill. (some col.). | |
| 500 | ▼a Title from e-Book title page. | |
| 500 | ▼a Includes index. | |
| 505 | 0 | ▼a 1. What are Regexes and Grammars? -- 2. Getting Started with Perl 6 -- 3. Building Blocks of Regexes -- 4. Regexes and Perl 6 Code -- 5. Extracting Data from Regex Matches -- 6. Regex Mechanics -- 7. Regex Techniques -- 8. Reusing and Composing Regexes -- 9. Parsing With Grammars -- 10. Extracting Data From Matches -- 11. Generating Good Parse Error Messages -- 12. Unicode and Natural Language -- 13. Case Studies. |
| 520 | ▼a 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. You will: 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. | |
| 530 | ▼a Issued also as a book. | |
| 538 | ▼a Mode of access: World Wide Web. | |
| 650 | 0 | ▼a Computer science. |
| 650 | 0 | ▼a Computer programming. |
| 650 | 0 | ▼a Programming languages (Electronic computers). |
| 856 | 4 0 | ▼u https://oca.korea.ac.kr/link.n2s?url=https://doi.org/10.1007/978-1-4842-3228-6 |
| 945 | ▼a KLPA | |
| 991 | ▼a E-Book(소장) |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/e-Book 컬렉션/ | 청구기호 CR 005.13 | 등록번호 E14014758 | 도서상태 대출불가(열람가능) | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
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.
New feature
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.
You will:
- 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
정보제공 :
목차
Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Chapter 1: What are Regexes and Grammars? -- 1.1 Use Cases -- Searching -- Validation -- Parsing -- 1.2 Regexes or Regular Expressions? -- 1.3 What’s So Special about Perl 6 Regexes? -- Chapter 2: Getting Started with Perl 6 -- 2.1 Installing Rakudo Perl 6 -- Rakudo Star from Native Installers -- Binary Linux Packages -- Docker-Based Installation -- 2.2 Using Rakudo Perl 6 -- 2.3 Obtaining the Code Examples -- 2.4 First Steps with Perl 6 -- Variables and Values -- Strings -- Control Structures -- Functions, Classes, and Methods -- Learning More About Perl 6 -- 2.5 Summary -- Chapter 3: The Building Blocks of Regexes -- 3.1 Literals -- 3.2 Meta Characters vs. Literals -- 3.3 Anchors -- 3.4 Predefined Character Classes -- User-Defined Character Classes -- Unicode Properties -- 3.5 Quantifiers -- Greedy and Frugal Quantifiers -- Quantifiers with Separators -- 3.6 Disjunction -- 3.7 Conjunction -- 3.8 Zero-Width Assertions -- 3.9 Summary -- Chapter 4: Regexes and Perl 6 Code -- 4.1 Smart-Matching -- 4.2 Quote Forms -- 4.3 Modifiers -- 4.4 Comb and Split -- 4.5 Substitution -- 4.6 Crossing the Code and Regex Boundary -- 4.7 Summary -- Chapter 5: Extracting Data from Regex Matches -- 5.1 Positional Captures -- 5.2 The Match Object -- Nesting of Captures -- Quantified Captures -- 5.3 Named Captures -- 5.4 Backreferences -- Excursion: Primality Test with Backreferences -- 5.5 Match Objects Revisited -- 5.6 Summary -- Chapter 6: Regex Mechanics -- 6.1 Matching with State Machines -- Deterministic State Machines -- Nondeterministic State Machines -- 6.2 Regex Control Flow -- 6.3 Backtracking -- 6.4 Why Would You Want to Avoid Backtracking? -- Performance -- Correctness -- 6.5 Frugal Quantifiers and Backtracking -- 6.6 Longest Token Matching -- 6.7 Summary -- Chapter 7: Regex Techniques -- 7.1 Know Your Data Format -- Well-Defined Data Formats -- Exploring Data Formats -- 7.2 Think About Invalid Inputs -- 7.3 Use Anchors -- 7.4 Matching Quoted Strings -- Quoted Strings with Escaping Sequences -- 7.5 Testing Regexes -- 7.6 Summary -- Chapter 8: Reusing and Composing Regexes -- 8.1 Named Regexes -- Lexical Analysis and Backtracking Control -- 8.2 Whitespace -- 8.3 Grammars -- 8.4 Code Reuse with Grammars -- Inheritance -- Role Composition -- 8.5 Proto Regexes -- 8.6 Summary -- Chapter 9: Parsing with Grammars -- 9.1 Understanding Grammars -- Recursive Descent Parsing and Precedence -- Left Recursion and Other Traps -- 9.2 Starting Simple -- 9.3 Assembling Complete Grammars -- 9.4 Debugging Grammars -- 9.5 Parsing Whitespace and Comments -- 9.6 Keeping State -- Implementing Lexical Scoping with Dynamic Variables -- Scoping Through Explicit Symbol Tables -- 9.7 Summary -- Chapter 10: Extracting Data from Matches -- 10.1 Action Objects -- 10.2 Building ASTs with Action Objects -- 10.3 Keeping State in Action Objects -- 10.4 Summary -- Chapter 11: Generating Good Parse Error Messages -- 11.1 Exploring the Problem -- 11.2 Assertions -- 11.3 Improved Position Reporting -- 11.4 High-Water Marks -- 11.5 Parser Combinator and FAILGOAL -- 11.6 Which Techniques to Use? -- 11.7 Summary -- Chapter 12: Unicode and Natural Language -- 12.1 Writing Systems -- 12.2 Bytes, Code Points, Graphemes, and Glyphs -- Grapheme Clusters -- Glyphs -- 12.3 Unicode Properties -- 12.4 Summary -- Chapter 13: Case Studies -- 13.1 S-Expressions -- Parsing S-Expressions -- Data Extraction -- 13.2 Mathematical Expressions and Operator Precedence Parsers -- A Simple Operator Precedence Parser -- A More Flexible Approach -- 13.3 Pythonesque, an Indentation-Based Language -- A Grammar for Pythonesque -- Action Objects -- 13.4 Summary -- Index -- .
