#ifndef MCC_TAC_BUILD_H
#define MCC_TAC_BUILD_H

#include "ast.h"
#include "symbol_table.h"
#include "tac.h"

// builds tac by parsing program
struct mcc_tac *mcc_build_tac(struct mcc_ast_program *program, struct mcc_symbol_table *st);

struct mcc_tac *mcc_tac_parse_statement(struct mcc_ast_statement *statement, struct mcc_tac *tac);

void mcc_tac_parse_statement_list(struct mcc_ast_statement_list *stl, struct mcc_tac *tac);


#endif