************************* 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 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. Keywords: Sep96 C C+ STL Timing Java Portable Screen Floating-Point The code listings for the September 1996 issue of C/C++ Users Journal include source code for Linda Kasparek's article on processing variant records with STL, Greg Messer's C++ chronograph class, Anil Hemrajani's article on combining C with Java, and Evan Manning's article on maintaining precision in floating-point summations. Also included are source listings from P.J. Plauger's column, Standard C/C++, and Dan Saks' column, C++ Theory and Practice. ************************* FILE DESCRIPTION ********************************** The following files are included in the disk: FILENAME AUTHOR-NAME TITLE PAGE (Zip archive/ subdirectory name) ------------------------------------------------------------------------------- plauger P.J. Plauger Introduction to max.cpp - listing 1, Template function max max_elem.cpp - listing 2, Template function max_element compare.cpp - listing 3, Comparison template functions search.cpp - listing 4, Searching template functions transfrm.cpp - listing 5, Transforming template functions unique.cpp - listing 6, Unique template functions rearrang.cpp - listing 7, Rearranging template functions kasparek Linda Kasparek Processing Variant Records with STL variant.cpp - listing 1, Variant record struct and switch statement used to populate it globals.h - listing 2, Defines key and value classes and variant record struct file.h - listing 3, Defines the File class file.cpp - listing 4, Implements file processing mapdef.cpp - listing 5, Creation of Key/Value pairs drive.cpp - listing 6, Test driver program out.txt - shown with listing 6 in magazine, output of test driver program fields.txt - table 1, Field identifiers data.txt - figure 1, Data file containing variant records manning Evan Manning Floating-Point Summation f_add.c - listing 1, Simple summation fx_add.c - listing 2, Extended precision method fs_add.c - listing 3, Sorted summation compare.c - listing 4, Simple comparison compare2.c - listing 5, Tie-breaking comparison fp_add.c - listing 6, Pairwise summation fk_add.c - listing 7, Kahan summation test.c - listing 8, Tests performance of summation methods fkx_add.c - not listed, Extended precision Kahan summation messer Greg Messer A C++ Chronograph Class getcmt.cpp - listing 1, Timing execution of an entire program NOTE: includes definition for function getcmt(), which was shown as listing 2 in article chrono.h - listing 3, The Chronograph class chrono.cpp - not listed, A member function of chronograph class hemrajan Anil Hemrajani The Java and C Connection princ.jav - listing 1, Sample Java program princimp.c - listing 2, C functions for Java class access.jav - listing 3, Demonstrates Java object access access.c - listing 4, Access to Java environment from C stub.c - listing 5, Stub file generated from Java class saks Dan Saks C++ Theory and Practice: Abstract Declarators, Part 3 declprse.cpp - listing 1, The declarator parsing function grammar1.txt - table 1, A simplified grammar for C++ object and function declarations ebnf.txt - table 2, A summary of EBNF operators grammar2.txt - table 3, A grammar for parameter-declaration using left-recursion grammar3.txt - table 4, A grammar for parameter-declaration, where direct-declarator and abstract-direct-declarator use iteration grammar4.txt - table 5, A grammar fro parameter-declaration, with declarator and abstract-declarator as one set of productions scanner.h - not listed, Complete source for scanner header file scanner.cpp - not listed, Complete source for scanner implementation decl.cpp - not listed, Complete source for declaration parser ******************************************************************************* If you have questions regarding to the disk, please call or write us. ----------------------------------------------------------------------------- Miller Freeman Inc. 1601 W. 23rd St. Suite 200 Lawrence, KS 66046 1-800-444-4881 or 913-841-1631 -----------------------------------------------------------------------------