Writing a little scripting language parser for cutscenes/events in The Melodist. First time successfully writing a language recursive descent parser that generates an abstract syntax tree; this has been notoriously difficult in the past for me, for whatever reason. The text on the left is generated from the abstract syntax tree, which is created from the text passed into the parse_script function.