diff --git a/README.md b/README.md index cb89f97..775c678 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,11 @@ Currently the stages are as follows: a format that is easier for the computer to process. The AST itself lives in [`src/ast.h`](src/ast.h), and the code for the parsing phase lives in [`src/parsing.cpp`](src/parsing.cpp). -4. **TODO:** Typechecking phase hasn't yet been developed, but it will go here. +4. In the typechecking stage we do static analysis on the generated AST to make + sure expected types match true types, and do other checks (such as checking + that the correct amount of parameters is provided in function calls). The + source code for this stage lives in + [`src/typechecker.cpp`](src/typechecker.cpp). 5. Finally the program is **compiled**, or in other words **code-generated**, hence why this is the **codegen** stage. This is where the AST from the previous stages is taken and LLVM Intermediate Representation is produced