These notes reflect changes to the Chaga compiler.

version 0.6.1
  * Added support for procedure declarations with between zero and six parameters (inclusive).

version 0.6.0
  * replaced "float" datatype with "real" datatype.
  * replaced "!=" (NOT EQUAL) with "<>" in Chaga compiler.
  * replaced "&&" with "AND" to indicate Boolean AND operator in Chaga compiler
  * replaced "||" with "OR" to indicate Boolean OR operator in Chaga compiler.
  * replaced "!" with "NOT" to indicate Boolean NOT unary operator in Chaga compiler
  * added "XOR" for Boolean XOR operator to Chaga compiler.

version 0.5.6
  * Added support for WHILE statement in the Chaga compiler.


version 0.5.5
  * Fixed bug: tokenize_input_file() was not properly recognizing unary plus or minus operator in specific situations.

  * Added a run-time expression evaluation engine to compute the result of a Boolean, numerical, or mixed Boolean-numerical expressions. Prior versions of Chaga did this expression processing at compile-time by issuing Intel x86 assembler statements to compute subsets of a complex expression based on operator precedence. Now the same operations are done at run-time rather than compile time. This greatly simplies the compiler process but makes run-time evaluation more complex. Why did I make the change? With the run-time expression evaluator, I can convert different datatypes (e.g. Boolean, integer, and float) on-the-fly to ultimately compute a result. I needed a means to convert various datatypes (if applicable) and compute results as I prepare expression evaluation for branching statements (IF-THEN-ELSE).

  * Merged Boolean and numerical expression processing in create_abstract_syntax_tree into one unified expression evaluator.

  * Added support for IF-THEN and IF-THEN-ELSE statements in the Chaga compiler.


version 0.5.4 
  * Added float datatpe and float math functions. SET and PRINT statements work with float datatype. Chaga compiler requires libchaga-0.5.1 for linking compiled applications.


version 0.5.3
  * Fixed bug: modulo function for integers was returning one (i.e. quotient) rather than zero (remainder) when the the numerator and denominator are the same. 


version 0.5.2
  * Added Boolean datatype and Boolean expression processing. SET and PRINT statements work with Boolean datatype.


version 0.5.1
  * Added integer division and modulus (remainder) functionality to the compiler.

  * Added one new Chaga test program to showcase the division and modulus functions.


version 0.5.0 
  * Chaga compiler first public release
