## Summary
This PR updates the fields in `Program` struct to be private and exposes
methods to get the values. The motivation behind this is to encapsulate
the internal representation of the parsed program which we could alter
in the future.
## Summary
This PR updates fixes one of the `FIXME` comment to assert that the
parser is at one of the possible augmented assignment token when parsing
an augmented assignment statement.
## Test Plan
1. Add valid test cases for all the possible augmented assignment tokens
2. Add invalid test cases similar to assignment statement