TODO
2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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.