************************* MASTER CODE ***************************************

The name of the first file in this disk's directory identifies the volume,
issue number and revision of the disk. The format of this filename is:

    !CDmvvii.rrr

where

    ! = the '!' character
    m =   C for C Users Journal, W for Windows/DOS Developer's Journal
    vv =  volume
    ii =  issue
    rrr = revision (001 for initial release, 002 for next update, etc.)

The file UPDATE.DOC contains information about any additions or
corrections to material on the disk since the original magazine
publication.

If you have obtained this code from a floppy diskette or from CompuServe, the 
headings under the column "FILENAME" represent the names of .ZIP files.  All 
files listed under the filename are archived in the .ZIP file.

If you have obtained this code from UUNET, the headings under the column 
"FILENAME" represent the names of subdirectories.  All files listed under the
"filename" are included in a subdirectory of that name.

Keywords: C C++ Temporary Compiler Internationalization Archimedes Visibility

The code listings for the May 1994 issue of The C Users Journal
include source for Robert Adams' dual classes for temporary objects,
sample source listings for Louis Tsai's object oriented compiler,
and Charles Hershey's program to demo the Archimedes C-51 compiler,

*************************  FILE DESCRIPTION **********************************

The following files are included in the disk:

FILENAME		AUTHOR-NAME	TITLE			       PAGE
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------
plauger 		P.J. Plauger	Standard C:The Header <ios>	10



    ios		 - listing 1, The header <ios>
    bitmask.h    - listing 2, Definition of the macro _BITMASK
    ios.c        - listing 3, Basic members of class ios
    except.c     - listing 4, The function ios::exceptions(iostate)
    copyfmt.c    - listing 5, The function ios::copyfmt(ios&)
    rdbuf.c      - listing 6, The function ios::rdbuf(streambuf *)
    ioassign.c   - listing 7, The ios assignment operator
    ioscopy.c    - listing 8, The ios copy constructor
    tie.c        - listing 9, The function ios::tie(ostream *)
    setf.c       - listing 10, The function ios::setf(fmtflags)
    setf2.c      - listing 11, The function ios::setf(fmtflags,
                                                      fmtflags)
    unset.c      - listing 12, The function ios::unset(fmtflags)
    findarr.c    - listing 13, The function ios::_Findarr(int)
    dec.c        - listing 14, The function dec(ios&)
    
saks 		 	Dan Saks	Stepping Up to C++:		67
					Compilation Firewalls, Part 2

    xr.cpp	 - listing 1, The main module for the cross-reference
                              program
    xrt.h        - listing 2, The xrt class definition
    xrt.cpp      - listing 3, The xrt member function definitions
    lns1a.h      - listing 4, Class definition for lns using a single
                              pointer
    lns1a.cpp    - listing 5, Member function definitions for lns using
                              a single pointer
    lns1b.h      - listing 6, Class definition for lns using a pair of
                              pointers
    lns1b.cpp	 - listing 7, Member function definitions for lns using
                              a pair of pointers
    lns2.h       - listing 8, An lns header with lns as an abstract base
                              class
    lns2.cpp     - listing 9, A concrete lns clas derived from the lns
                              protocol class
    lns3.h       - listing 10, An lns header with lns as an abstract
                               base class and a static create function
    lns4.h       - listing 11, lns as a concrete class with a single
                               private pointer to a protocol-based
                               implementation object.
    lns4.cpp     - listing 12, A "fast" implementation for the protocol-
                               based lns defined in listing 11
    lns5.cpp     - listing 13, Implementation for a self-adjusting lns
                               class


allison			Chuck Allison	Code Capsules:Visibility in C++	81

    scope1.cpp	 - listing 1, Shows that declarations are statements
    date.h	 - listing 2, Defines a simple Date class
    date.cpp	 - listing 3, Implementation of date class defined in
                              listing 2
    str.h        - listing 4, A "copy-on-write" string class design.
    str.cpp      - listing 5, Implementation for listing 4
    local.cpp    - listing 6, Defines class Local
    cursor.h     - listing 7, Cursor control module
    tcursor.cpp  - listing 8, Illustrates cursor control functions
    cursor.cpp   - listing 9, Implements cursor control for the IBM PC
    video.h	 - listing 10, IBM PC memory-mapped video output
    video.cpp	 - listing 11, implements video class
    share.cpp	 - listing 12, Demonstrates that tags and variables
                               share the same namespace
    namedef.h 	 - listing 13, Demonstrates use of namespace to define
                               a module
    nameimp.h    - listing 14, Adds implementation to complete the
                               Cursor namespace
    cursloc.cpp  - listing 15, Imports Cursor functions into a local
                               scope
    cursglob.cpp - listing 16, Makes Cursor identifiers available 
                               globally


adams			Robert M. Adams	Temporary Object Management	27
					Through Dual Classes

    unit.cpp 	 - listing 1, Defines Vector function unit
    refcount.cpp - listing 2, Vector class with dynamic VES and
                              reference counting
    tempvec.cpp  - listing 3, Vector and Tempvector with dynamic VES

tsai			Louis Tsai	Designing an OOP Compiler	37

    script	 - listing 1, A sample script program
    dialog	 - listing 2, A dialog file
    toknizer.h   - listing 3, Definition of class Tokenizer
    asldlg.h     - listing 4, Definition of classes Asl and Dlg
    init.cpp     - listing 5, Implements Initialize() for classes
                              Asl and Dlg
    pif.h        - listing 6, Definition of parse node Pif
    parse.cpp    - listing 7, Function parse() of Pif
    pstate.cpp   - listing 8, Function pstatement::parse()
    pdialog.cpp  - listing 9, Function PdialogStatement::parse()
    pwhile.cpp   - listing 10, Function Pwhile::parse()
    
hershey			Charles Hershey	Archimedes C-51 Hosted on an	49    
					IBM-PC compatible

    arch.c	 - listing 1, A program to illustrate some features of
                              the C-51 compiler
    arch.xcl	 - listing 2, Link file for sample program
    arch.mak	 - listing 3, Makefile for sample program

heintze			Siegfried 	Intuitive Access to Bit Arrays,
			Heintze		CUJ, February 1994, p. 67


    boolean.h	 - Not listed,	Replaces missing listing from February
                                article

******************************************************************************

If you have questions regarding to the disk, please call or write us.

-----------------------------------------------------------------------------
                           R&D Publications, Inc.
                        1601 W. 23rd St. Suite 200
                            Lawrence, KS 66046
                              (913) 841-1631
-----------------------------------------------------------------------------

