Hmm.. That is some very interesting stuff there Nuno... If I have time I might look into the possibility of a compiler designed to do graphics in very high speed or something to that effect. Ie. No bloat from libs as they are run at HW speed which would be nice indeed. Good luck on your compiler. If I was to evaluate expressions I would do something like:

1) find the number of brackets
2) for each bracket 'level' or sub brackets work those out and feed that back into the processor until the bracket level reaches 0
3) In each process I would identify what is a number and what is not (ie numeric first char or otherwise) and sub in values where required.
4) Process each part in BODMAS order (of if statements or similar)

Don't know if it helps but if nicely implemented it might run well. I'm working on an interpreter for rapid prototyping and debugging of my APIs and programs so I'm getting some similar challenges. Hence the use of the document Nuno posted: take interpreter and feed into binary. Done.