Hello World

- AST changes
  - Expressions cannot be statements
  - functional calls can be expressions or statements
- refactor AST printing to be uniform and separated from the types declaration
  - removed redundant print methods
- split SAST variable declarations and assignments into two different types
- split SAST checks, printing and helper methods into separate files
- add string literals support in code generation

# - Got Hello World to Compile and Test in CI!
translator is from AST --> SAST. It performs some of the semantic checking by confirming that expressions are of the correct type as it transforms them.