[ ] Add support for multidimensioan arrays and arrays of records.
[ ] Add support for recursive routines.
[ ] Allow using arrays/records as global variables and routine arguments.
[ ] Generate fmt consts as needed and remove is_first_routine hack.
[ ] Visiting identifier should only assign to tmp_p, loading into tmp_v should be done in AssignmentStatement only (this will make the IR much shorter).
is_first_routine
hack.