diff --git a/C_C++/flex/modifications.txt b/C_C++/flex/modifications.txt
new file mode 100644
index 0000000..e7c8731
--- /dev/null
+++ b/C_C++/flex/modifications.txt
@@ -0,0 +1,2363 @@
+/*
+
+HLA Modification History:
+
+v1.22: Started maintaining this info here (was on Webster, previously).
+
+7/5/2000-	Corrected a problem with pass by result & val/result parameters
+			in a nested function.
+
+7/12/2000-	Modified lookup so that it allocates the lower case ID on
+			the stack rather than the heap.  This cleaned up some
+			unrelated (though not found yet) problems.  Also added
+			a kludge to the "Anyexpr:UndefID" production; removed a
+			call to "FREE2" in order to solve a prgm crash defect.
+
+7/13/2000-	Corrected a defect in the array.index macro.  It incorrectly
+			checked for an array bounds violation in standard arrays.
+			Added the ability to use TYPE names and anonymous variables
+			in the array compile-time functions (e.g., @Arity, @NumElements,
+			and @dim).
+
+8/3/2000-	Added #includeOnce directive to the language.
+
+10/3/2000-	Corrected a defect dealing with forward static constant references
+			in class procedures, iterators, and methods.
+			Also corrected a defect when "this." was followed by an undefined
+			symbol (NULL pointer error).
+
+10/5/2000-	Fixed a defect in CopySymbols.  It was not duplicating the 
+			StaticName field and this created problems with overridden
+			methods during assembly (changes to the StaticName field were
+			reflected in all methods that overrode the original method since
+			they all shared the same static name).
+			
+10/10/2000-	Fixed several defects related to dangling pointers.  The
+			Class code assumed that the "hidden" local symbol table entry
+			for a procedure/method name had a unique StaticName field and
+			this wasn't the case.  Freeing this storage created problems.
+
+10/13/2000-	Modified ClassifyLookup routine to handle references of the
+			form "this.XXXX" in compile-time functions.  Also fixed a
+			defect with FORWARD variable and type declarations
+			(e.g., type XXX:FORWARD(YYY);).  Previous code mistakenly
+			assigned text "YYY" to XXX rather than "XXX" to YYY.
+			
+10/28/2000-	Added support for MMX Instructions.
+
+11/28/2000-	Modified Namespaces to allow an extension of an existing namespace
+			by simply specifying the existing namespace identifier in a new
+			NAMESPACE..END block.  Corrected a problem with the ALIGN directive
+			in RECORD and UNION declarations.  Also enhanced ALIGN in RECORDs
+			and UNIONs: if it appears at the end of the record or union
+			declaration, then HLA pads the record/union size to the next
+			boundary specified by the ALIGN operand.  Also corrected a defect
+			dealing with the emission of record constants when the ALIGN
+			directive was present in the record definition.	 Updated the
+			time.timerec and date.daterec types in the datetime.hhf module
+			to include aliases for the m/d/y and h:m:s fields (to make input
+			a little easier). 
+			
+12/2/2000	Fixed a problem with code generation when passing an indexed 
+			static variable by reference.  Added GET macro to fileio namespace.
+			Added fileio.append, fileio.rewind, fileio.seek, fileio.rSeek, 
+			fileio.Position, fileio.copy, fileio.move, fileio.truncate,
+			fileio.size, fileio.delete, fileio.cd, and fileio.gwd
+			functions to the standard library.
+			
+***** Version 1.22 Release Occurred Here ********
+			
+12/8/2000	Corrected a problem with the code generation for the
+			external __imp__MessageBoxA@16 declaration (used for exception
+			handling).  Changed "EXTERN" to "EXTERNDEF on output so you
+			don't have to link with MS' library if you're writing a DLL
+			or code that links with some other language (i.e., no HLA
+			main program).
+			
+***** Version 1.23 Release Occurred Here ********
+		
+
+12/14/2000	Added the @trace pseudo-variable to emit trace code in the
+			HLA output as a sort of "poor-man's" debugging facility.
+			Also cleaned up several other internal things inside HLA.
+			Tweaked the GET and PUT macros in fileio. stdout, and stdin
+			so that they do not emit trace calls in the macro expansion.
+
+12/24/2000	Completed BITS module in the standard library and added it
+			to the build.
+
+			
+***** Version 1.24 Release Occurred Here ********
+
+12/29/2000	Corrected problems with some MMX instructions (EMMS crashed
+			and instrs did not support anonymous memory references).
+
+12/30/2000	Added untyped pass by reference parameters (var x:var).  Moved
+			?abstract exception handler out of main code (automatically
+			generated by the compiler) and placed it in its own library
+			routine (to allow user modification).  Modified the compiler
+			so that it doesn't automatically emit exception handling
+			code.  All the exception handling routines were added to the
+			HLA Standard Library.  Added the @exceptions pseudo-variable
+			to control the emission of the exception handling code (if
+			@exceptions is true, HLA calls the full exception handling
+			package in the library, if false, HLA calls a minimal, truncated
+			version).  The work with exceptions was done to allow the user
+			to write their own exception handling code.  Fixed a problem
+			with memory corruption when executing CMP( anonmem, &pointerconst);
+			Modified the PEA instruction to emit better code.
+
+1/1/2001	Corrected a defect in the compilation of anonymous memory objects
+			passed as VAR parameters to a procedure. Added SEGMENT declaration
+			section.
+
+1/2/2001	Added #code, #static, #readonly, #storage, and #const directives
+			to let the user rename the HLA segments.  Modified the compiler
+			to output ".link" files and modified HLA.C to use the .link files
+			(they contain segment definitions).  Did some internal clean up
+			of the code.
+
+1/3/2001	Got rid of anonymous union fields in datetime.hhf records.
+			Changed segment names to _TEXT, _DATA, _BSS, readonly, and
+			CONST.  Mapped _TEXT to .text, _data to .data, _BSS to .bss,
+			and CONST to .data during link.  Changed segment alignment
+			to PARA.  Add "-m" option to HLA (create map file).
+
+1/4/2001	Removed PEA and SET (extended syntax) instructions.
+
+
+1/6/2001,
+1/7/2001	Reorganized the HLAPARSE.BSN file, removing more than 30,000
+			lines of code (without any significant feature loss).  Modified
+			the build to allow more stack space at run-time. Modified the
+			parsing of the string instructions.  Changed SETcc and Jcc
+			instruction parsing.				
+
+***** Version 1.25 Release Occurred Here ********
+
+2/1/2001	
+	*	Rewrote the boolean expression parser for HLA HLL statements.
+	*	Added Conjunction (AND), Disjunction (OR), and NOT (!) operators.
+	*	Modified the compiler to emit data and external/public declarations
+		to separate files that the assembler can include during the
+		assembly phase.  
+	*	Changed the output segment declarations to use
+		the "simplified segment directives" by default (to improve
+			compatibility with other languages).  
+	*	Began moving code generation statements from the Bison file to 
+		the "output.c" file in hopes of localizing the code generation 
+		to make it easier to emit code for other assemblers.  
+	*	Added the TASM compatible output mode to HLA's code generator.  
+	*	Corrected a defect dealing with duplicate symbols in the static 
+		section that were declared to be arrays.
+	*	Corrected several problems with passing parameters (especially
+		constant array parameters).  
+	*	Improved the efficiency of several parameter code generation 
+		sequences.  
+	*	Eliminated several code generation sequences that would yield 
+		operands like "dword ptr (byte ptr xxxx)" in hopes of improving 
+		portability to other assemblers.  
+	*	Removed a pair of extraneous pops from the u16ToStr function.  
+	*	Completely redid the command line processing for HLA.EXE and 
+		HLAPARSE.EXE (many new command line options were added).  
+	*	Modified the compiler to emit PUSHD and PUSHW instructions only 
+		with constant operands.  
+	*	Began modifying the compiler to emit "<type> ptr" before all 
+		memory operands (even if not strictly necessary).  
+	*	Corrected a defect that erroneously produced an error if a 
+		local symbol was spelled the same as a global symbol except for 
+		alphabetic case.
+	*	Also corrected a defect dealing with errorneous errors if a
+		record/union field was spelled the same as a global symbol
+		except for case.
+	*	Corrected a defect associated with local/global symbol name
+		conflict (case neutrality) between the parameters of an
+		externally declared procedure that was defined locally and
+		a global symbol.  
+	*	Corrected a defect associated with the output of string objects 
+		in record constants.  
+	*	Modified exception handler's call to MessageBox so that the window 
+		is always topmost.  
+	*	Added a "constant folding" optimization on strings: HLA now only 
+		emits a single copy of each unique string to the *.consts.inc file.  
+	*	Improved code generation when passing small array constants as 
+		parameters.
+	*	Started code generation for GAS and NASM assemblers.
+	*	Added CDECL, PASCAL, and STDCALL options to procedures.
+	*	Modified compile-time uns8, uns16, byte, and word
+		functions to clear the H.O. bits of their operand.
+	*	Modified the compile time int8 and int16 instructions to
+		set the H.O. bits of their operand if they are negative or
+		clear the H.O. bits if they are positive.
+	*	Added anonymous records to unions.
+	*	Added support for "readonly undefID: pointer to userType; external;"
+	*	Added support for "readonly undefID: pointer to builtinType; external;"
+	*	Eliminated the DATA declaration section (use NOSTORAGE option on
+		declarations in the STATIC section instead).
+	*	Replaced "long double" operations in C with calls to a real80 floating
+		point package written in assembly to allow portability to other
+		compilers (e.g., VC++ and GCC).
+	*	Corrected a defect with the comparison of two static constants
+		(e.g., " &xyz = &xyz ") that didn't take into account the fact
+		that HLA generates different internal names for each instance
+		of the same static constant.
+	*	Changed "=" to "==" when checking for EOS in the @WSorEOS function.
+		Ditto in @WSthenEOS.
+	*	Corrected the fact that HLA v1.25 did not report an error when
+		you used an expression like << if(strvar = "" ) then >>
+		which should be illegal (string constants are memory objects).
+	*	Corrected a defect in @peekWS - it was not returning the proper
+		extracted string. Ditto for @EOS.
+	*	Made several corrections in the program where the code assumed
+		that "isdigit" returned 0 or 1 (it returns 0/not 0).
+	*	Corrected a defect in counting lines in the #text..#endtext section.
+	*	Eliminated a spurious "PRINTF" from matchmemfunc.
+	*	Removed @memory pattern matching function (because it was never
+		documented, it didn't work properly, and it was a lot of code).
+	*	Removed *isexpr for the same reasons as above.
+	*	Corrected a defect in the @IsMem function (it was erroneously
+		calling FreeAdrs).
+	*	Corrected a defect that caused a seg fault when attempting to
+		call the thunk associated with a pass by name or lazy evaluation
+		parameter.
+	*	Corrected a problem when attempting to call an pass by name or
+		pass by lazy parameter using an index after the name.
+	*	Corrected the problem with calling procedure pointers within a
+		class (was indexing off EDI rather than ESI).
+	*	Fixed a defect that caused a seg fault when attempting to call
+		a procedure pointer that was a class member with an index
+		attached to it.
+	*	Corrected a system crash that occurs when the code attempts to
+		call certain non-procedure objects.
+	*	Corrected a defect when calling a procedure indirectly through
+		a variable declared with a type name.  The procedure type had
+		a parameter list.  The code was not using the proper pointer to
+		the procedure list in the symbol table.
+	*	Fixed a crash that occurs when calling a class procedure when
+		using instruction composition.
+	*	Corrected a problem with the BOUND instruction complaining about
+	    a range error when the range was fine.
+	*	Moved BOUND instruction constant output from the ReadOnly segment
+		to the constants segment.
+	*	Corrected a problem with checking for the bounds of a character
+		value in a character set constant with a range of characters.
+	*	Corrected a defect with the addressing modes "[reg][const]",
+		"[reg+reg*n][const]", and "[reg][reg*n][const]".
+	*	Corrected a segment fault that occured when passing parameters
+		to a class procedure that doesn't exist.
+	*	Modified emitted labels to use a "$" prefix rather than a "?"
+		prefix (to help with Gas compatibility).
+	*	Corrected a defect in the @Class compile-time function (it was
+		not returning the class of the correct symbol).
+	*	Corrected a defect in the @size function when computing the size
+		of an object involving type coercion.
+	*	Corrected a crash that occurred when attempting to use @typename
+		on a register.
+	*	Fixed a type for tstralloc in the memory.hhf header file.
+	*	Corrected a defect in fdlcw to allow anonymous memory operands.
+	*	Corrected a problem with pat.zeroOrMorePat, pat.oneOrMorePat,
+		and pat.pattern that prevented them from setting up EBX to properly
+		extract their strings.
+	*	Corrected pat.zeroOrMorePat, pat.oneOrMorePat, and pat.pattern
+		so that they actually work (changed their syntax to use multi-part
+		macros, too).
+	*	Added bSize, wSize, dSize, and qSize functions to the standard
+		library.
+	*	Corrected a defect in u8ToStr that caused it to modify the value
+		of EDX on return.
+	*	Added -D (define) command line option.
+
+***** Version 1.26 Release Occurred Here ********
+
+***** Skipped Version 1.27 because I accidentally released version 1.26
+		with the v1.27 version number ******
+
+
+7/21/2001
+	*	Corrected bad spelling of putcSize procedure (was putcsize).
+
+7/22/2001
+	*	Corrected problem with underscore output in conv.dToStr procedure.
+	*	Corrected fputq to use the proper field width if underscores is true.
+	*	Corrected problem with underscore output in conv.qToStr procedure.
+	*	Added "fill" and "size" parameters to fputtb call.
+	*	Corrected problem with underscore output in conv.tbToStr procedure.
+
+7/24/2001
+
+	*	Fixed a problem that caused a crash when attempting to use a
+		pointer to a record type (rather than the record type) in
+		a type coercion operation.
+
+	*	Fixed the output of an array of pointers initialized with the 
+		NULL constant.
+
+	*	Corrected a code generation problem that occurred when passing a 
+		pointer as a var parameter and the base type of the pointer did 
+		not match the base type of the var parameter.
+
+7/28/2001
+	
+	*	Modified error message for "missing colon" to suggest that the
+		cause might be an undefined identifier.
+
+9/12/2001
+
+	*	Modified HLA.C to put quotes around user-supplied filenames in
+		command line arguments to handle the case where the pathnames
+		contained interior spaces.
+
+***** Version 1.28 Release Occurred Here ********
+
+9/28/2001
+
+	*	Corrected a defect in fileio.pute80 (it was pushing too many
+		parameters in the call to conv.e80ToStr).
+	*	Added str.index2/str.rindex2 functions to the standard library.
+	*	Added str.chpos2/str.rchpos2 functions to the standard library.
+	*	Modified prototypes for string comparisons to use "AL" as the
+		RETURNS value rather than EAX (for use in boolean expressions).
+	*	Modified the compiler to handle filenames that contain paths to
+		a file (removed the paths from the "include" directive emitted
+		by the compiler).
+	*	Added str.prefix/str.prefix2 functions to the standard library.
+
+9/29/2001
+
+	*	Added a check for NULL pointers to the cs.strToCset function.
+	*	Added a cs.strToCset2 procedure to the standard library.
+	*	Added a check for NULL pointers to the cs.removeStr function.
+	*	Added a cs.removeStr2 function to the standard library.
+	*	Added a check for NULL pointers to the cs.unionStr function.
+	*	Added a cs.unionStr2 function to the standard library.
+	*	Modified prototype for str.init to pass byte array as an
+		untyped VAR parameter rather than BYTE.
+	*	Added conv._bsize function and modified the conv.bsize function
+		to take a BYTE parameter.
+	*	Added conv._wsize function and modified the conv.wsize function
+		to take a WORD parameter.
+	*	Added conv._dsize function and modified the conv.dsize function
+		to take a DWORD parameter.
+	*	Added conv._i8size function and modified the conv.i8size function
+		to take an int8 parameter.
+	*	Added conv._i16size function and modified the conv.i16size function
+		to take an int16 parameter.
+	*	Added conv._i32size function and modified the conv.i32size function
+		to take an int32 parameter.
+	*	Added conv._u8size function and modified the conv.u8size function
+		to take an uns8 parameter.
+	*	Added conv._u16size function and modified the conv.u16size function
+		to take an uns16 parameter.
+	*	Added conv._u32size function and modified the conv.u32size function
+		to take an uns32 parameter.
+	*	Modified HLA.c to use only the ".link" file of the first ".HLA"
+		source file appearing on the command line.
+
+***** Version 1.29 Release Occurred Here ********
+
+9/29/2001
+
+	*	Corrected an error in the "USAGE" message output of hla.c.
+
+11/03/2001
+
+	*	Corrected a defect associated with using INHERITS in records and
+		classes (couldn't refer to types outside the record during the
+		record's declaration).  Corrected by duplicating inherited fields
+		rather than just linking.
+	*	Added the OVERRIDES keyword to override inherited field declarations
+		in the current record or class.
+
+***** Version 1.30 Release Occurred Here ********
+
+11/04/2001
+
+	* 	Corrected a defect dealing with nested anonymous records and unions.
+	*	Allowed pointer constants as operands of user-defined pointer types
+		in static and readonly sections, e.g.,
+
+			ptrType  &ptrConst
+
+12/04/2001
+	*	Corrected a defect with Case Neutrality and updated several standard
+		library and example program names that failed case neutrality.
+		Probably reintroduced the defect the changes in HLA v1.25 attempted
+		to correct, but that was a smaller problem.
+
+	*	Implemented a different solution to catch case-neutrality errors.
+
+12/05/2001
+	*	Corrected an assertion fault that occurred when attempting to
+		access a field of a symbol that doesn't have any fields.
+
+12/07/2001
+	*	Corrected a problem with the computation of field offsets in anonymous
+		records and unions.
+
+	*	Corrected a couple of defects with the way ALIGN worked in anonymous
+		records and unions.
+
+12/08/2001
+         	*	Corrected a problem with operator precedence in memory index
+		expressions.  Previously, [ebx-a+b] was calculated as [ebx-(a+b)].
+		Modified it to correctly compute it as [ebx + (-a) + b].
+
+	*	Corrected a major defect in the str.cat standard library procedure
+		(it was copying too much data when concatenating strings).
+
+02/12/2002
+
+	*	Modified str.substr and str.a_substr so that they properly zero-
+		terminated the strings they extract.
+
+	*	Modified prototypes for str.tokenize and str.tokenize2 so that they
+		use an untyped variable type for the destination array.
+
+02/13/2002
+
+	*	Corrected a defect that crashed HLA when passing an untyped VAR
+		parameter as a parameter that is also an untyped var parameter.
+		
+02/16/2002
+
+	*	Added "frame", "display", "alignstack", and "use" procedure options.
+		Added #frame, #noframe, #display, #nodisplay, #alignstack, and
+		#nostackalign directives.  Added code to support "use" option and
+		optimize certain parameter passing code sequences.
+		
+	*	Modified "call <id>;" so that it allows undefined statement labels.
+	
+	*	Added "label" declaration section to support forward referenced
+		statement labels.
+		
+	*	Changed "noalignstk" to "noalignstack"
+		
+02/17/2002
+
+	*	Corrected a problem with macro parameter/local symbol lookup.
+	
+	*	Cleaned up parameters to hundreds of function calls to allow
+		compilation with GCC (preparation for port to Linux).
+		
+02/20/2002
+
+	*	Corrected a defect in the way the exception handler record
+		was built on the stack (affected coroutine operation).
+
+	*	PUSHD( &mem );  compiled incorrectly, fixed this.
+	
+02/21/2002
+
+	*	Changed display, alignstack, frame, and use to @display,
+		@alignstack, etc.  Added @noalignstack, @nodisplay, etc.
+		(left original reserved words, though they are depreciated).
+		Also added @cdecl, @pascal, and @stdcall.
+		
+	*	Added #openwrite, #write, #closewrite, #openread, and #closeread
+		compile-time statements and the @read compile-time function.
+		
+	*	Added #enter, #noenter, #leave, and #noleave directives.  Also
+		added @enter, @noenter, @leave, and @noleave procedure options.
+		
+03/07/2002
+
+	*	Added "@{ numset }" numeric set for creating dword values
+		as a set of bits.
+		
+	*	Certain static array declarations with initializers weren't
+		checking to make sure the array constant had the same number
+		of elements as the declaration.  Corrected this defect.
+		
+	*	When there was a previous (external/forward) array declaration,
+		the code did not check to make sure the number of elements
+		were the same in the declaration and the definition.
+		
+	*	Cleaned up the source code a little bit (merged common code).
+	
+03/08/2002
+
+	*	Modified type checking to allow the assignment of an array
+		of pointers to a dword array.
+		
+	*	Modified HLL.HHF's SWITCH definition to specify the proper
+		number of array elements in the jump table for the SWITCH
+		statement.
+		
+	*	Corrected a defect in _utoEvars.hla (numeric to English
+		conversion tables).
+		
+	*	Modified type checking to allow pointers and dwords to be
+		compatible.
+		
+	*	Corrected a type error in the str.strvar macro (strings.hhf).
+	
+	
+03/09/2002
+
+	*	Fixed a problem with compile time functions that allowed
+		built-in type names as parameters (used to fail if inside
+		a namespace).
+		
+	*	Corrected some problems with namespace symbol table searches.
+
+
+***** Version 1.32 Release Occurred Here ********
+(note that 1.31 was an interim release)
+
+03/15/2002
+
+	*	Fixed a size computation that produced the wrong value
+		when computing the size of an array that had been previously
+		declared as external.
+		
+	*	Modified definitions for NULL and NIL in memory.hhf so that
+		they were of type DWORD rather than uns32 (to be compatible
+		with pointer types).
+		
+	*	Corrected a defect in the code generation for the "elseif"
+		statement (bad target label emission).
+
+03/17/2002
+
+	*	Fixed a code generation problem with "intmul( mem, reg);"
+	
+	
+03/20/2002
+
+	*	Corrected a bug that crashed HLA if you passed an intermediate
+		variable by reference without a base register.  This fix
+		also corrected a few other problems that occurred when there
+		were errors passing a parameter to a procedure.
+		
+	*	Modified assertion macro to emit filename and line number
+		when an assertion fails.
+		
+03/22/2002
+
+	*	Changed macro->#macro, keyword->#keyword, terminator->#terminator,
+		and endmacro->#endmacro.  Eliminated nodisplay, noframe, noenter,
+		noleave, nostackalign, nostorage, use, display, etc. (must now 
+		use the options @nodisplay, @nostorage, @noframe, etc.).
+		
+	*	Updated existing library and example code to eliminate references
+		to the eliminated reserved words (above).
+		
+	*	Corrected a code generation problem in "elseif(#{ stmts }#) then..."
+		(was generating a bad label).
+		
+	*	Corrected a bad external name (link problem) in the coroutines
+		package.
+		
+	*	Corrected code generation for pointers in the BSS segment.
+	
+	*	Fixed a problem with LEA code generation.
+	
+	*	Corrected a problem with comment emmission to the output file.
+	
+03/23/2002
+
+	*	Did a range check on the upper and lower bounds of boolean
+		expressions of the form "reg in lower..upper" and
+		"reg not in lower..upper"
+		
+03/27/2002
+
+	*	HLA was not parsing MMX Shift instructions correctly.
+		Corrected HLA so that it now handles immediate shift
+		constants correctly and does not allow a memory
+		operand as the shift count.
+		
+	*	Dropped the requirement of a semicolon (";") after
+		the #endmacro to make #endmacro more in line with
+		other compile-time statements (note that you can
+		still put a semicolon there because semicolons are
+		optional in the declaration section).
+		
+	*	Added "external" clause to label declarations.
+	
+03/28/2002
+
+	*	Corrected a problem with the processing of procedure
+		parameters (crashed when certain types weren't correct;
+		also had problems dealing with anonymous procedure
+		parameter declarations).
+		
+03/29/2002
+
+	*	Added support for the following instructions:
+			arpl, clts, cmpxchg8b, hlt, invd, invlpg, lar,
+			lds/les/lfs/lgs/lss (32-bit versions only),
+			lidt, lgdt, lldt, lock.add, lock.adc, lock.and,
+			lock.btc, lock.btr, lock.bts, lock.cmpxchg,
+			lock.dec, lock.inc, lock.neg, lock.not, lock.or,
+			lock.sbb, lock.sub, lock.xor, lock.xadd, and lock.xchg
+			
+		Note: LMSW and SMSW are obsolete 286 instructions and
+		were left out of the above set 'by design.'
+		
+03/30/2002
+
+	*	Added support for the following instructions:
+			lsl, mov w/segregs
+			
+03/31/2002
+	
+	*	Added support for the following instructions:
+			push segregs, rdmsr, rdpmc, rsm, sgdt, sidt,
+			sldt, str, ud2, verr, verw, and wbinvd. 
+			
+04/01/2002
+
+	*	Added support for addressing modes of the forms:
+			[reg32*scale], [reg32*scale+disp], and
+			[reg32*scale][disp]  (these modes are mainly
+		useful in conjunction with the LEA instruction.
+			
+04/06/2002
+
+	*	Removed #display/#nodisplay, #alignstack/#noalignstack,
+		#frame/#noframe, #enter/#noenter, and #leave/#noleave
+		statements and replaced them by the use of the compile-
+		time variables @display, @nodisplay, @alignstack,
+		@noalignstack, @frame, @noframe, @enter, @noenter,
+		@leave, and @noleave.
+
+
+***** Version 1.33 Release Occurred Here ********
+
+04/10/2002
+	
+	*	Corrected a problem with #ASM..#ENDASM not working properly
+		in macros and #while loops.
+		
+04/11/2002
+
+	*	Corrected a problem with the use of int32 values in array
+		indexes in the compile-time language.
+		
+04/16/2002
+
+	*	Corrected a defect in namespaces (wasn't properly checking
+		for forward pointer references).
+		
+	*	Added @returns, @forward, @external, and @align as synonyms
+		for returns, forward, external, and align in preparation
+		for eliminating the non-@ identifiers later on.
+		
+	*	Added @locals function that returns fieldnames and local
+		names for records, unions, and procedures/methods/iterators.
+
+	*	Corrected a problem with forward referenced pointers spanning
+		namespace declarations.	
+		
+	*	Added filename field to RefListType so HLA could print the
+		filename along with the line number when a forward pointer
+		isn't resolved (the line number can be in a different file
+		when the error message is finally displayed).
+		
+	*	Removed support for ID`suffix symbols since "`" is used for
+		a different purpose in HLA v2.0.
+		
+04/17/2002
+
+	*	Added field alignment option to records.
+	
+04/19/2002
+
+	*	Added lex level support to records and unions to eliminate
+		a problem that occured when a nested record/union had a fieldname
+		that was the same as the nesting record/union.
+		
+	*	Corrected a problem with the @locals function and records/unions
+		(was listing fieldnames in the reverse order).
+		
+	*	Added '+=' and '-=' operators to compile-time language.
+
+
+***** Version 1.34 Release Occurred Here ********
+
+04/22/2002
+	
+	*	Record constant parsing wasn't correctly reporting some
+		type errors.  Corrected this.
+		
+	*	#print was printing byte, word, dword, etc., as decimal.
+		Corrected this.
+		
+	*	Added the ability to assign an arbitrary pointer constant
+		to a string field of a record constant.
+		
+	*	Complete workover (just short of a complete rewrite) of
+		the record and union code in the compiler.  HLA v1.34
+		changes broke a few things and the 1.34 modifications also
+		exposed a *ton* of problems in the prior code.  Hopefully,
+		these changes have taken care of most of the problems.
+		Major changes included handling negative starting offsets
+		better, handling the alignment directives better, and
+		properly counting fields better.
+		
+04/23/2002
+
+	*	Added the ability to support record alignment and initial
+		offset assignment in the same declaration ( e.g.,
+		x:record[4:4] :=4;)
+		
+	*	Added the ability to specify record alignment option in
+		an anonymous record nested within a union.
+		
+	*	Eliminated the ability to create bare enumeration objects
+		inside a record (e.g., x:record e:enum{a,b,c}; endrecord;)
+		This was problematic because the enum constants became fields
+		of the record and this creates problems down the road. It would
+		have been a *big* pain to move the enum constants out of the
+		record's field list, so I decided to drop this feature since
+		it *never* gets used anyway (one can always create the enum
+		type external to the record and make the field that enum type).
+		
+	*	Added str.constant macro to the HLA Standard Library.
+	
+***** Version 1.35 Release Occurred Here ********
+
+04/23/2002
+	
+	*	Added @string:0 token to allow the initialization of NULL strings.
+	
+04/24/2002
+
+	*	Removed @string:0 and replaced it with the more generic NULL token
+		(useful for all pointer types, not just strings).  Removed the
+		declarations for NULL and NILL from the memory.hhf header file.
+		Also cleaned up a lot of code to avoid printing "offset" or
+		"offset32" (assembler-dependent) when specifying the NULL
+		pointer as an operand (worked fine before, but just to be
+		safe...).
+		
+	*	Added @parms compile-time function that returns the number
+		of parameter bytes for it's procedure operand.
+		
+	*	Changed @locals to @localsyms (given @parms above, @locals
+		suggests that it returns the number of bytes of local variables).
+		
+	*	Corrected a (serious) defect where HLA was miscalculating the
+		offsets of less-than-dword typed parameters.
+	
+04/29/2002
+
+	*	Corrected a bug in the CMOVcc( mem,reg) instruction (wasn't
+		comparing operand sizes properly).
+		
+04/30/2002
+
+	*	Floating point instructions of the form "fadd()", "fsub()",
+		"fmul()" etc were broken (required "faddp()", "subp()", "fmulp()",
+		etc.).  Corrected this problem.	
+	
+05/01/2002
+	
+	*	Corrected a problem with @matchIntConst, @matchRealConst, and
+		@matchNumericConst dealing with strings that did not end with
+		the numeric value being checked.
+		
+05/02/2002
+
+	*	Procedure pointer types were not correctly storing
+		parameter/local variable information in the symbol table.  This
+		caused an assertion failure when creating instances of the
+		procedure types.  Corrected this problem.
+		
+05/04/2002
+
+	*	Modified trim, a_trim, delspace, and a_delspace to remove tabs
+		as well as spaces.
+
+	
+	***** Version 1.37 Release Occurred Here ********
+
+05/08/2002
+
+	*	Eliminated "copyright" message from HLA.EXE (since this is a
+		public domain program).
+		
+	*	Merged the ReadOnly and Const sections into the .text section
+		in order to reduce EXE file size under Windows (this was
+		already the case under Linux).
+		
+05/09/2002
+
+	*	Corrected a defect with passing large parameters by value
+		(calculated parameter size incorrectly).
+		
+05/10/2002
+
+	*	Fixed several defects related to the declarations of
+		labels in the label section.  Also corrected lots of
+		problems with external labels.
+		
+	*	Corrected a defect concerning inherited fields in a record.
+	
+	*	A few memory,const instructions weren't checking the memory
+		operand size to verify it was 8, 16, or 32 bits.  Corrected
+		this.
+		
+05/14/2002
+
+	*	Added the @basereg pseudo-variable that lets a programmer
+		set the base register used for automatic (VAR) variables.
+		(Default is EBP, only allows EBP and ESP.)
+		
+	*	Corrected a defect in the "var := expr;" declaration (offset
+		seemed to get stuck on the value of expr).
+
+	*	In record alignment syntax ("[max:min]") if the minimum value
+		was greater than the maximum value, the code wasn't properly
+		swapping the values.  Corrected this.
+		
+	*	In VAR section, a dcl of the form "p:pointer to procedure abc;"
+		did not calculate the offset of the pointer variable properly.
+		Corrected this.
+		
+	*	Completely reworked the alignment options in the VAR section.
+		Now they match the syntax and semantics of the alignment/offset
+		assignment for records.
+		
+	*	Corrected a problem with constant div and mod operators.  They
+		were not allowing 64-bit or 128-bit operands.
+		
+	*	Corrected a defect in CoerceArrays that was overwriting symbol
+		table information and causing type checking to fail.
+		
+05/15/2002
+
+	*	Put in checks for decimal, binary, and hexadecimal overflow
+		when processing numeric literal constants.
+		
+	*	HLA was using the wrong "size" field when determining how
+		many dwords to push for a constant actual parameter.  Corrected
+		this.
+		
+	*	HLA was computing the size of a constant array element incorrectly.
+		Corrected this.
+		
+05/17/2002
+
+	*	Corrected a problem concerning the linenumber maintanence
+		in the #while loop.
+		
+	*	Allowed the use of any 16-byte or 8-byte value where
+		LWord or QWord parameters are specified.
+		
+	*	Corrected code emission for initialized LWord objects
+	
+	*	Modified HLA to allow hex types to be passed as reference
+		parameters as long as the formal parameter is the same
+		size;  also allowed any parameter the same size as the
+		formal parameter to be passed by reference as long as the
+		formal parameter is a hex type (byte, word, dword, qword,
+		lword).
+		
+	*	Corrected a defect whereby HLA was using the size of
+		a reference parameter (four bytes) rather than the size
+		of the base type to determine if it could pass a dword
+		object in place of a four-byte object.
+	
+	*	Corrected a type checking defect (int64 == uns64 wasn't
+		being handled correctly).
+		
+05/18/2002
+
+	*	Added the (desparately needed) #FOR loop to the compile-time
+		language. Provided three forms: #for( v := s to e ),
+		#for( v := s downto e ), and #for( v in expr ).
+		
+05/20/2002
+
+	*	Implemented union constants in HLA.
+		
+
+	
+	***** Version 1.38 Release Occurred Here ********
+	
+06/03/2002
+
+	*	Implemented a hash table lookup function when dealing
+		with namespaces to speed up compilations involving
+		huge namespaces (e.g., Windows and Linux dcls).
+		
+06/04/2002
+
+	*	Radically reworked the symbol table search code to speed
+		it up a little bit (overall performance gain in HLA was
+		about 25%).
+		
+06/05/2002
+
+	*	Improved diagnostic message when the user doesn't pass
+		enough parameters to a macro.
+		
+06/21/2002
+
+	*	Parameter type checking was computing the size of a 
+		formal parameter incorrectly.  Corrected this.
+		
+	*	The -dID command line option didn't allow identifiers
+		that contained digits.  Corrected this.
+		
+07/07/2002
+
+	*	Added additional UNICODE support ( u'c' and u"sss" plus
+		support for UNICODE in the constant expression evaluator).
+		
+	*	Added the use of the VAL keyword to specify that HLA should
+		use an actual value of a reference parameter rather than
+		taking the address of that actual parameter (e.g., for
+		untyped reference parameters).
+		
+	*	Corrected a problem with code emission for floating point
+		instructions involving integer operands (needed to output size).
+		
+
+		
+	***** Version 1.39 Release Occurred Here ********
+	
+08/15/2002
+
+	*	Added support for hash table lookup in namespaces to speed
+		up the assembler when processing large header files (e.g.,
+		Windows header files).
+	
+09/29/2002
+
+	*	Corrected a problem with the WHILE statement when using the
+		hybrid syntax (bad code generation because of illegal generated
+		labels).
+		
+	*	Added the ability to use the '&' (static address-of) operator
+		on class procedures, methods, and iterators.
+		
+10/20/2002
+
+	*	Corrected yet another code generation problem due to the
+		boolean expression "file backup" kludge in the compiler.
+		
+	*	Also fixed the str.eq and str.ne functions that didn't
+		compute their values properly.
+		
+
+		
+	***** Version 1.40 Release Occurred Here ********
+	
+11/28/2002
+
+	*	Corrected a problem with bad offset computations in anonymous
+		records appearing within anonymous unions.
+		
+	*	Corrected anonymous unions to respect the ALIGN directive
+		appearing immediately before the anon union.
+		
+11/29/2002
+
+	*	More work getting offsets in anonymous unions and records
+		to work properly.
+		
+12/1/2002
+
+	*	Took out the "@use eax;" options from the standard library
+		include files (because if someone specified EAX as a parameter
+		the code would break).
+		
+	*	Fixed _uns64Size function because it failed with 19 digit values.
+
+
+		
+	***** Version 1.41 Release Occurred Here ********
+	
+1/12/2003
+
+	*	Fixed a minor problem with EmitExtern.  In one place in the
+		code it was using a symbol's TrueName rather than its StaticName
+		(generally worked fine, but...).  Also, redid the EmitExtern call
+		to pass a symbol table entry rather than a string (now uses the
+		StaticName field for the string).
+		
+	*	Added code to emit extern/externdef declarations only if there is
+		a reference to the symbol in the code (because some assemblers, like
+		FASM, will tell the linker to link in some code containing an extrn
+		symbol, even if you never reference the symbol).
+		
+1/15/2003
+
+	*	Eliminated a couple of references to the "strings" and "cseg"
+		sections in the exception handling code that resulted in shaving
+		8K off the size of the .EXE file.
+		
+2/1/2003
+
+	*	Modified several standard library routines to correct defects.
+		Allowed the use of EOF (as documented) to terminate numeric
+		input values.  Corrected a bug in fileio.gwd (wasn't saving path
+		length properly and didn't calculate string overflow properly).
+	
+	*	Incorporated corrections to frewind, fposition, fseek, frseek,
+		and feoln in the Linux version of these library functions as
+		as submitted by Mark de Wever.
+		
+2/4/2003
+
+	*	Corrected a defect in @typename.  It was not outputting
+		"pointer to <type>" for pointer types.
+
+2/12/2003
+
+	*	Fixed a type checking problem.  Previously, HLA allowed you to
+		(incorrectly) call a procedure field of a record via a pointer
+		variable to that record object.
+		
+	*	Corrected a problem with the LEA( reg, const <constant> ); stmt.
+	
+	*	Noted the following defect: pointer to a type in a namespace, e.g.,
+		pointer to w.SomeType, fails because lookup isn't aware of the
+		use of the w namespace.  Can't fix this in current design. Work-around
+		is to create a pointer type within the namespace.
+		
+2/18/2003
+
+	*	Modified VAL operator in actual parameter list to allow the passing
+		of some constant for a STRING parameter (passed by value).  Modified
+		the LoadIcon prototype in use32.hhf to specify a string name rather
+		than a dword as the icon name parameter.
+		
+2/21/2003
+
+	*	Corrected a defect with the output of a procedure pointer constant
+		type (wasn't outputting anything).
+
+	***** Version 1.41 Release Occurred Here ********
+	
+3/19/2003
+
+	*	Corrected a problem with the hlatemp environment variable.
+		Added a "\" to the end of the path if one wasn't supplied in
+		the environment string.
+		
+	*	Modified hla.exe to create a ????._link_ file with all the linker
+		command line options because under WinXP the linker wasn't executing
+		properly (not an HLA problem, but a workaround to a bug in BC++ or
+		in windows XP).
+		
+	*	Corrected a problem with some code that was (accidentally) taken
+		out of HLA.FLX - wasn't handling end of _initialize_ and _finalize_
+		strings properly.
+		
+	*	Corrected a code generation problem with thunks that must have slipped
+		in during development of v1.42.
+		
+	**** Releases 1.42..1.46 occurred in quick succession here ****
+	
+4/02/2003
+
+	*	Added support for SSE/SSE2 instruction set (not complete yet!)
+	
+4/12/2003
+
+	*	Corrected a defect in the @offset operator.  Supplying an undefined
+		symbol crashed the assembler with an assert failure.
+		
+	*	HLA had a defect where it would allow the emission of two VMTs
+		for a class without reporting an error (though MASM would report
+		a duplicate symbol error).  Added code to track the emission of
+		VMTs and emit an error if the user attempted to emit two copies
+		of the same VMT.
+		
+	*	Extended strings to allow labels upto 64 characters in length
+		in the output code.
+		
+4/13/2003
+
+	*	Added ~XXXX reserved word support to the lexer;  added "reservedWords"
+		array to allow the user to redefine reserved words without the "~"
+		prefix.  Added #ID(xxxx) and #RW(xxxx) items to the lexer.
+		
+	*	Added endconst, endval, endtype, endvar, and endlabel reserved words.
+	
+	*	Allowed the use of endlabel, endconst, endval, endtype, endvar,
+		endstatic, endstorage, and endreadonly reserved words at the end
+		of one of their declaration sections within an HLA declaration section.
+		
+4/15/2003
+
+	*	Added compile speed statistics to HLAPARSE when operating in verbose
+		mode
+		
+	*	Fixed another minor problem with @offset (and undefined symbols).
+	
+	*	Added support for Real128 (actually done earlier, but I forgot to
+		mention it).
+		
+	*	Fixed a problem with #FOR if the condition was false the first
+		time through the loop.
+		
+	*	Added support to emit WSTRING and WCHAR data to the output data
+		files from the STATIC and READONLY sections.
+		
+4/18/2003
+
+	*	Corrected a defect when calling an indirect pointer to a procedure
+		that is a static field of some class.
+		
+4/23/2003
+
+	*	Change macro local symbol construction to include the local symbol's
+		name to make deciphering errors involving local symbols a little
+		easier.
+		
+	*	Corrected a defect in the construction of a #terminator local symbol
+		table (it was not properly zero terminated) that prevented the use
+		of global (to the macro) symbols within the macro invocation.
+
+4/24/2003
+
+	*	Added open-ended array declarations to const, value, "?", static,
+		and readonly declarations.	
+		
+	*	Corrected a code generation problem dealing with the emission
+		of initialized static array objects (when the base type is an
+		array and you're explicitly extending the number of dimensions
+		in the declaration).
+		
+	*	Corrected a defect in #for( x in yyy ) -- it wasn't doing a deep
+		copy on the values.	
+		
+	***** Version 1.47 Release Occurred Here ********
+	
+4/28/2003
+
+	*	Corrected a defect in an indexed call to a class' static procedure.
+	
+4/29/2003
+
+	*	Corrected several minor code generation defects in parameter passing.
+	
+4/30/2003
+
+	*	Added productions for "movd( mmx, reg32 );" and "movd( reg32, mmx );"
+		instructions.
+		
+	*	Corrected an unexpected case neutrality error when a class' field
+		name is the same as some local name except for case.
+		
+	*	Discovered bug (but cannot correct) objectName.macroname where
+		macroname expands to some other method names - crashes the compiler.
+		
+5/02/2003
+
+	*	Fixed a problem with #include.  If the file didn't exist, didn't
+		always report an error.
+		
+	*	Corrected a kludge in the fileclass.hhf header file that broke
+		while correcting other defects in HLA.
+ 
+		
+	***** Version 1.48 Release Occurred Here ********
+	
+5/10/2003
+
+	*	Allowed the use of the VAL keyword prefix on an actual parameter
+		if the actual parameter is a dword and is passed by something
+		other than by value.
+		
+5/15/2003
+
+	*	Modified declarations for w.FillConsoleOutputCharacter and
+		w.FillConsoleOutputAttribute in kernel32.hhf.
+	
+	*	Changed the definitions for w.STD_INPUT_HANDLE, w.STD_OUTPUT_HANDLE,
+		and w.STD_ERROR_HANDLE (they were positive values and they needed
+		to be negative).
+		
+5/24/2003
+
+	*	Modified stdlib routines to use os.win32 and os.linux constants
+		to determine the OS (used to use definition of _win32 or _linux
+		for this purpose, but the os.xxx symbols are the proper way to
+		do this).
+		
+	*	Re-wrote the console library module to make it portable between
+		Windows and Linux.
+		
+5/26/2003
+
+	*	Added a fileio.flush function to the standard library.
+	
+6/2/2003
+
+	*	Fixed a code generation problem with while/continue.
+	
+	*	Eliminated a lot of extra symbols emitted by HLA for boolean
+		expressions and control structures that use them.
+		
+	*	Fixed a code generation with EXIT and EXITIF.
+	
+6/3/2003
+
+	*	Corrected a defect in the #text..#endtext block (wasn't entering
+		VAL object into the symbol table properly).
+		
+	*	Added the ability to supply an array of strings to the @text
+		function.
+	
+		
+	***** Version 1.49 Release Occurred Here ********
+	
+6/10/2003
+
+	*	Completely reorganized the windows header files (only a single
+		w.hhf header file rather than multiple header files). Reorganized
+		the LINUX header files. Added @fast option to most header files
+		containing namespaces.	
+		
+	*	Eliminated the win32.hhf header file from the Include directory
+		(placed a copy in only those subdirectories where it was absolutely
+		needed). The intent is to phase out this header file over time.
+		
+	*	Eliminated several junk files from the Include subdirectory.
+	
+	*	Made several changes to the Iczelion files and other example code
+		that reflects the changes made to the header files.
+		
+	*	Changed the values in the hla.hhf header file to reflect changes
+		in the enums.h header file.
+		
+6/12/2003
+	*	Corrected a defect in the scanning of string constants that contain
+		a quote character (doubled-up quote).
+		
+	*	Continued changes to the code generator.
+	
+	*** versions 1.50..1.54 occurred here ****
+	
+8/12/2003
+	*	Corrected a problem with FreeValues that was freeing the wrong
+		objects when freeing arrays that were fields of a structure.
+	*	Corrected a code generation problem for arrays that were fields
+		of a structure.
+		
+	*** Version 1.55 occurred here ***
+	
+8/14/2003
+	*	Corrected a defect in static class procedures - was not cleaning
+		up the symbol table properly before leaving.
+		
+8/20/2003
+	*	Fixed a defect in the cs.unionstr2 stdlib procedure.
+	*	Fixed a defect in the cs.removestr2 stdlib procedure.
+	*	Fixed a defect in the date.datePlusMonths stdlib procedure.
+	*	Fixed a defect in the date.daysbetween stdlib procedure.
+	
+8/22/2003
+	*	Fixed a big defect in the date.datePlusDays procedure.
+	
+9/3/2003
+	*	Corrected a bug in the conv.e80ToStr function.
+	*	Made several additional changes to support the ability to
+		call HLA Standard Library routines from MASM32.
+		
+	*** Version 1.56 occurred here ***
+	
+10/3/2003
+
+	*	Corrected a defect in the processing of #ID and #RW.
+	*	Added memory-mapped file support to the standard library
+
+		
+	*** Version 1.56 occurred here ***
+	
+10/6/2003
+	
+	*	Added support for ex.InPageError and ex.NoMemory in
+		excepts.hhf. Corrected lack of checking for several
+		Win32 exception values in hwExcept.masm	
+		
+10/7/2003
+
+	*	Corrected the prototype for w.ScreenToClient in
+		the w.hhf header file.
+		
+	*** Version 1.57 occurred here ***
+	
+10/13/2003
+	
+	*	Corrected a problem with the args module (BuildArgs under Linux)
+		It was not correctly finding zero terminate strings in the cmdLn 
+		string (ECX value was bad).
+		
+10/15/2003
+
+	*	Corrected a problem with the Julian Date conversion in the date
+		module.
+		
+		
+	*** Version 1.58 occurred here ***
+	
+10/17/2003
+
+	*	Modified OutputVMT to emit "externdef" (or comparable) statements
+		for each of the entries in the VMT. This allows some class to
+		inherit fields from some other class whose methods and iterators
+		are not defined in the current source module.
+		
+10/21/2003
+
+	*	Corrected a problem with forward reference pointers that referred
+		to a class type.
+		
+	*	Corrected a problem with the -I option (for Linux).
+	
+	*	Corrected a couple of places where the EXIT statement emitted
+		Windows-specific code (even under Linux).
+
+	*	Corrected a defect in the constant-type conversion functions.
+	
+10/25/2003
+
+	*	Added the "-r:responseFile" command-line option.
+	*	Corrected a defect with "extern" output for VMTs in classes.
+		
+		
+		
+	*** Version 1.59 was released here ***
+	
+10/30/2003
+
+	*	Fixed #write so that if an error occurs the error message is
+		written to "MsgOut" rather than to the file to which #write
+		is writing data.
+		
+	*	Modified the "-v" option to send all output to the standard
+		output (rather than the default of stderr).
+		
+	*	Fixed a problem with the parsing of response file lines to
+		eliminate leading and trailing whitespace from each response
+		line.
+		
+	*	Eliminated a cascading error that occurs when you have an
+		undefined object in a #print or #write statement.
+		
+	*	Modified #print error messages to include #write in the
+		error messages (as #write uses the same code).
+		
+11/18/2003
+
+	*	Added the ability to print array and record constants with #print.
+	
+11/24/2003
+
+	*	Corrected a problem in args.hla stdlib code. Wasn't handling
+		'"' correctly on the command line.
+		
+11/25/2003
+
+	*	Corrected the definition for w.INFINITE in the w.hhf file.
+	*	Corrected a defect in FreeValue affecting unions containing array
+		constants.
+	*	Corrected defects in the str.ne and str.eq functions.
+	
+12/1/2003
+
+	*	Added "::" label declarations to create global labels (e.g.,
+		lbl:: ).
+		
+12/3/2003
+	
+	*	Added support for FASM's new ALIGN directive.
+	
+
+	*** Version 1.60 was released here ***
+
+12/29/2003
+
+	* Modified all the stdlib .hhf files to avoid a small error
+	  due to the use of FLEX (added a ';' after the initial #if( @defined(-))
+	  statement).
+	  
+1/5/2004
+
+	* Slight improvement to code generation for passing a local variable
+	  or parameter by reference to some other procedure.
+	  
+1/14/2003
+
+	* Fixed a problem with the use of the '&' static address operator
+	  in record constants and when outputting static string constants.
+	  
+1/23/2004
+
+	* Fixed a defect in the str.ieq function.
+	
+1/25/2004
+
+	* Fixed a defect dealing with the use of the VAL parameter override
+	  prefix and string/dword actual parameters.
+	  
+2/1/2004
+
+	* Fixed a #include header file problem as required by Linux builds.
+	  
+2/2/2004
+
+	* Added fileio.exists to the HLA Standard Library.
+	* Corrected the spelling of several SSE instructions.
+	
+	*** Version 1.61 was released here ***
+
+3/3/2004
+
+	* Modified #include and #includeonce so that they would look for
+	  an include file in the same directory as the .HLA file if the
+	  include file was not found (this is done *before* looking in
+	  the hlainc path).
+	  
+	* Added lots of code to support the freeHLA project.
+	
+	* Modified "usage" screen in HLA.C to display information
+	  appropriate to build.
+	  
+3/4/2004
+
+	* Fixed a minor code generator bug for FASM output (was emitting
+	  "XLAT", FASM wants "XLATB"). Also tweaked the code output to
+	  stop putting out the "codeAlign" macro (as FASM v1.51 and later
+	  supports a true align directive).
+	  
+	* Modified HLA.C to run FASM/POLINK/PORC for the "freeHLA"
+	  version of the system.
+	  
+	*** Version 1.63 was released here ***
+
+5/20/2004
+	
+	* Fixed a problem with several of the SIMD instructions that didn't allow
+	  register operands for both operands.
+
+	*** Versions 1.64-1.65 were released here ***
+	
+6/18/2004
+	* Added code to use the path to HLAPARSE.EXE as the default
+	  root directories for the hlalib and hlainc environment variables
+	  if these environment variables are undefined.
+	  
+	* Modified HLA to allow the use of @here as conditional jump
+	  operands.
+	  
+	* Added an @external option to the VMT declaration to allow
+	  external access to the VMT for a class.
+	  
+	* Corrected a defect that prevented HLA from recognizing
+	  nested records when one of the nested fields was an
+	  array of records.	
+	  
+	*** Version 1.66 was released here ***
+	
+6/18/2004
+	* Corrected a defect in str.substr that generated an
+	  exception if the destination string was at least as
+	  long as the source string (only needs to be as long
+	  as the substring will be).
+	  
+6/24/2004
+	* Added "-x:filename" option to Windows version of HLA.EXE
+	* Modified HLA under Linux to produce .o files and treat
+	  .a files as library files.
+
+	*** Version 1.67 was released here ***
+	
+7/3/2004
+	* Corrected a problem with the "&" (address-of) operator
+	  not recognizing symbols defined in the forward symbol
+	  list (i.e., declared in a LABEL section).
+	  
+7/6/2004
+	* Added arg.a_v, arg.a_cmdLn, arg.destroy, and arg.args to
+	  the HLA standard library.
+	* Corrected a defect in arg.delete (wasn't freeing storage).
+	* Fixed an error in the date.toString macro in the datetime.hhf
+	  header file.
+	  
+7/10/2004
+	* Redid the fileio.eof function for Windows in yet another
+	  attempt to get it right.
+	  
+7/12/2004
+	* Fixed a problem with class methods and iterators emitting
+	  an "extrn" directive in the extpub file, even though they
+	  were defined in the current source file.
+	  
+7/20/2004
+	* Modified code generator for FASM to emit "xlatb" rather
+	  that "xlat" for the xlat instruction.
+	
+7/22/2004
+	* Corrected a defect dealing with constant/val objects appearing
+	  in records. They are counted as a field and in record constants
+	  the field count didn't match.	
+	  
+7/24/2004
+	* Corrected the definition of "nl" in stdio.hhf to use #$a for
+	  Linux and #$d #$a for Windows
+	* Fixed a bug that crashed HLA if you had a comma without a last
+	  parameter in a macro parameter list.
+	  
+
+	*** Version 1.68 was released here ***
+	
+8/16/2004
+	* Corrected a defect that crashed HLA when using a second
+	  occurrence of a namespace with the @fast option.
+	  
+	* Rewrote the memory allocation routines for both Linux
+	  and Windows in the HLA stdlib.
+	  
+8/17/2004
+	* Added several new exceptions to the system (dealing with
+	  memory management).
+	
+	* Added several new memory management routines, including
+	  mem.zalloc, mem.stat, mem.newref, mem.getref, str.newref,
+	  and str.getref.	
+	  
+	* Changed the behavior of mem.isInHeap. It now returns NULL
+	  or the pointer to the start of the block in the heap rather
+	  than just true/false.
+	  
+	* Modified the str.talloc macro so it could be used with
+	  instruction composition.
+
+	*** Version 1.69 was released here ***
+	
+8/18/2004
+	* Fixed bugs in str.free and str.realloc.
+	
+	* strToFlt wasn't preserving EAX, fixed this.
+	
+8/30/2004
+	* Added "FORWARD" declaration option to statement labels.
+	* Fixed the use of "hlatmp" environment variable by HLAPARSE.
+	
+
+9/14/2004
+	* Corrected a defect in mem.alloc (wasn't preserving EDX and ECX
+	  across a call to w.VirtualAlloc).
+	* Modified HLA.C to use the same environment variable for the
+	  HLA temporary directory as HLAPARSE.C (hlatmp).
+	* Cleaned up some linux installation documentation.	
+	
+	*** Version 1.70 was released here ***
+	
+9/20/2004
+	* Corrected a syntax error in the arrays.hhf header file
+	  (extra parentheses occuring in the test for floating-point
+	   types)
+	   
+9/24/2004
+	* Fixed a problem with the indexing into REAL80 arrays in
+	  the arrays.hla module in the standard library.
+	  
+9/26/2004
+	* Fixed a problem with the mem.isInHeap function.
+	
+10/18/2004
+	* Changed FASM output to use conditional assembly to
+	  "protect" extrn symbols in case the symbols weren't
+	  accessed in the file.
+	  
+	*** Version 1.71 was released here ***
+	
+10/21/2004
+	* Modified symbol table initialization to properly
+	  include REAL80 type in the search.
+	  
+	* Modified several of the zstring routines in the
+	  Standard Library to correct problems with access
+	  bytes beyond the end of a source string (when
+	  doing dword operations).
+	  
+	* Fixed several code generation bugs in movdq2q,
+	  movss, movapd, movaps, movdqa, movdqu, movupd,
+	  movups, movntdq, movntpd, movntps, cvtpd2pi, movnti,
+	  and most of the other SSE/2 instructions.
+	  
+	* Added GLOBAL and GLOBAL2 macros to FASM output to
+	  correct some duplicate symbol problems.
+	  
+	*** Version 1.72 was released here ***
+	
+12/06/2004
+	* Corrected problems in error reporting for Linux versions
+	  of fileio.{write, puts, putssize, putc, and putcsize}
+	  
+12/07/2004
+	* Removed a couple of debug print statements from the lexer
+	  that didn't belong in the production code.
+	  
+12/08/2004
+	* Modified the list.itemInList iterator to preserve ESI across
+	  the FOREACH loop.
+	  
+	* Corrected several NULL pointer problems in the compiler, particularly
+	  in sections dealing with an unexpected number of parameters.
+	  
+	* Removed the "@fast" option from the str namespace because this
+	  namespace gets manipulated in several header files (incompatible
+	  with @fast operation).
+	  
+	* Modified the fileio.{putc, putcsize, puts, putssize, and write} routines
+	  to include additional error checking (under Windows and Linux)
+	  
+	*** Version 1.73 was released here ***
+	
+01/10/2005
+	* Corrected a problem in parameter parsing. Added a call to SavePosn
+	  to fix problem with function calls appearing in ELSEIF generating
+	  bad code.
+	  
+01/11/2005
+	* Corrected a problem with HLA code generation for STDARG (and CDECL)
+	  parameters (good old SavePosn bug).
+	  
+	* Fixed a problem with the Linux version of openNew (added o_trunc
+	  option to clean up an existing file).
+	  
+01/15/2005
+	* Replaced all occurrences of "malloc" with "malloc2" and eliminated
+	  redundant asserts.
+	  
+	* Corrected a defect that allocated zero bytes when processing
+	  a macros variable parameter list (allocation of zero bytes
+	  returns NULL, which messed up the code).
+	  
+	* Replaced all occurrences of "free" with "free2"
+	
+	* Modified malloc2 and free2 to track heap usage, and only do an
+	  actual free operation if the object passed to free2 is truly
+	  on the heap.
+	  
+	* Cleaned up code that back-tracked the output file (for things
+	  like handling boolean expressions and parameter lists). Converted
+	  a ton of "cut&paste" code to subroutine calls so there was only
+	  one point in the code where the backtracking needs to be maintained.
+	  
+	* Modified HLA.C "usage" function to request user input in the middle
+	  of the output if the output is headed to the standard error device.
+	  (To keep the number of lines down to a small screenful.)
+	  
+	* Modified the pushw and pushd instructions to emit "push word ..."
+	  and "push dword ..." for constants when emitting FASM code.
+	  
+	*** Version 1.74 was released here ***
+	
+01/25/2005
+	* Fixed a defect in the computation of the size of an anonymous record
+	  inside an anonymous union, inside an actual record (wasn't computing
+	  the record size properly).
+	  
+03/01/2005
+	*	Fixed a defect in the case insensitive string comparisons routines
+		(wrote a new stricmp routine for the HLA stdlib).
+	  
+03/23/2005
+	*	Corrected a problem with fileio.putl. It was not preserving EBX.
+	*	Modified rchpos2 so that it properly backed up one character
+		before the index supplied before beginning the scan.
+		
+3/24/2005
+	*	Fixed a problem with intmul (didn't allow 32-bit constant operands).
+	*	Fixed a problem with overrides in inherited records (didn't work,
+		wasn't properly inheriting the fields from the ancestor record).
+	*	Cleaned up the AddFwdPtr function.
+	*	Corrected the fact that PUSHD didn't allow pointer constants (&lbl).
+	
+4/24/2005
+	*	Fixed a problem with the fileio.truncate routine under Linux
+	    (had to swap parameters in a linux.lseek call).
+	
+	*** Version 1.76 was released here ***
+	
+5/7/2005
+	*	Fixed a bug that allowed any size except byte objects (e.g., qword)
+		in a memory-to-memory MOV instruction.
+			
+7/31/2005
+	*	Fixed a bug in the Linux version of the BuildArgv routines (args
+		module) that caused a crash because ESI was not initialized properly.
+		
+9/30/2005
+	*	Made a quick correction to the code that outputs CDECL and STDCALL
+		parameters to the ASM file to handle a recurring problem with that code.
+		
+		
+	*** Version 1.77 was released here ***
+	
+10/8/2005
+	*	Added @sort compile-time function.
+	*	Removed ';' after several #if statements in the HLA stdlib header files
+	*	Added HLA.lookupTable macro to the HLA.HHF header file
+	*	Added QSDemo.hla program to examples directory
+	*	Modified the switch/endswitch macro to use the new @sort function.
+	
+10/9/2005
+	*	Modified SWITCH macro to allow use of bubble sort (for large
+		case statements that have [nearly] sorted cases).
+	*	Moved lookupTable macro from HLA to ARRAYs module.
+		
+		
+	*** Version 1.78 was released here ***
+	
+10/31/2005
+	*	Modified code generation for method calls to avoid an instruction
+		of the form "lea esi, [esi+0]" whenever invoking a method indirectly
+		via the ESI register.
+	*	Fixed a problem with accessing static fields of a class that themselves
+		have fields (e.g., static record objects within a class).
+	*	Corrected a problem with the w.getWindowText and GetDlgItemText
+		macros in w.hhf. 
+		
+11/1/2005
+	*	Fixed a memory allocation bug associated with PUSHD( &symbol );
+	*	Added missing VMTs to the font.hla example in the WPA folder.	
+		
+
+	*** Version 1.79 was released here ***
+
+11/2/2005
+	*	Fixed a problem with pat.oneOrMorePat in patterns.hhf
+	*	Fixed a problem with tut23.hla in the Iczelion tutorials.
+	*	Fixed a problem with the stdout.put macro in the stdlib.
+	
+11/07/2005
+	*	Tweaked @ptype to return the exact ptype of an object
+	*	Added @baseptype function to return the base type of an object
+	*	Tweaked @typename to produce better output.	
+
+11/09/2005
+	*	Fixed rawLookup in symbol.c to properly search for field names
+		of a class, record, or union within a Namespace (doesn't use only
+		the hash of the global name). Previously, all identical field names
+		hashed to the same symbol table entry rather than the one specific
+		to the record, class, or union.
+
+11/10/2005
+	*	Added mem.realloc2 to the HLA Standard Library
+
+11/16/2005
+	*	Corrected a field in the w.hhf header file INPUT_RECORD type
+		declaration (EventType must be a dword).
+
+11/17/2005
+	*	Created Windows versions of readkey, testkey, and peekKey.
+
+1/18/3006-
+	*	Fixed a bug in conv.dToStr
+	*	Modified str.strRec fields to be dword rather than int32.
+
+1/19/2006
+	*	Eliminated semicolons after #includeonce in patterns.hhf,
+		dtClass.hhf, and arrays.hhf
+
+		
+
+	*** Version 1.80 was released here ***
+
+3/7/2006
+	*	Major rewrite of the @ptype, @typename, and @baseptype functions.
+	*	Cleaned up stdout.put/fileio.put macro to reflect changes to @ptype.
+	*	Added @basetype function.
+	*	Fixed several bugs dealing with coerced types in stdout.put and
+		fileio.put.
+	*	Modified @name to return an empty string for an invalid name object
+		(previously, this generated an error).
+	*	Create the hla._put_ and hla.put macros to support user-written
+		put macros
+	*	Rewrote stdout.put and fileio.put macros using the new hla.XXX macros.
+
+3/8/2006
+	*	Rewrote all the str.catXXXX routines to make the dest parameter
+		the first parameter (for use by str.put)
+	*	Rewrote the str.put macro. Fixed the fact that it did an
+		append rather than a store.
+	*	Added the str.put2 macro (appends)
+	*	Fixed several bugs in various str.catXXX routines
+	*	Added str.catu128, catu128Size, cati128, cati128Size, catl, and
+		catlSize routines to the standard library.
+	*	Added str.catr32pad, catr64pad, and catr80pad to the stdlib.
+		Modified existing catr32, catr64, and catr80 functions to use
+		a space as the default padding character.
+	*	Modified tons of example code to compile with the new changes.
+
+
+	*** Version 1.81 was released here ***
+
+4/11/2006
+	*	Corrected code generation for pusha and popa.
+
+4/29/2006-4/30/2006
+	*	Corrected code generation for pushw (signed constants outside
+	    the range 0..$ffff).
+	*	Modified the grammar to reject ESP as an index register.
+	*	Corrected a defect in the type checking associated with sldt.
+	*	Corrected a defect in the type checking associated with lsl.
+	*	Swapped the operands of the  cmpXXss, cmpXXpd, cmpXXps, cmpss,
+		cmppd, and cmpps instructions in order to match the syntax of 
+		other HLA compare instructions.
+	*	Added type checking to cmpXXss, cmpXXpd, and cmpXXps.
+	*	Cleaned up grammar for the following instructions:
+			movq, pshufw, cmpXXss, cmpXXpd, cmpXXps, cmpps, cmppd, cmpss
+	*	Modified the following to support anonymous memory addresses:
+			fbst, fbld, arpl, invlpg, lar, lds, les, lfs, lgs, lss,
+			lgdt, lidt, sgdt, sidt, lldt, sldt, lsl, ltreg, streg,
+			verr, verw, cmovXX, cmpxchg8b, fstcw
+	*	Added support for the following instructions (including manually
+		encoding the opcodes):
+			fldenv, fstenv, fnstenv, fsave, fnsave, frstor, pshufd, 
+			shufpd, shufps, psrldq, fisttp
+	*	Manually encoded the following instructions to support MASM6:
+			cmpXXpd, cmpXXps, cmpss, cmppd, cmpps, psllw, pslld, psllq,
+			psrlw, psrld, psrlq, psraw, psrad
+
+	*	Added standard support for the following instructions:
+			smsw, lmsw
+			
+5/1/2006-5/6/2006
+	*	Complete refactoring of the AnonMem and IndexAdrsMode productions
+	*	Generalized the addressing modes.
+	*	Refactored internal representation of registers.
+	*	Improved handling of instruction composition for MMX, XXM, and
+		segment registers.
+	*	Corrected several minor bugs as encountered.
+	*	Increased the maximum allowable stack size (link option).
+	*	Modified CombineAddresses to swap the index and base registers
+		if the index register is ESP, the scale is 1, and the base
+		register is not ESP.
+	*	Added support for LSL( reg32, reg32 );
+
+5/7/2006
+	*	Rearranged register translation table to match register encodings
+	*	Worked on generic instructoin test program
+
+5/9/2006
+	*	Fixed a bug in the str.put macro (removed extra push).
+	*	Modified HLA to emit the constant of "intmul( const, mem, reg);"
+		as a signed integer string rather than unsigned (caused overflow
+		with 16-bit operands if emitted as unsigned).
+
+5/10/2006
+	*	Modified code generator to not put out "*1" after an index register
+		if the person didn't specify this in the HLA source code. This was
+		done because MASM takes liberties with base/index register definitions
+		if you don't explicitly provide a scale and this made testing HLA
+		output difficult.
+
+	*	Reversed the operands on the xadd instruction (they were backwards)
+	
+5/11/2006
+	*	Fixed several $<returns>$ defects (instruction composition) appearing
+		in the code.
+		
+	*	Added a kludge to convert 32-bit register operands for the LSL
+		instruction to 16-bit registers when compiling output for FASM.
+
+5/16/2006
+	*	Modified LSL instruction to emit object code directly because of
+		problems with MASM and FASM.
+
+	*	Modified RET to allow usage without parenthesis (e.g., ret; ).
+
+	*	Modified conditional jump instructions to allow parentheses around
+		their operands (optionally).
+		
+5/17/2006
+	*	Modified PUSHW and PUSHD to emit pushw and pushd under FASM.
+	*	Cleaned up code for CALL and JMP instructions.
+	*	Fixed a code generation bug in the MMX instructions with a 32-bit memory
+		operand.
+		
+5/18/2006
+	*	Added support for (or improved support for) addpd, addps, addsd, 
+		addss, addsubpd, addsubps, andpd, andps, andnpd, andnps, clflush,
+		prefetcht0, prefetcht1, prefetcht2, and prefetchnta. This included
+		direct encoding to support MASM6.	
+	*	Fixed CMPSD so it works for SSE as well as strings. Eliminated old
+		cmpsdp hack (which wasn't really used).
+	*	Binary encoded comisd and comiss for MASM6.
+	*	Implemented (and encoded) the following conversions:
+			cvtdq2pd, cvtdq2ps, cvtpd2dq, cvtpd2pi, cvtpd2ps, cvtpi2pd,
+			cvtpi2ps, cvtps2dq, cvtps2pd, cvtps2pi, cvtsd2si, cvtsd2ss,
+			cvtsi2sd, cvtsi2ss, cvtss2sd, cvtss2si, cvttpd2pi, cvttpd2dq,
+			cvttps2dq, cvttps2pi, cvttsd2si, cvttss2si
+	*	Implemented and binary encoded divss, divsd, divps, and divpd.
+	*	Implemented and binary encoded haddpd, haddps, hsubpd, hsubps, lddqu,
+			monitor, pause, syscall, sysenter, sysexit, sysreturn, maskmovdqu,
+			movhlps, movlhps, xorpd, ucomisd, sqrtsd, subsd, unpckhpd,
+			and unpcklpd.
+	*	Added rsqrtps reserved word to lexer.
+	*	Corrected LAR syntax to correspond to Intel's. Fixed LSL to match LAR.
+	*	Fixed MOVD instruction.
+
+5/19/2006
+	*	Added support for the cmpXXsd instructions (including binary encoding)
+	*	Fixed problems with MOVD and MOVQ instructions.
+	*	Fixed minps.
+	
+5/20/2006
+	*	Tracked down a memory allocation bug in boolean expressions.
+	*	Cleaned up a lot of bad pointer references in the code.
+	*	Fixed JMP instruction to allow all the same targets as CALL (e.g.,
+		made it possible to jump to a procedure declared in a namespace).
+	*	Corrected a defect with the code generation for 16-byte records,
+		classes, and other 16-byte data objects.
+	*	Corrected a bad pointer reference in the classification routines.
+
+5/21/2006-5/26/2006
+	*	Fixed numerous encoding problems in the new code based on the
+		results from the HLA test program.
+
+5/26/2006
+	*	Fixed @global:identifier to allow dotted names.
+	
+6/1/2006
+	*	Optimized the xxxx.put macro to speed it up considerably.
+	
+6/10/2006
+	*	Fixed environment variable stuff under Windows to search for
+		hlalib.lib and include (correctly) if the HLAINC and HLALIB
+		variables are not specified.
+	*	Fixed a couple of problems with the hlalibsrc/strings/makefile.linux
+		makefile.
+	*	Took HLA off of Visual Source Safe and placed it under Subversion
+		source code control.
+		
+6/11/2006
+	*	Modified output to not emit a displacement value of zero in
+		memory addressing modes because GAS will actually emit a zero
+		displacement byte if you do this.
+		
+6/20/2006
+	*	Modified HLA to use "dword ptr" rather than "fword ptr" when emitting
+	    lgdt instructions, and the like, to GAS.
+	*	For various floating-point instructions output to GAS, deleted the
+	    XXXX ptr operand before memory operands.
+
+	*** Version 1.82 was released here ***
+	
+6/26/2006
+	*	Corrected a bug in the #FOR loop. It was not properly clearing the
+		upper 96 bits of the loop control variable.
+
+	*** Version 1.83 was released here ***
+	
+6/28/2006
+	*	Corrected a defect in the code generation of the  "[reg*scale+disp]" 
+		addressing mode.
+		
+
+	*** Version 1.84 was released here ***
+	
+7/1/2006
+	*	Corrected a but in the be_reg code that handled boolean expressions
+		consisting of a single register emitted by instruction composition.
+
+	*** Version 1.85 was released here ***
+	
+7/4/2006
+	*	Corrected a defect in the fileio.exists function. It needed to be
+		opened with sharing enabled for read/write.
+		
+7/10/2006
+	*	Fixed a defect in the HLA.PUT macro (wasn't reporting type mismatch
+	    errors properly).
+		
+7/12/2006
+	*	Rewrote str.a_catz (it was never actually written before, it was
+		just the code for str.catz).
+	
+7/13/2006
+	*	Added instrumention to malloc/free/realloc to track down memory-related
+		bugs in the HLA compiler.
+		
+	*	Corrected a bug where HLA was freeing some storage that was never
+		allocated when processing register operands.
+		
+7/14/2006
+	*	Corrected an issue with semicolons following #endmacro (removed the
+		test for this and eliminated a "pushBackStr" call that wound up pushing
+		a lot of extra junk onto the input stream.
+		
+	*	Eliminated an extra #endif from the end of the arrays.hhf include file.
+	
+	*	Corrected some memory allocation related bugs.
+	
+7/15/2006
+	*	Completely rewrote the way macro parameters are handled.
+	*	Rewrote the way macros are recorded.
+	*	Eliminated several free2 calls on static storage that was not allocated
+		via malloc2.
+	
+
+	*** Version 1.86 was released here ***
+	
+		
+1/20/2007
+	*	Added @system function.
+	*	Added @env function.
+	*	Modified -Dxxx command-line parameter to support the syntax
+		-Dxxxx=yyyy to set a symbol to a string value.
+	*	Added the -lib:<path> command-line parameter and fixed a problem
+		with the -i:<path> command-line parameter
+	  		
+1/21/2007
+	*	Fixed a type checking problem with the @ptype function.
+	*	Added support for ZStrings throughout the code.
+	*	Fixed several bugs in the w.hhf header file.
+	
+1/27/2007
+	*	Fixed a problem with error reporting. Errors occuring in macros
+		that were defined in include files weren't properly displaying
+		the filename when unstacking the macro stack.
+	*	Modified assembler to handle "push( edx:eax );" and "push( dx:ax );"
+		(which emit two push instructions, each).
+	*	Added "string <id>" option to macro parameter list.	
+	*	Modified movsx and movzx to return destination register as the
+		@returns value rather than the source operand.
+		
+1/28/2007
+	*	Added support for "mov( mem64, edx:eax );", "mov( edx:eax, mem64);", and
+	    "mov( constant64, edx:eax );" pseudo-instructions (these emit two mov
+		instructions, each).
+		
+1/29/2007
+	*	Improved code generation for parameter passing in the case where
+		an actual parameter is a register passed as a parameter from the
+		another procedure.
+	*	Added the ability to pass edx:eax and dx:ax as parameters to functions.
+	
+2/6/2007
+	*	Added the ability to specify string constants inside a cset constant
+		(to streamline cset constant syntax).
+		
+2/12/2007
+	*	Added the -level=x command-line parameter to support different language
+	    levels (high, medium, low, and very low).
+		
+2/25/2007
+	*	Added #regex macros.
+	*	Added tons of pattern matching functions for use in #regex macros.
+	*	Added @match and @match2 function to support pattern matching with
+	    #regex macros.
+	*	Added #string..#endstring block.
+	*	Added #match..#endmatch block.
+		
+	
+
+	*** Version 1.87 was released here ***
+	
+2/27/2007
+	*	Corrected stricmp/strnicmp under Linux (replaced code with call
+		to stdlib strcasecmp and strncasecmp functions).
+		
+	*	Corrected problems with @matchString and @matchiString functions
+		in the regular expression interpreter.
+	
+
+	*** Version 1.88 was released here ***
+	
+3/1/2007
+	*	Eliminated #:id feature inside #asm..#endasm block (#asm is going
+		away soon, too).
+		
+3/2/2007
+	*	Cleaned up USAGE message output for HLAPARSE.
+	*	Modified HLAPARSE to default to -level=high.
+	*	Fixed a problem with the -p:path command-line option.
+	*	Added -LICENSE command line option (and text)
+	*	Corrected a problem with the -level command-line option (HLA.EXE)
+	
+3/5/2007
+	*	Fixed a code generation for parameters when passing the address of
+		a static object in a register.
+	*	Fixed a code generation bug that caused a type mismatch when emitting
+	    an array of primitive types (e.g., bytes).
+		
+3/6/2007
+	*	Modified HLAPARSE so that it no longer automatically writes a .link
+		file on each compile (will create the file if it does not exist or
+		if the -@@ command-line option is specified).
+		
+	*	Added the -@@ command line option to HLA and HLAPARSE to force the
+		creation of a new .link file, even if one already exists.
+
+
+	*** Version 1.89 was (sort of) released here ***
+	
+3/13/2007
+	*	Corrected OutValue so that it would properly emit TBYTE array constants.
+	
+3/16/2007
+	*	Fixed a problem with TASM code output. Wasn't generating code to push
+	    static addresses properly.
+	
+	*	Changed "flat" to "FLAT" in TASM skeletal output code to prevent '/ml'
+		option from generating errors.	
+
+
+	*** Version 1.89 was officially released here ***
+	
+3/23/2007
+	*	Added support for segment prefixes
+	
+3/24/2007
+	*	Cleaned up compiler code to reduce the amount of conditional
+		assembly (used run-time variables instead), so as to better
+		support using the internal FASM under Windows.
+		
+	*	Fixed a FASM code generation bug that occured when using constants
+		with floating-point instructions (e.g., fmul(2.0)).
+		
+3/27/2007
+	*	Fixed definition of CanBeType in enums.h that broke when new types
+	 	(e.g., zstring) were added.
+		
+3/28/2007
+	*	Fixed a problem with the initialization of array element types
+		for VAL objects.
+		
+	*	Modified FASM code generation for Linux to output correct section
+		headers.
+		
+3/31/2007
+	*	Finished off use of Internal FASM version to generate object files
+		directly.
+		
+	*	Added -co, -cf, -cm, -ct, and -cg command-line parameters.
+	
+
+
+	*** Version 1.90 was released here ***
+	
+4/4/2007
+	*	Modified doArrayList to allow an extra comma at the end of an
+		array constant (cleans up a lot of array initialization using
+		#for loops).
+	*	Fixed an assertion when MakeCompat was called with CSET operands.
+	
+4/6/2007
+	*	Added code to force a "/" or "\" at the end if a temporary
+		path specified on the HLAPARSE command line (so HLAPARSE no longer
+		requires the trailing directory suffix character).
+		
+	*	Cleaned up some directory separator code in HLA.EXE.
+	
+4/7/2007
+	*	Fixed a defect in the path generation for the -obj: command-line
+		parameter (didn't work right when using the internal version of
+		FASM).
+		
+	*	Added the hlalink environment variable.
+	
+
+
+	*** Version 1.91 was released here ***
+	
+4/22/2007
+	*	Corrected several defects related to #xx character 
+		constants in HLA.FLX (wasn't indexing into yytext properly).
+		
+	*	Fixed a filename problem with HLA.C that prevented it from passing
+		object file names to the linker under Linux.
+	
+	
+	*** Version 1.92 was released here ***
+	
+4/27/2007
+	*	Fixed a code generation problem with hybrid parameters (wasn't
+	    emitting parameter code in the proper place -- wasn't properly
+		restoring the start of each line after processing the hybrid
+		parameter).
+		
+	*	Fixed a problem with the HLAPARSE -P and -OBJ parameters (couldn't
+		handle command-line parameters with spaces in the paths).
+		
+4/28/2007
+	*	Added support for wildcard characters in filenames (windows only,
+		Linux has always supported this).
+	
+	
+	*** Version 1.92 was released here ***
+	
+5/2/2007
+	*	Fixed a problem with the default ".hla" extension in Windows (new wildcard
+		code was not defaulting to ".hla" if no suffix was present).	
+
+	
+	*** Version 1.93 was released here ***
+	
+5/5/2007
+	*	Fixed some problems with the HLAPARSE -OBJ command-line parameter
+	*	Fixed some problems with the HLAPARSE -P command-line parameter.
+	
+5/6/2007
+	*	Tracked down several bugs in hFASM (internal FASM version).
+	*	Refactored some hFASM code.
+	
+5/7/2007
+	*	Corrected a defect in hFASM (at "InstructionAssembled" label -- bad code
+		appeared there).
+	*	Modified the output of the public, external, and equ outputs in FASM
+		in order to reduce the number of sections in the OBJ file. 
+		
+5/8/2007
+	*	Tracked down several additional details with the "InstructionAssembled"
+		problem.
+	*	Fixed a problem with the HLA wildcard expansion -- passed along filenames
+		that FindFirstFile couldn't expand properly (e.g., .lib files that
+		don't appear in the current directory).
+	*	Fixed a problem with conditional jump ranges in hFASM.	
+	*	Converted a jcxz instruction to jeczx in the a_cat standard library
+		routine.
+
+	
+	*** Version 1.94 was released here ***
+	
+5/9/2007
+	*	Fixed a problem with "code" section in internal FASM under Linux.
+	
+	
+	
+	*** Version 1.94 for Linux was re-released here ***
+	
+	
+5/11/2007
+	*	Fixed several FASM code generation problems (sections).
+	*	Added statement composition capabilities to many memory operands.	
+		
+
+	*** Version 1.95 was released here ***
+	
+5/18/2007
+	*	Fixed several problems related to passing paths around on HLA
+		and HLAPARSE command lines.
+	*	Fixed some problems associated with internal FASM and the
+		production of OBJ files rather than ASM files.
+	*	Added the ability to specify full pathnames as HLA filenames.	
+
+		
+
+	*** Version 1.96 was released here ***
+	
+5/23/2007
+	*	Corrected a defect in the HLAPARSE outPath variable (was freeing
+		storage that was not malloc'd).
+			
+7/25/2007
+	*	Added HLAstdlibVersion constant to hla.hhf
+	
+7/26/2007
+	*	Corrected a defect in the "classes" table used by setClassification.
+		Brought it into sync with the SymClass data type in enums.h
+	
+	*	Modified setClassification to properly return the symbol classification
+		of a dotted name sequence.
+	
+	*	Modified the CoercedMemory production in hlaparse.bsn to handle
+		several additional address expressions involving record/union/class
+		fields and indexed expressions.
+		
+	*	Added "NULL" as a valid constant value for the classify production.
+	
+7/27/2007
+	*	Added support for "@-functions" to the classify code. This allows
+		testing of @pointer, @byte, @word, etc., in compile-time functions
+		like @isconst and so on.
+		
+7/29/2007
+	*	Modified PrintString in output.c so that it output string literals
+		with a maximum of 64 characters per statement (MASM was complaining
+		about statements being too long when outputing 256 character
+		strings).
+		
+8/9/2007
+	*	Modified PrintString in output.c to handle the case where a
+		64-character string was followed by a non-graphical char
+		(which resulted in a MASM syntax error when HLA emitted an empty string).
+		
+8/14/2007
+	*	Fixed an indexing problem with the @uppercase and @lowercase CTL functions.
+
+8/16/2007
+	*	Fixed a default path problem with header files including other header files
+		when the header files appear in a directory other than the cwd.
+		
+	*	Fixed a problem with nested coerced memory operands appearing in
+		compile-time expressions.
+		
+	*	Fixed a bad pointer problem that occured when reassigning data to an
+		array VAL object.
+		
+	*	Added "-code1st" command-line option and code to support it (to put the
+		machine instructions before the read-only data in the source output file).
+		
+8/30/2007
+	*	Improved code generation for certain byte parameters passed to procedures.
+		If the parameter being passed was a byte parameter in an enclosing
+		procedure, the code now just pushes a dword rather than going through
+		the gymnastics to push a byte.
+	*	Did the same thing for word parameters being passed as parameters to
+		another procedure.
+		
+8/31/2007
+	*	Corrected a code generation problem when passing a tbyte constant
+		as a value parameter (was only pushing 4 bytes previously).	
+		
+9/10/2007
+	*	Added support for classes and namespaces to @localsyms.
+
+		
+
+	*** Version 1.97 was released here ***
+	
+9/17/2007
+	*	Added support for enums to @localsyms.
+	
+9/19/2007
+	*	Corrected a defect in the classify function that prevented HLA
+		from recognizing -1 or !1 as constant expressions.
+		
+9/21/2007
+	*	Modified "PrintString" in output.c to use unsigned chars rather
+		than (signed) chars, to avoid sign extension of character values
+		greater than $7f.
+		
+9/24/2007
+	*	Modified how _argv is saved under Linux.
+	
+9/29/2007
+	*	Fixed a problem with processing record constants for objects that
+		were really unions.
+
+
+	*** Version 1.98 was released here ***
+	
+10/28/2007
+	*	Corrected a problem with the output of 64-bit values to a
+		GAS assembly language file.
+	*	Corrected a segmentation fault occuring in strcpylc when
+		it reached the end of a page.
+	*	Corrected a type checking problem with enum values.
+	
+
+	*** Version 1.99 was released here ***
+	
+1/10/2008
+	*	Fixed a problem with strcpylc accessing data beyond a
+		page boundary.
+	
+
+*/
+