We need to build up symbol tables and do some semantic analysis.
[ ] Type checking (straight forward we don't have a super varied number of types but we do have custom types which may be tricky)
[ ] Semantic analysis (honestly I think this is just checking for a main function and making sure the inputs and outputs are good)
I do want the main function to take in some object that encodes the command line arguments instead of just an array of strings and then can output another object that can be passed into some other program
But for now we can just ignore the inputs and the outputs and just look for the main function
We need to build up symbol tables and do some semantic analysis.
I do want the main function to take in some object that encodes the command line arguments instead of just an array of strings and then can output another object that can be passed into some other program
But for now we can just ignore the inputs and the outputs and just look for the main function