Menu

YAS: Yet Another Script language

JEngine SSE has had a custom scripting language for a while now. Up until now it always has been referred to as 'script language' or just script. For a long time I have been thinking about a proper name, which is one thing I am not very good at, hence the simple name. Today I decided that I will go with the name YAS : Yet Another Script. In the coming period I will update the documentation here on SourceForge.

During the past months I have been working on a side project, namely porting Mono to my NAS system containing a E500 PowerPC cpu. While working on it, I learned a lot about machine code generation and compilers in general. Now I want to use this knowledge in the YAS compiler to make it generate better code, and improve the speed of the interpreter.

To make this possible I introduced a compiled intermediate language (CIL) in the compiler. This language can be used for multiple features:

  • Save and load: instead of fully compiling the file every time, the CIL code can be streamed to and from a file to decrease the load time of a game.
  • Source for byte code generation: I am planning to implement register based interpreter next to the stack machine. With CIL it is easier to generate code for both types of interpreters.

I hope to have the stack based interpreter working again soon.

Posted by Jeroen Broekhuizen 2013-04-28 | Draft

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.