Roadmap.md 1.5 KB

Roadmap for building the pity interpreter

  • Build the AST data structure
  • Build pity lexer and test
  • Implement the basic functionality of Pity objects just for the sake of completely accomplish the parsing process and test
  • Write a module for interacting with PRCE2 and implement the Regex and Match object
  • Build AST by parsing Tokens
  • Write Deparser for testing AST
  • Setup the list of pity vm opcodes
  • Build compiler data structure
  • Implement the compiler and its debugger (While compiling, apply Tail Call optimization and NaN Boxing). Test, test, and test
  • Implement the bytecode runner. Test, test and test
  • Complete the implementation of pity objects, test, test and test
  • Optimize the AST with the following optimizations
  1. Constant folding, test AST by deparsing
  2. Common subexpression elimination, test AST ...
  3. Dead code elimination, test AST ...
  • Apply the following optimization during the compilation process
  1. Constant propagation, test compiler
  2. Code hoisting, test compiler
  3. (Maybe)? Register Allocation, test compiler
  • Make the deparser be pityfy for pityfying
  • Test language features individualy
  • Test objects
  • Write 150 rosetta codes to test pity as a whole
  • Write documentation
  • Call friends to make builders for plan9, BSDs, Linux, Mac and Windows platforms
  • Call friends to setup CI/CD pipeline to package build pity for the following linux and BSD distributions
  1. (Open|Free|Net)BSD
  2. Debian & Ubuntu
  3. Alpine Linux
  4. Archlinux
  • Call friends/(or why not me?) to make windows installer GUI app