|
|
@@ -1,40 +1,3 @@
|
|
|
-# Roadmap for building the pity interpreter
|
|
|
+# Roadmap for building the maat 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
|
|
|
-5.
|
|
|
-
|
|
|
-- Call friends/(or why not me?) to make windows installer GUI app
|
|
|
+- Define platforms independent data types
|