Convert the AST-tree provided by the chapel frontend into an intermediate structure representing the program to be generated. The following tasks will :
[ ] perform a symbol table pass - the symbol table pass will build symbols, identify scopes, and create the symbol table
[ ] perform intermediate pass - convert the AST into the intermediate structure; enforce the same scoping rules as the symbol table pass (walk the symbol table's scope tree) and utilize the symbol table to resolve identifiers/variables in the program during intermediate structure creation.
Convert the AST-tree provided by the chapel frontend into an intermediate structure representing the program to be generated. The following tasks will :