Code Complete, Second Edition
by Steve McConnell
A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition
by Mark G. Sobell
Unix in a Nutshell, 4th Edition
by Arnold Robbins
Software Requirements, Second Edition
by Karl E. Wiegers - Two-time winner of the Software Development Productivity Award
Code
by Charles Petzold
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 & bison is the long-awaited sequel to the classic O'Reilly book, lex & 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 & 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 novices and references for advanced users, as well as an explanation of each utility's basic usage and simple, standalone applications you can create with them. With flex & bison, you'll discover the wide range of uses these flexible tools offer.
Address syntax crunching that regular expressions tools can't handle
Build compilers and interpreters, and handle a wide range of text processing functions
Interpret code, configuration files, or any other structured format
Learn key programming techniques, including abstract syntax trees and symbol tables
Implement a full SQL grammar-with complete sample code
Use new features such as pure (reentrant) lexers and parsers, powerful GLR parsers, and interfaces to C++
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 36 Ratings
Waste of money! - 2009-10-16
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
You'd be hard pressed to argue the book does much more than reiterate the man pages and documentation for the two tools. It's nice to read with the tone and flow of a text, but there is nothing here that isn't online. Heck, it points you to the online references whenever there is information that would make the book more expensive to print. For example when talking about flex options it says there are hundreds (what, maybe a 25-50 page index? couple lines per option) and to go to the online documentation. Well, OK, I bought a book though, maybe I wanted my information in print. I guess you have to use both, which defeats the purpose of buying the book at all. Examples are poorly chosen, they exemplify a concept not relating flex/bison themselves and by chance use a hodgepodge of the things you wanted to learn about. For example, instead of creating an example to show you how an individual aspects of flex works he does a few (well) then tosses all the others into a giant multipage example at the end. Thanks for making me sift through code I don't care about to see the meaning of individual flex function/features/variables. I think a bunch of well chosen and small examples would have been better. But you know, that would have been more work and made the book larger...
The bottom line is, internet searches and the online documentation have everything the book has to say and more.
It's definitely not worth $30, $19 is pushing it. I've honestly never been impressed with O'Reilly, I own 5 books from them. Apress publishes the best non-classroom technical manuals in my opinion.
FYI, flex & bison have nothing (fundamentally) to do with UNIX/Linux/BSD. But be prepared to read an O'Reilly by Linux guy style book in true fashion. I'd peg this as the anemic and low-context instruction Linux guys love to write (wastes a lot of your time, makes them feel smart).
A good book to have when using lex & yacc - 2006-12-14
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I like this book because it is a good compromise between lex & yacc man pages and the theory found in books such as the Dragon book. You will get valuable information about the how and why of the tools that will help you to produce a quality grammar without being overwhelmed by details.
Not a Mind Meld - 2006-08-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
To me a great book flows into your mind, magically providing the information in the order you need it. Of course it depends on whose reading it, but this book, though well worth the 96 cents bargain bin price I paid for it, does not build the constructs in my head the way I'd like.
Authors should always proofread their books with novices, not the experts. Experts fill in the gaps as they read and don't notice if the logic is missing a link. In chap 2, "Using Lex", there is the sentence: "Lex itself doesn't produce an executable program; instead it translates the lex specification into a file containing a C routine called yylex(). Your program calls yylex() to run the lexer."
I waited with baited breath for what it means to "run the lexer". Does it return a token each time you call it? Does it analyze all the input then return? The text ignores this detail and merrily goes on into other details. The chapter is called "Using Lex", but the authors omit how you use it! Of course you can scrounge around in the examples and finally root it out, but a book should paint a crystal clear picture, get you oriented, then drop in the details to build your understanding.
The book looks so promising, sort of like the beauty of the original "The C Programming Language" by Kernighan and Ritchie, but disappoints in it's fragmented exposition.
I did take a compiler course with the "dragon book" years ago and write a parser, so I'm not totally in the dark, but I expected this book to lay the subject out in a much clearer way. But it is still a good book to have and read "offline".
I hope the authors take a crack at another edition and explain it all better.
A compiler construction essential - 2007-10-21
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This item is a definite must for coursework dealing with scanning and parsing. I thought that I would be fine if I just relied on web sources to assist me in Lex assignments, but as a deadline approached and I still had no results I turned to this book. The content is clear, concise, and absolutely fantastic. If you want to know how to work with Lex and Yacc, this is the book you need.
An outstanding choice for any advanced programmer's collection - 2010-01-11
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
John Levine's FLEX & BISON: UNIX TEXT PROCESSING SKILLS is for any library strong in Unix programming and offers advanced details, from building compilers and interpreters to learning key programming techniques. Revised tutorials for novices and references for advanced users make this an outstanding choice for any advanced programmer's collection.
Some information on this page was provided using data from Amazon.com®. View at Amazon >