added do/while loop support.
working on variable scope.
changed grammar to a hybrid C# style
added a undefined data type
added NaN support for undefined