Overview:

	The stack.cpp file contains three classes, Node, List, and Stack, which together 
	create a simple stack object that can be used to store and retrieve data.  
	There is also a simple main() function which creates a stack, pushes some values onto 
	it, and then pops and prints them.
	
	
Compilation:

	This code has been shown to compile using g++ 3.2.3 on Windows XP Professional SP2, 
	and should compile equally well on Linux using the same (or newer) version of g++.  
	It should also compile in MS Visual Studio, but this has not been tested or verified.
	When using g++, the invocation is "g++ graph.cpp".
	
	
Usage:  
	
	In its current state, the code requires no user-interaction.  If compiled with the 
	above command, the program may then be run by typing "a.exe" (on Windows), or 
	"./a.out" (on Linux).  You will then see some information printed to your console, 
	and the program will terminate.  
	
	
Specifications:

	The Stack class (which is the only provided class that should need to be utilized directly)
	manages a linked-list of strings.  It provides the standard push(), pop(), and peek()
	methods for storing and retrieving data.  The push() function takes as aparamater a 
	string, and pushes it on top of the stack.  The pop() and peek() functions both 
	return the string that happens to be at the top of the stack, with the difference 
	between the two being that peek() does not remove it from the stack, while pop() does.
	
	Although the calculator project requires 3 stacks of different type, one for characters (the 
	parenthesis stack), one for integers (the value stack), and one for strings (the operator 
	stack), it is possible to use a string stack in each instance and still produce a correct 
	implementation.  If you want to however, it should not be too difficult to modify the 
	Node class so that it supports any data type (by making it a template class).  Some minor 
	changes will also be necessary to the Stack class and the List class.  Note however that 
	this change is not necessary at all in order to correctly implement the project.
	
	It should also be noted that while functional, none of these classes should be considered 
	to be 'perfect,' and each one could use a little bit of improvement.  For example, template
	classes could be used to make the code more reusable, and none of the List/Node/Stack 
	classes contain print() methods.  However, the provided classes should be adequate for 
	completing the calculator project if you do not have your own variants and/or if you 
	do not want to use the STL stack class.
	
	The existing code in main() creates an empty stack and the pushes some test strings to it.  
	It then proceeds to pop() and peek() from the stack, printing output as it goes.  The comments 
	in the main() function in stack.cpp describe what output should be generated by this test 
	sequence, but for the sake of convenience, it should print:
	
		3
		2
		2
		2
		1
		NULL
		done
	
	For easier distribution and compilation, the code for both classes and the main() program is 
	in a single monolithic file.  You may wish to break it up into smaller files once you have 
	it on your PC, but this is at your discretion.
	

Known Issues:

	Aside from the aforementioned limitations, there are none, although it 
	should be noted that these classes have *not* been thoroughly tested.