COMPILE
------------

Source files for FPeriod:
Comp.cpp
Comp.h
Func.cpp
Func.h
FuncNode.cpp
FuncNode.h
RecNode.cpp
RecNode.h
StorageKey.cpp
StorageKey.h
StorageVal.cpp
StorageVal.h
StringOps.cpp
StringOps.h
main.cpp

Source files for FProbPeriod:
Comp.cpp
Comp.h
Func.cpp
Func.h
FuncNode.cpp
FuncNode.h
RecNode.cpp
RecNode.h
StorageKey.cpp
StorageKey.h
StorageVal.cpp
StorageVal.h
StringOps.cpp
StringOps.h
prob.cpp

Source files for FDense:
Comp.cpp
Comp.h
Func.cpp
Func.h
FuncNode.cpp
FuncNode.h
GroupData.h
MList.h
RecNode.cpp
RecNode.h
StorageKey.cpp
StorageKey.h
StorageVal.cpp
StorageVal.h
StringOps.cpp
StringOps.h
dense.cpp

Note that the programs use STL.

The programs were developed with g++ 2.95.3.

How to compile:
The following will probably work for any g++ version 2.8 and 2.9, though it was only tested on 2.95.3.  It is known to work for g++ 2.95.3.
1. Put all the source files in a directory.
2. Create a subdirectory called STL and put the SGI STL in this directory.  This can be downloaded for free from http://www.sgi.com/tech/stl/
3. Do "make FPeriod" or "make FProbPeriod" or "make FDense".  This generates the binary executable "FPeriod" or "FProbPeriod" or "FDense".

If you are using g++ version 3.0 or greater you may have compatibility issues when trying to get the SGI STL to work with your compiler.  You may have to make changes to the FPeriod/FProbPeriod/FDense source code, make changes to the SGI STL, or use a different implementation of STL.

If you are using a compiler other than g++, you may or may not have to make modifications to the FPeriod/FProbPeriod/FDense source code, make changes to the SGI STL, or use a different implementation of STL.