Still in testing.
It works much better now; I fixed some snags and introduced a lot of functions directly into eval.
I added the "+" operator for the strings, the % (modulo) for numbers, the comparison between strings (== and !=), the operators shift left << and >>shift right.
you can write code like this:
memclear
print eval(replace("abcdef","c","d"))
print eval("Number of wifi avail : "+str(wifi.scan()))
print eval("First Network Available: "+wifi.ssid(1)+" "+wifi.rssi(1))
print eval("What is My IP ? "+ip())
print eval("First part of my IP "+mid(ip(),1,3))
print eval("What is the char 65? :"+chr(65))
print eval("What is the ascii code of the char A? "+str(asc("A")))
let a = 50
for i = 0 to 200
let k = eval(sin(5*i)*cos(5*log(i)))
serialprintln ramfree()
delay(1)
next i
print eval((a+b)*c)
let L = 2048
print eval("Nb of bits for "+str(L)+" :"+str(log(L)/log(2)))
print eval(8<<2)
print eval(255>>3)
Still work in progress.
Cicciocb