Menu

Notes...

an update on some of the things I am working on, and plans for the future:

* NodeEvaluator/NodeEvaluatorFactory - a common interface which both the compiler and interpreter implement. Basically a plug-in interface for the mechanism to evaluate parsed script code.
* InputSource/InputSourceFactory (names subject to change) - a common interface for reading/writing a "file". Basically the script-path will be a list of InputSourceFactory... when you do something like 'import "somefile.os"' it will walk thru the list asking each InputSourceFactory to resolve the file until one succeeds. The InputSource will have a getInputStream()/getOutputStream() interface. It will probably need something like a getSize() method too for caching...
* caching - it would be nice to be able to cache a parsed file (complete with the NodeEvaluator which would contain the compiled bytecode...), as well as the compiled java wrapper classes. Not having to re-generate all this stuff everytime the interpreter is restarted would speed things up greatly. The trick is knowing when an entry in the cache is out of date. I have some ideas for caching src files (ie size+CRC or brute force it by storing the whole original file and doing a diff), but I am not quite sure about how to determine if a java wrapper class needs to be regenerated...
* debugger - it's needed. I am not sure if it will only be supported by the interpreter. Debugger will be either an interface or abstract base class, so there can be multiple front-ends... initially there will probably be a cheezy text front-end, but eventually there will be a fancy gui...

Posted by Rob Clark 2001-09-07

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.