**************************************************************************
*                                                                        *
*  Menhir                                                                *
*                                                                        *
*  Franois Pottier and Yann Rgis-Gianas, INRIA Rocquencourt            *
*                                                                        *
*  Copyright 2005 Institut National de Recherche en Informatique et      *
*  en Automatique. All rights reserved. This file is distributed         *
*  under the terms of the Q Public License version 1.0, with the         *
*  change described in file LICENSE.                                     *
*                                                                        *
**************************************************************************

This tiny program reads arithmetic expressions from the standard input
channel. Each expression is expected to be complete when the current line
ends. Its value is then displayed on the standard output channel.

In this version, there is a single lexer, but there are two parsers, one for
expressions in algebraic (that is, infix) notation, one for expressions in
reverse Polish (that is, postfix) notation. One of the two parsers is selected
at runtime via a command line switch.

This demo illustrates how to build two parsers that share a single set of
tokens (see tokens.mly) and that share some productions (see common.mly).

