Writing my own scripting language was a very interesting project. I’ve written parsers before, but writing a lexical analyzer and creating byte code for a Guildhall@SMU project was enlightening.
The language that I wrote is a simple C like scripting language with a few native functions. It is described with a traditional grammar syntax that describes a simple subset of expressions, factors, blocks, and statements.
The language supports integer, float, vectors (arrays), and strings. It uses scoping rules like the traditional C syntax where variables expire when the block they were created in is exited.
The script files could also be compiled into a binary output file that is fast to parse with very little overhead.
Using the knowledge that I gained from this project, I’ve been able to debug other scripted languages, like UnrealScript, and apply some of the same techniques to deferred operations, such as rendering.