RailroadBookstore.com

Railroad Books - Model Railroad Books - Thomas & Friends
Photography Books - Gardening Books

Photography Books

Huge Selection - Discount Prices - Money Back Guarantee

We offer a huge selection of photography books at discount prices. All purchases have a money back satisfaction guarantee. Thank you for shopping here!

Search Advanced SearchView Cart   Checkout   
Guidebooks
Canon
Hasselblad
Kodak
Leica
Nikon
Pentax
Sony
Magic Lantern Guides
Categories
General
Black & White
Color
Digital
Equipment
How To
Nature & Wildlife
Photo Essays
Photojournalism
Reference
Travel
Photoshop
Lightroom
Railroad Photography
Images of Rail Series
Subcategories
All Titles
Arts & Photography
Biographies & Memoirs
Business & Investing
Children's Books
Computers & Internet
Cooking, Food & Wine
Engineering
Entertainment
Gay & Lesbian
General AAS
Home & Garden
Literature & Fiction
Medicine
Nonfiction
Outdoors & Nature
Parenting & Families
Professional
Reference
Religion & Spirituality
Science
Teens
Travel
Mass Market
Trade

lex & yacc

lex & yacc

zoom enlarge 
Authors: Doug Brown, John Levine, Tony Mason
Publisher: O'Reilly Media, Inc.
Category: Book

List Price: $29.95
Buy Used: $3.93
You Save: $26.02 (87%)



New (33) Used (42) from $3.93

Avg. Customer Rating: 4.0 out of 5 stars 34 reviews
Sales Rank: 191513

Media: Paperback
Edition: 2
Number Of Items: 1
Pages: 384
Shipping Weight (lbs): 1.2
Dimensions (in): 8.9 x 6 x 1

ISBN: 1565920007
Dewey Decimal Number: 005.43
UPC: 636920920007
EAN: 9781565920002
ASIN: 1565920007

Publication Date: February 1, 1995
Availability: Usually ships in 1-2 business days
Shipping: Expedited shipping available

Also Available In:

  • Paperback - Lex and Yacc (A Nutshell handbook)
  • Paperback - Lex & Yacc

Similar Items:

  • Compilers: Principles, Techniques, and Tools (2nd Edition)
  • Compiler Construction: Principles and Practice
  • Introduction to Algorithms
  • Mastering Regular Expressions
  • C: A Reference Manual (5th Edition)

Editorial Reviews:

Product Description
Shows programmers how to use two UNIX utilities, lex and yacc, in program development. The second edition contains completely revised tutorial sections for novice users and reference sections for advanced users. This edition is twice the size of the first, has an expanded index, and covers Bison and Flex.


Customer Reviews:   Read 29 more reviews...

5 out of 5 stars A compiler construction essential   October 21, 2007
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.


4 out of 5 stars A good book to have when using lex & yacc   December 14, 2006
 2 out of 2 found this review helpful

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.



3 out of 5 stars Not a Mind Meld   August 23, 2006
 1 out of 1 found this review helpful

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.



5 out of 5 stars Very good guide to an old but useful programming tool   June 25, 2006
 5 out of 5 found this review helpful

Yacc (yet another compiler compiler) and its companion lex (lexical analyzer) are primarily intended to allow quick and easy development of small special-purpose languages. The common mistake is assuming that they are only useful for creating compilers for massively complex eccentric languages. This is not the case, though you could no doubt use them for such a purpose.

Lex and Yacc are commonly used together. Yacc uses a formal grammar to parse an input stream, something which lex cannot do using simple regular expressions since lex is limited to simple finite state automata. However, yacc cannot read from a simple input stream - it requires a series of tokens. Lex is often used to provide yacc with these tokens. As a result, building an application in lex and yacc is often used as an exercise in classes on programming languages and the theory of computation to demonstrate key concepts.

The book starts out building a simple character-driven calculator, and then moves on to build a menu generation language that produces C code that uses the standard "curses" library to draw menus on the screen. The final application is a SQL parser which includes a quick overview of both relational databases and SQL. Some readers will dislike the fact that Lex and Yacc are only capable of generating C code. Thus, the logical conclusion is that you must be able to write C code in order to use these tools. While it would be nice if the sections about the menu generation language and the SQL parser had some information about how to do typechecking and other such things, this book is not about writing a compiler/interpreter using Lex & Yacc. Rather it is just a beginner's guide.

The sections about shift/reduce and reduce/reduce conflicts are especially helpful, as are the sections going over the differences and caveats relating to the major versions of lex and yacc such as AT&T's Lex & YACC, GNU's Flex & Bison, and Berkeley's Yacc. In summary, if you've never used lex or yacc before and think they might be useful tools for you, and you already know the C programming language, this is a handy book to have.



4 out of 5 stars Delivers what is say it will   June 24, 2006
This book is a little out-dated. That is fine, though - this book goes over all the essential proponents of Lex and Yacc and Bison and FLEX and all the other variations ... which you will certainly know a lot more about by the end of this book. This books enabled me to read FLEX input from a c-string, which has played a role in a few of my projects. It is great when you just need a quick reminder of the syntax is the tools. This book does not go over how the programs work, which is a good thing, because that would make the book more oriented towards Finite Autonoma and Context Sensive Languages - leave that sort of thing to autonoma theory and compiler design. This is an excellent reference, so buy it if you really need it.


Copyright 2008 - RailroadBookstore.com