Menu

status

I'm awaiting approval from my boss to release the src code. (The src *will* be released... I've spent far to many nights and weekends working on this for it to not be released.) Hopefully this will only take a week or two. In the mean time I am going to start working on some much needed documentation on how the language works, and some examples.

Quick status of the project: the grammar is pretty stable these days; the interpreter works and appears to be pretty solid; the compiler is fairly recent code, but so far seems to be pretty stable; I need to go back and revisit the built-in types, work on a more well defined class hierarchy for the built-in types, and perhaps revisit the getMember vs. getTypeMember (which is fairly important for the built-in types, which are implemented as java classes... a java class has type members, whereas a script object has instance members... the difference becomes important when a built-in type (or java type) is subclassed by a script object.); also, need to add Thread built in type (oscript.data.OThread) so that script code can create new threads.

For those curious about performance, the oscript interpreter is about half as fast as the fesi javascript interpreter, whereas compiled functions are about twice as fast as interpreted fesi functions. In interpreted mode, I don't think we will ever be as fast as fesi, due to the fesi interpreter not actually implementing true nested scope. As far as compiled code goes, I still have a some ideas for optimizations for further speed-ups. (The figures for compiled code get even better for functions that are called frequently, or for code that has lots of loops.)

Posted by Rob Clark 2000-12-20

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.