Further Work
There are a number of extensions which could be made to this project. These fall broadly into two categories: small, incremental improvements to the development environment, and larger developments, which might well constitute a project in their own right.
Small Developments
- Improvements to the robustness of the IDE - if Kenya were to be used in a classroom environment, more work would have to be done to make sure that it stood up to the rigours of laboratory use.
- The provision of file handling in Kenya - file handling is a fairly fundamental thing to want to do, allowing programs to be run with larger amounts of data than can be easily input by hand.
- The addition of graphical output to Kenya - Java's Swing libraries make it relatively easy to produce graphical user interfaces for programs, and it might be possible to provide the same sort of functionality in Kenya.
Larger Developments
- A step through debugger - allowing users to step through the execution of their program one instruction at a time, and to examine the contents of variables as they do so, is very valuable when debugging. This would probably mean creating an interpreter for Kenya code rather than translating it to Java, compiling and runnning on the Java virtual machine.
- Improvements to the error reporting - errors are currently reported in terms of unexpected tokens, incorrect types etc. It would be interesting to try and provide error reporting which identified the cause of the problem, not just the symptoms.