FAIL: Interpreted Scripting Language:
FAIL is a state machine scripting language I implemented during my fourth term at the Guildhall. It features onenter and onexit blocks and supports nested states. The language is weakly and dynamically typed, supports inner functions, and includes string and vector primitives. It has been tested on recursive versions of fibonacci number series and factorials as well as common algorithms such as quicksort.
For this language project I did the following:- Wrote a grammar and lexical analzyer for the language
- Implemented a parser to create a syntax tree from the token stream
- Built a compiler to output bytecode from the syntax tree
- Created a virtual machine to run the language