ChangeLog
2.84 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
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.