ChangeLog 2.84 KB
0.0.1:	First test with a bison grammar and flex scanner. Process simple
			statement as in the examples contained in the bison docs.
0.0.2:	more work on grammar (add loops and conditionals, experiments), 
			also add tplparser.[ch] that serves for general purpose grammer
			actions.
0.0.3:	brought the grammar to a more or less final state.
			Add several functions for procession different expressions.
			Add variables.
			Do some leak checking.
0.0.4:	Finalize variables with adding support for arrays and hashes.
			A word to variables:
			- There is no need to declare a variable. As soon as one assigns
			  something to an identifier, that identifier holds that value.
			- It is an error to use a variable that has no assigned value
			  within an expression.
			- Assigning a new value to a variable simply overwrites its
			  previous content. There is no way to recover the previous
			  content.
			- The above is also true if the variable was an array or hash.
			- Variables can be of type INT, FLOAT or STRING. If you use
			  Variables or values of different type within an expression
			  implicit casts are done. For rules of implicit casts see below.
			- There is actually no way to explicitly cast a variable, but that
			  may change in future.
			- Rules for implicit casts are:
			  * normally the first operand of an expression specifies the
			    resulting type. All following operands are implicitly cast to
				 the type of the first operand.
			  * The only exception to this is if one of the operands is a
			    sting. Then all other operands are implicitly cast to string.
			Again do some leak and memchecks.

0.0.5:	implement explicit casts
			put all things in a sane autobuild package.
			called the whole thing: tepal "TEpal is a template PArsing Library"

0.0.6:	25/11/2006 lots of code cleanups to prepare to code to use AST
			all expressions have now an own datatype. That reduces the grammar
			file a lot (and makes it easier to keep it conflict-free) because
			i do not need to distinguish between int, float and string in the
			grammar right now.
			Also expression computation has become much cleaned.
			I also change the behaviour of freeing data. No function frees
			any of it calling parameters. This results in a lot of
			memory leaks right now. !!!IMPORTANT!!! That has to be fixed soon!
			---
			Already fixed some leaks, but some still remain.

			26/11/2006 more leaks resolved
			well, right now no leaks remain when i use tepal with my test
			index.html
			---
			If an undefined variable is used an error message is given.
			!!!FIXME!!! I need a way to maintain the complete variable identifier
			to tell it with the error message.

0.0.7:	AST implemented
			a very big step is done. An ast is implemented. Everything works as
			before, but right now to demontrate the functionality of the ast also
			if statements are computed correctly.