includefile(demos/intro)

lsect(RPN)(Rpn: a Reverse Polish Notation Calculator)
includefile(demos/rpn.yo)

    subsect(Declarations for the `rpn' calculator)
    includefile(demos/rpndecl)

    subsect(Grammar rules for the `rpn' calculator)
    includefile(demos/rpngram)

        subsubsect(Explanation of `input')
        includefile(demos/rpninput)

        subsubsect(Explanation of `line')
        includefile(demos/rpnline)

        subsubsect(Explanation of `expr')
        includefile(demos/rpnexpr)

    lsubsect(RPNLEX)(The Lexical Scanner used by `rpn')
    includefile(demos/rpnlex)

    subsect(The Controlling Function `main()')
    includefile(demos/rpnmain)

    subsect(The error reporting member `error()')
    includefile(demos/rpnerror)

    subsect(Running Bisonc++ to generate the Parser)
    includefile(demos/rpnparser)

    subsect(Constructing and running `rpn')
    includefile(demos/rpnconstruct)


lsect(CALC)(`calc': an Infix Notation Calculator)
includefile(demos/calc.yo)

lsect(ERROR)(Basic Error Recovery)
includefile(demos/errors.yo)

lsect(MFCALC)(`mfcalc': a Multi-Function Calculator)
includefile(demos/mfcalc.yo)

    subsect(The Declaration Section for `mfcalc')
    includefile(demos/mfdecl.yo)

    subsect(Grammar Rules for `mfcalc')
    includefile(demos/mfgrammar.yo)

    subsect(The `mfcalc' Symbol- and Function Tables)
    includefile(demos/mftables.yo)

    lsubsect(MFLEX)(The new `lex()' member)
    includefile(demos/mflex.yo)

    subsect(Constructing `mfcalc')
    includefile(demos/mfbuild.yo)

lsect(EXERCISES)(Exercises)
includefile(demos/exercises.yo)



