BN.com Gift Guide

Bison: The YACC-Compatible Parser Generator, November 1995, Bison Version 1.25

Overview

Bison is a general-purpose parser generator that converts a grammar description for an LALR (1) context-free grammar into a C program to parse that grammar. Once you are proficient with Bison, you may use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages. Bison is upward compatible with Yacc: all properly written Yacc grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble....
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (3) from $29.95   
  • New (1) from $79.45   
  • Used (2) from $29.95   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$79.45
Seller since 2014

Feedback rating:

(320)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

Bison is a general-purpose parser generator that converts a grammar description for an LALR (1) context-free grammar into a C program to parse that grammar. Once you are proficient with Bison, you may use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages. Bison is upward compatible with Yacc: all properly written Yacc grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble. You need to be fluent in C programming in order to use Bison or to understand this manual.

The books in the iUniverse.com Computer Books Series are composed of freely available online computer manuals, industry standard specifications, and electronically distributed computer-programming guides. They include open documents' collections of industry specifications and standards and a collection of the best open source documentation on the Web...the most complete open source library available anywhere.

Each book contains the complete, unabridged text of the original document. The on-demand publishing process gives you the actual text of the online document in a convenient, inexpensive, easy-to-use format.

And remember...iUniverse.com donates a portion of the profits from open document and open source books to support the mission of the free software community.

Read More Show Less

Product Details

  • ISBN-13: 9780595100323
  • Publisher: iUniverse, Incorporated
  • Publication date: 8/1/2000
  • Pages: 136
  • Product dimensions: 7.57 (w) x 9.29 (h) x 0.35 (d)

Table of Contents

Introduction xiii
Conditions for Using Bison xv
GNU General Public License xvii
Preamble xvii
Terms and Conditions for Copying, Distribution and Modification xviii
End of Terms and Conditions xxii
How to Apply These Terms to Your New Programs xxii
1. The Concepts of Bison 1
Languages and Context-Free Grammars 1
From Formal Rules to Bison Input 3
Semantic Values 4
Semantic Actions 4
Bison Output: the Parser File 5
Stages in Using Bison 6
The Overall Layout of a Bison Grammar 6
2. Examples 8
Reverse Polish Notation Calculator 8
Declarations for rpcalc 8
Grammar Rules for rpcalc 9
The rpcalc Lexical Analyzer 12
The Controlling Function 13
The Error Reporting Routine 14
Running Bison to Make the Parser 14
Compiling the Parser File 15
Infix Notation Calculator: calc 16
Simple Error Recovery 17
Multi-Function Calculator: mfcalc 18
Declarat ions for mfcalc 19
Grammar Rules for mfcalc 20
The mfcalc Symbol Table 21
Exercises 25
3. Bison Grammar Files 26
Outline of a Bison Grammar 26
The C Declarations Section 26
The Bison Declarations Section 27
The Grammar Rules Section 27
The Additional C Code Section 27
Symbols, Terminal and Nonterminal 27
Syntax of Grammar Rules 29
Recursive Rules 30
Defining Language Semantics 31
Data Types of Semantic Values 32
More Than One Value Type 32
Actions 32
Data Types of Values in Actions 34
Actions in Mid-Rule 34
Bison Declarations 37
Token Type Names 37
Operator Precedence 38
The Collection of Value Types 39
Nonterminal Symbols 39
Suppressing Conflict Warnings 40
The Start-Symbol 40
A Pure (Reentrant) Parser 41
Bison Declaration Summary 41
Multiple Parsers in the Same Program 43
4. Parser C-Language Interface 44
The Parser Function yyparse 44
The Lexical Analyzer Function yylex 44
Calling Convention for yylex 45
Semantic Values of Tokens 46
Textual Positions of Tokens 47
Calling Conventions for Pure Parsers 47
The Error Reporting Function yyerror 49
Special Features for Use in Actions 50
5. The Bison Parser Algorithm 53
Look-Ahead Tokens 54
Shift/Reduce Conflicts 55
Operator Precedence 56
When Precedence is Needed 56
Specifying Operator Precedence 57
Precedence Examples 58
How Precedence Works 58
Context-Dependent Precedence 59
Parser States 60
Reduce/Reduce Conflicts 60
Mysterious Reduce/Reduce Conflicts 62
Stack Overflow, and How to Avoid It 64
6. Error Recovery 65
7. Handling Context Dependencies 68
Semantic Info in Token Types 68
Lexical Tie-ins 69
Lexical Tie-ins and Error Recovery 70
8. Debugging Your Parser 72
9. Invoking Bison 74
Bison Options 74
Option Cross Key 76
Invoking Bison under VMS 76
10. Bison Symbols 77
11. Glossary 81
GNU Free Documentation License 84
Table of Contents 84
GNU Free Documentation License 84
How to use this License for your documents 91
The GNU Project 92
The first software-sharing community 92
The collapse of the community 92
A stark moral choice 94
Free as in freedom 95
GNU software and the GNU system 96
Commencing the project 96
The first steps 97
GNU Emacs 97
Is a program free for every user? 98
Copyleft and the GNU GPL 99
The Free Software Foundation 100
Free software support 100
Technical goals 101
Donated computers 101
The GNU Task List 102
The GNU Library GPL 102
Scratching an itch? 103
Unexpected developments 104
The GNU Hurd 104
Alix 105
Linux and GNU/Linux 105
Challenges in our future 106
Secret hardware 106
Non-free libraries 106
Software patents 108
Free documentation 108
We must talk about freedom 109
"Open Source" 110
Try! 110
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)