for version 0.0.* - implement blocks * every block has to have its own identifier list. Additional a reference to to the upper block should be part of a block to realize variable lookup in upper blocks. * every block contains a statement list, that hold all statements that occured within the block. * a block is as itself a statement, that could be part of a statement list. * blocklocal, global and parent variables variables in general are block local. This means, using varable a within a sub-block does not affect an existing variable a within a parent block. Every block can contain one optional globals declaration section. This is a special block, wich declares identifiers to be used as global (topmost block) identifiers. If a non-existent identifier is deklared in such a section a global variable is created. Additionally there will be a _parent_ operator for use with an identifier. This will allow one to access a variable used (and therefor deklared) somewhere above the local block. If no variable with this identifier can be found an error message is shown and processing will stop. - implement loops and conditionals * first the statement directly following the loop or conditional tokens is saved. * the this is executed 0..n times depending on the loop or conditional. - ich habe herausgefunden das alle Ausdrücken in denen Variablen vorkommen auch in einen statement stack aufgenommen werden müssen. Nur konstante Ausdrücken können direkt ausgewertet werden und muessen nicht in den AST (abstract statement tree, ist faktisch aber eher ein stack da jeder branch unmittelbar ausgeführt wird). Ups, sorry this is accidently german. - Add an interface to access the variable space of the interpreter from within a C program in an easy way. - add CGI-lib for parsing of requests. - write a first test-webapp. - code cleanups - comment the code more completely. - date Datentyp hinzufügen - Modifizierer für das Ausgabeformat hinzufügen. => we come to version 0.1.0 ========================================================================= for version 0.1.* - implement Sessions * How to work with cookies? * Sessionvariables will be saves within a BerkDB. - maybe begin of an application-server, that preserves the state of an application between its calls via cgi. - allow and implement includes within templates.