ENGLISH

Flex & amp; bison

Book information

Publisher
Inc, O'Reilly Media
Year
2009
ISBN
9781449379278, 1449379273, 9780596155971, 0123456789
Language
english
Format
EPUB
Filesize
1 MB (1060637 bytes)
Pages
294\0
Time added
2019-09-25 00:05:08

Description

If you need to parse or process text data in Linux or Unix, this useful book explains how to use flex and bison to solve your problems quickly. flex & amp; bison is the long-awaited sequel to the classic O'Reilly book, lex & amp; yacc. In the nearly two decades since the original book was published, the flex and bison utilities have proven to be more reliable and more powerful than the original Unix tools. flex & amp; bison covers the same core functionality vital to Linux and Unix program development, along with several important new topics. You'll find revised tutorials for.  Read more... Abstract: If you need to parse or process text data in Linux or Unix, this useful book explains how to use flex and bison to solve your problems quickly. flex & amp; bison is the long-awaited sequel to the classic O'Reilly book, lex & amp; yacc. In the nearly two decades since the original book was published, the flex and bison utilities have proven to be more reliable and more powerful than the original Unix tools. flex & amp; bison covers the same core functionality vital to Linux and Unix program development, along with several important new topics. You'll find revised tutorials for Content: Table of Contents Preface Scope of This Book Conventions Used in This Book Getting Flex and Bison This Book's Example Files Using Code Examples Safari® Books Online How to Contact Us Acknowledgments Chapter 1. Introducing Flex and Bison Lexical Analysis and Parsing Regular Expressions and Scanning Our First Flex Program Programs in Plain Flex Putting Flex and Bison Together The Scanner as Coroutine Tokens and Values Grammars and Parsing BNF Grammars Bison's Rule Input Language Compiling Flex and Bison Programs Together Ambiguous Grammars: Not Quite. Adding a Few More RulesFlex and Bison vs. Handwritten Scanners and Parsers Exercises Chapter 2. Using Flex Regular Expressions Regular Expression Examples How Flex Handles Ambiguous Patterns Context-Dependent Tokens File I/O in Flex Scanners Reading Several Files The I/O Structure of a Flex Scanner Input to a Flex Scanner Flex Scanner Output Start States and Nested Input Files Symbol Tables and a Concordance Generator Managing Symbol Tables Using a Symbol Table C Language Cross-Reference Exercises Chapter 3. Using Bison How a Bison Parser Matches Its Input. Shift/Reduce ParsingWhat Bison's LALR(1) Parser Cannot Parse A Bison Parser Abstract Syntax Trees An Improved Calculator That Creates ASTs Literal Character Tokens Building the AST Calculator Shift/Reduce Conflicts and Operator Precedence When Not to Use Precedence Rules An Advanced Calculator Advanced Calculator Parser Calculator Statement Syntax Calculator Expression Syntax Top-Level Calculator Grammar Basic Parser Error Recovery The Advanced Calculator Lexer Reserved Words Building and Interpreting ASTs Evaluating Functions in the Calculator User-Defined Functions. Using the Advanced CalculatorExercises Chapter 4. Parsing SQL A Quick Overview of SQL Relational Databases Manipulating Relations Three Ways to Use SQL SQL to RPN The Lexer Scanning SQL Keywords Scanning Numbers Scanning Operators and Punctuation Scanning Functions and Names Comments and Miscellany The Parser The Top-Level Parsing Rules SQL Expressions Functions Other expressions Select Statements Select options and table references SELECT table references Delete Statement Insert and Replace Statements Replace statement Update Statement Create Database Create Table. User VariablesThe Parser Routines The Makefile for the SQL Parser Exercises Chapter 5. A Reference for Flex Specifications Structure of a Flex Specification Definition Section Rules Section User Subroutines BEGIN C++ Scanners Context Sensitivity Left Context Right Context Definitions (Substitutions) ECHO Input Management Stdio File Chaining Input Buffers Input from Strings File Nesting input() YY_INPUT Flex Library Interactive and Batch Scanners Line Numbers and yylineno Literal Block Multiple Lexers in One Program Combined Lexers Multiple Lexers.

Similar books