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.