(bison.info)Multiple Types

Next: Actions Prev: Value Type Up: Semantics

More Than One Value Type

   In most programs, you will need different data types for different
kinds of tokens and groupings.  For example, a numeric constant may
need type `int' or `long', while a string constant needs type `char *',
and an identifier might need a pointer to an entry in the symbol table.

   To use more than one data type for semantic values in one parser,
Bison requires you to do two things:

   * Specify the entire collection of possible data types, with the
     `%union' Bison declaration (*note The Collection of Value Types:
     Union Decl.).

   * Choose one of those types for each symbol (terminal or
     nonterminal) for which semantic values are used.  This is done for
     tokens with the `%token' Bison declaration (Note: Token Type
     Names.)  and for groupings with the `%type' Bison
     declaration (Note: Nonterminal Symbols.).

automatically generated by info version 1.5

Dirfile and infopages generated Sat Dec 3 02:07:54 2005