Changes by: Brandon Stewart

Grail+ version(s) modified: 3.4.3, 3.4.4

OVERALL NOTES:

* Theres a lot of global namespace pollution ("using std::cerr", etc).
Doing this in implementation files is fine, but not in the header files. A
lot of the changes will include "removed 'using ...'"/"changed 'cerr' to
'std::cerr' in header files.  If the implementation files do not have
"using ...", then I'll change, for example, 'cout' to 'std::cout' to be
consistent.


	-As of 2015-06-29, Grail+ no longer has global namespace pollution.


* I am wrapping Grail+ in "namespace grail{}". I am doing it
piece by piece; instead of just throwing namespace grail around the main
include.h in grail/char, I am doing it in each separate include in the
grail/classes/*/include.h.  This is makes it easier to debug as I
implement namespaces, ensuring that nothing goes wrong.

	-As of 2015-07-03, Grail+ is now in namespace "grail".  The only change
	that would be welcome would be to only have "namespace grail{}" in the main
	include.h file in grail/char, instead of each include.h in grail/classes or
	backbone.


* In order for Grail+ to be properly used as an external library, header
guards will have to be implemented.  This will prevent multiple definition
errors while compiling.

	-INCOMPLETE: may not be required after all.


* array, set, pair, list, pool, and bits have been moved from grail/classes to
grail/backbone.  This is to make Grail have a similar structure to miniGrail.

	-The comments in these classes need to be updated accordingly.


*


-----------------------------------------------------------------------------
grail/Makefile:

- (NO LONGER NECESSARY) changed "linuxCC=gcc" to "linuxCC=g++".  I could not compile
it otherwise.  This file will get overwritten though.  This was done
for testing purposes.


- to compile with gcc, removed "-lm" from linuxFL.  "-lm" has been moved
to grail/char/Makefile.


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

							CHAR

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



grail/char/grail.cpp:

- removed "using std::cerr" so its consistent with other implementation files
- changed all "cerr" to "std::cerr"
- removed "using std::fstream"
- changed all "*stream" to "std::*stream"
- removed "using std::cout"
- changed all "cout" to "std::cout"
- removed "using std::endl"
- changed all "endl" to "std::endl"
- removed "using std::ios"
- changed all "ios" to "std::ios"
- removed "using std::cin"
- changed all "cin" to "std::cin"

grail/char/grail.h:

- added "using namespace grail;".  This will be fine, since nothing will be
including this header except "grail.cpp".



grail/char/include.h:

- Removed "using std::cerr;", and changed 'cerr << "new failed\n";' to:
std::cerr << "new failed\n";
- Removed "using std::istream;"
- Removed "using std::*stream;"
- Removed "using std::cout";
- Removed "using std::ios";
- changed #include's to reflect changes in structure


grail/char/Makefile:

- changed $(CC) $(CCFLAGS) grail.cpp -lstdc++
       to $(CC) $(CCFLAGS) grail.cpp -lm -lstdc++
This was done to ensure gcc can compile Grail on my machine.


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

						BACKBONE

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

grail/backbone/array/array.h:

- removed "using std::istream;"
- removed "using std::ostream;"
- moved "#define	ARRAY_CLASS_DEFINITION" to below
		"#ifndef	ARRAY_CLASS_DEFINITION"
- removed the headers and put them in include.h.  This makes it easier to
wrap in namespace.


grail/backbone/array/defs.h:

- added header guards


grail/backbone/array/fistream.src:

- changed "istream" to "std::istream"
- commented out "#include "stdio.h".  It was not needed.

grail/backbone/array/fostream.src:

- changed "ostream" to "std::ostream"


grail/backbone/array/include.h

- wrapped the majority of the "#include ..." in namespace grail{}.
- moved the necessary headers from "array.h" to here.
- added header guards





grail/backbone/bits/bits.h:

- changed "ostream" to "std::ostream"


grail/backbone/bits/include.h:

- wrapped in namespace grail.
- added header guards


grail/backbone/bits/ostream.src:

- changed "ostream" to "std::ostream"






grail/backbone/list/include.h

- wrapped in namespace grail.
- added necessary headers.
- added header guards

grail/backbone/list/list.h:

- removed "using std::istream/ostream;"
- moved headers to include.h





grail/backbone/pair/include.h

- wrapped in namespace grail.
- added header guards

grail/backbone/pair/istream.src:

- changed "istream" to "std::istream"


grail/backbone/pair/ostream.src:

- changed "ostream" to "std::ostream"



grail/backbone/pool/get.src:

- removed "using std::endl;"
- changed "endl" to "std::endl"


grail/backbone/pool/include.h:

- wrapped in namespace grail.
- added header guards.




grail/backbone/set/include.h:

- added necessary headers from set.h
- wrapped in namespace grail.
- added header guards.


grail/backbone/set/ostream.src:

- changed "ostream" to "std::ostream"


grail/backbone/set/set.h:

- removed "using std::istream/ostream;"
- moved headers to include.h







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

						CLASSES

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






grail/classes/afa/acceptance.src:

- removed "using std::istream/ostream;"
- changed all "cerr" to "std::cerr"
- moved header files to include.h


grail/classes/afa/afa.h:

- Removed "using std::istream/ostream;"
- changed "istream" to "std::istream"
- changed "ostream" to "std::ostream"
- moved header files to include.h

grail/classes/afa/afacomplement.src:

- moved header files to include.h

grail/classes/afa/afaintersection.src:

- moved header files to include.h

grail/classes/afa/afaios.src:

- Removed "using std::istream/ostream;"
- changed "istream" to "std::istream"
- changed "ostream" to "std::ostream"
- moved header files to include.h

grail/classes/afa/afaios.src:

- moved header files to include.h


grail/classes/afa/fmtoafa.src:

- Removed "using std::cout"
- moved header files to include.h

grail/classes/afa/afaunion.src:

- moved header files to include.h


grail/classes/afa/expand.src:

- moved header files to include.h

grail/classes/afa/include.h:

- added necessary headers
- wrapped in namespace grail.
- added header guards.

grail/classes/afa/queue.h:

- changed all "cerr" to "std::cerr"


grail/classes/afa/reverse.src:

- changed all "cerr" to "std::cerr"



grail/classes/afa/same_input_nonzero_state_cat.src:

- changed all "cerr" to "std::cerr"


grail/classes/afa/same_input_union.src:

- commented out headers


grail/classes/afa/star.src:

- changed all "cerr" to "std::cerr"


grail/classes/afa/dnf/function.h

- removed "using std::ostream;"
- changed all "istream" to "std::istream"
- changed all "ostream" to "std::ostream"
- commented out header files


grail/classes/afa/dnf/function.src

- commented out headers


grail/classes/afa/dnf/functios.src

- removed "using std::cerr;"
- changed all "cerr" to "std::cerr"
- removed "using std::istream;"
- changed all "istream" to "std::istream"
- removed "using std::ostream;"
- changed all "ostream" to "std::ostream"
- removed "using std::endl;"
- changed all "endl" to "std::endl"
- commented out headers

grail/classes/afa/dnf/substitute:

- commented out headers


grail/classes/afa/dnf/term.h:

- removed "using std::istream;"
- changed all "istream" to "std::istream"
- removed "using std::ostream;"
- changed all "ostream" to "std::ostream"

grail/classes/afa/dnf/termsim.src:

- commented out headers.








grail/classes/atstate/include.h:

- added header guards
- wrapped in namespace grail





grail/classes/fcm/fcm.h:

- changed all "istream" to "std::istream"


grail/classes/fcm/findlev.src:

- commented out header


grail/classes/fcm/fmtofcm0.src:

- changed all "ofstream" to "std::ofstream"


grail/classes/fcm/fmtofcm0.src~:

- changed all "ofstream" to "std::ofstream"


grail/classes/fcm/include.h:

- added necessary header
- added header guards
- wrapped in namespace grail


grail/classes/fcm/istream.src:

- changed all "cerr" to "std::cerr"
- changed all "istream" to "std::istream"


grail/classes/fcm/ostream.src:

- changed all "ostream" to "std::ofstream"










grail/classes/fl/fl.h:

- changed all "istream" to "std::istream"
- changed all "ostream" to "std::ostream"


grail/classes/fl/include.h:

- added header guards
- wrapped in namespace grail

grail/classes/fl/istream.src

- changed all "istream" to "std::istream"
- changed all "istrstream" to "std::istrstream"


grail/classes/fl/ostream.src

- changed all "ostream" to "std::ostream"










grail/classes/fm/ad_matrix.src:

- commented out headers


grail/classes/fm/compment.src:

- commented out headers


grail/classes/fm/dfaunion.src:

- changed all "cerr" to "std::cerr"


grail/classes/fm/dynarray1.cpp:

- commented out headers


grail/classes/fm/findlev.src:

- commented out headers


grail/classes/fm/flsubclose.src:

- changed all "cerr" to "std::cerr"


grail/classes/fm/fm.h:

- re-added "friend class Generator;" in class fm.  This was in the older Grail
that came with LISA when I downloaded it.  As such, this may get removed.
- changed all "istream" to "std::istream"
- changed all "ostream" to "std::ostream"
- commented out headers


grail/classes/fm/include.h:

- added headers from src files
- added header guards
- wrapped in namespace grail


grail/classes/fm/istream.src:

- changed all "istream" to "std::istream"


grail/classes/fm/nfatodfca_forTest.src:

- changed all "ofstream" to "std::ofstream"


grail/classes/fm/number.src:

- changed all "ofstream" to "std::ofstream"


grail/classes/fm/order.src:

- changed all "ofstream" to "std::ofstream"


grail/classes/fm/ostream.src:

- changed all "ostream" to "std::ostream"



grail/classes/fm/ostream.src:

- changed all "ostream" to "std::ostream"


grail/classes/fm/permutation:

- commented out header


grail/classes/fm/fastgap/fastgap.src:

- commented out header





grail/classes/inst/include.h:

- added necessary headers
- added header guards
- wrapped in namespace grail.


grail/classes/inst/inst.h:


- removed "using std::istrstream"
- changed all "istream" to "std::istream"
- commented out headers


grail/classes/inst/istream.src:

- changed all "cerr" to "std::cerr"
- changed all "istream" to "std::istream"
- changed all "istrstream to std::istrstream



grail/classes/inst/ostream.src:

- changed all "ostream" to "std::ostream"








grail/classes/mealy/dmember.src:

- changed all "cerr" to "std::cerr"


grail/classes/mealy/include.h:

- added header guards
- wrapped in namespace grail


grail/classes/mealy/mealy.h:

- changed all ostream to std::ostream


grail/classes/mealy/ostream.src:

- changed all ostream to std::ostream








grail/classes/re/fill.src:

- changed all "istream" to "std::istream"


grail/classes/re/fmtore:

- commented out header
-


grail/classes/re/include.h:

- added necessary headers
- added header guards
- wrapped in namespace grail


grail/classes/re/istream.src

- changed all "istream" to "std::istream"
- changed all "istrstream" to "std::istrstream"


grail/classes/re/ostream.src

- changed all "ostream" to "std::ostream"


grail/classes/re/minuseq.src:

-


grail/classes/re/parse.src:

- changed all "istream" to "std::istream"


grail/classes/re/print.src:

- changed all "ostream" to "std::ostream"


grail/classes/re/re.h:

- changed all "istream" to "std::istream"
- changed all "ostream" to "std::ostream"


grail/classes/re/term.src:

- changed all "cerr" to "std::cerr"
- changed all "istream" to "std::istream"


grail/classes/re/token.src:

- changed all "cerr" to "std::cerr"
- changed all "istream" to "std::istream"








grail/classes/state/include.h:

- added necessary headers
- added header guards
- wrapped in namespace grail


grail/classes/state/istream.src:

- changed "istream" to "std::istream"


grail/classes/state/ostream.src:

- changed "ostream" to "std::ostream"


grail/classes/state/state.h:

- removed "using std::istream/ostream;"
- removed "using std::istream/cout;"
- commented out headers




grail/classes/string/include.h:

- added necessary headers
- added header guards
- wrapped in namespace grail.

grail/classes/string/istream.src:

- changed "istream" to "std::istream"
- changed "istrstream" to "std::istrstream"
- moved header to include.h


grail/classes/string/ostream.src:

- changed "ostream" to "std::ostream"


grail/classes/string/string.h:

- removed "using std::istream/ostream;"
- moved headers to include.h






grail/classes/cfg/cfg.h:

-removed "using ostream/istream"
- changed "istream" to "std::istream"
- changed "ostream" to "std::ostream"
- changed "../array/array.h" to "../../backbone/array/array.h"
