The XYZ language.
It is important to document each step in order to make it easier to write the thesis.
XYZ is a programming language in the form of a learning experiment to gain insight into language design and code interpretation. It sports a strongly typed system, which will make it more difficult for Undefined Behaviour to arise at compile time.
The project is divided in four stages.
State of the art [ Started 2019-nov-05 ]1 -
A look into already existing programming languages, their strengths and weaknesses and possible lessons learned for XYZ.
2 - Formal language specification
XYZ features, type system, flow control, functions, arguments, I/O, etc.
3 - Compiler design and implementation
Design lexical, syntax, and semantic analysis. Intermediate code generation. Optimisation. VM code generation.
4 - VM design
Virtual Machine architecture design.
We love open source. All work regarding XYZ will be completely open source. From design to implementation, thesis paper included. The MIT License will be used to this end.