TODO 2.37 KB
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.